软件安装
首先安装必要的软件和驱动
#pkg install -y pam_kde kde5 xorg drm-kmod dbus wqy-fonts sddm xf86-video-intel libva-intel-driver
图形硬件
上面这条命令安装必要的软件和驱动,其中sddm是kde系统登录界面,如果你打算从命令行启动kde图形界面而不是计算机一启动就自动进入kde图形用户登录界面的话可以不安装这个组件,那么后续关于sddm的配置也可以省略。drm-kmod是freebsd从Linux移植过来的显卡驱动,该驱动支持Intel和amd显卡。xf86-video-intel、libva-intel-driver提供对视频播放硬件解码的支持。另外我发现,如果不安装上述2个软件,则可能无法在kde下实现桌面环境窗口内容的垂直同步从而在拖动窗口的时候产生撕裂感(即使在kde设置中强制开启垂直同步)。
上面的软件包drm-kmod会将intel和amd的显卡驱动安装到系统中,但不会加载它,用户需要按照自己设备上安装的显卡选择加载哪个驱动文件,将该文件写入到/etc/rc.conf中以实现在系统启动时自动加载驱动。由于我的设备使用的是intel的hd5500核芯显卡,因此加载i915kms.ko文件。下面这条命令将i915kms这个驱动文件写入到系统加载项中:
#echo 'kld_list="/boot/modules/i915kms.ko"' >> /etc/rc.conf
关于各显卡硬件对应的驱动文件名和设置相关,也可以参照freebsd官方文档:(链接)
音频硬件
图形环境配置完毕后,接着来配置音频环境,以下命令使声卡驱动随系统启动。
#echo 'snd_hda="YES"' >> /etc/rc.conf
freebsd自带的oss音频框架及驱动已经正确地识别出了我的声卡(ALC283),通过查看/etc/sndstat文件即可确认声卡是否工作正常。然而除了系统启动时的“噗”一下声音代表声卡启动成功外就再没有声音了。查阅了freebsd的声卡配置文档(链接)后按照文档所述修改了默认输出接口到机箱前部模拟输出,依旧没有声音。百般查找终于在这篇老外的求助帖(链接)中找到了解方:需要将声卡的polling属性值设置为1。执行以下两条命令来在系统启动时自动设置声卡属性:
#echo "dev.hdac.0.polling=1" >> /etc/sysctl.conf #echo "hw.snd.default_unit=1" >> /etc/sysctl.conf
hw.snd.default_unit值在系统启动时自动设置默认输出端口,一般值为0时,音频自机箱后方3.5mm插孔输出;值为1时,音频自机箱前方3.5mm插孔输出。要查看当前系统的默认输出端口,可以查看/etc/sndstat文件。
KDE桌面
由于kde依赖于procfs,因此向fstab中写入procfs的挂载项。编辑/etc/fstab,加入下面这行:
proc /proc procfs rw 0 0
同样,为使kde支持在普通用户下实现关机、重启功能,需要启用dbus和hald。可以通过bsdconfig这个命令来启用这两个服务随系统启动,也可以直接键入下面这两条命令来使其随系统启动:
#echo 'dbus_enable="YES"' >> /etc/rc.conf #echo 'hald_enable="YES"' >> /etc/rc.conf
如果你希望系统启动后自动进入图形的用户登录界面(像Windows、MacOS那样),在安装sddm后,需要将sddm加入开机启动项中,执行如下命令使其随系统启动:
#echo 'sddm_enable="YES"' >> /etc/rc.conf
接着,为了使XServer启动时默认启动kde桌面环境,需要将kde启动程序写入x环境初始化配置文件中(对于每一个需要登录到kde的用户都需要预先在其账户下执行此命令)。
$echo "exec /usr/local/bin/startkde" > ~/.xinitrc
中文输入
如果要在kde中实现中文输入,则需要安装中文输入框架和中文输入法,键入并执行下面的命令
#pkg install zh-fcitx zh-fcitx-configtool fcitx-qt5 fcitx-m17n zh-fcitx-libpinyin
若要使中文输入法随kde桌面一同启动,则可将其执行文件的链接放入kde的自动目录中,在每个需要使用kde桌面的用户下执行如下命令:
$mkdir -p ~/.config/autostart $cp /usr/local/share/applications/fcitx.desktop ~/.config/autostart/
pkg install xorg kde5 sddm open-vm-tools xf86-video-vmware
之后执行命令:
pkg install xorg kde5 sddm open-vm-tools xf86-video-vmware
由于从网络下载的文件比较大,因此若遇中断,重新执行即可。安装完成后,用bsdconfig命令调出管理器,在startup->Toggle Startup Services中找到dbus_enable、sddm_enable、hald_enable并开启,网上有资料说还要开启moused_enable,网上还有资料说要修改/etc/tyys,对于前者,个人建议还是免了,效果真心不佳,对于后者,那应该是一种比较古老的做法,目前的做法是开启sddm_enable,其实这样也比较省事。
不过到此前期工作并未完成,我们还要修改/usr/local/etc/pam.d/sddm,将其中四处位于include之后的login,给替换成system,否则进入KDE界面,root用户无法验证通过。如果忘记了,可以在登陆界面按下Ctrl+Alt+F2,回到命令行下进行修改。reboot操作系统,FreeBSD就进入可视化界面了。