ArchLinux KDE Plasma安装及常见问题
去年11月我写了一篇ArchLinux安装GNOME桌面,也正是那时候我将电脑的主要系统从Windows转到了ArchLinux。诚然, gnome 很好,如果你需要一个不需要折腾就能用的桌面环境,那么 gnome 是一个不错的选择。
我一开始也是这么想的,直到……今年 KDE Plasma 6 发布了。我不得不说,KDE Plasma 6 的演示视频真的很吸引人,所以我决定尝试一下,于是我又折腾了一遍系统,这次安装的是 KDE Plasma 桌面。新的大版本发布,肯定有大量的问题,尤其是搭配 NVIDIA 和 Wayland 这两个离谱的玩意。Wayland 由于 x11 历史包袱太重,经常出现兼容问题(尤其是 Chromium),而 NVIDIA 一直以来都是 Linux 用户的痛点,Linus 骂的一点都不冤。
现在新系统用了也有一段时间了,是该动笔记录一下,免得下次装又到处找资料。这次文章分两部分:安装 KDE Plasma 桌面和常见问题解决。欢迎大家在评论区补充。
安装 KDE Plasma 桌面
Arch Linux 的安装已经老生常谈了,见安装 ArchLinux & Windows 双系统。这里只记录安装 KDE Plasma 桌面的步骤。
首先,经过一系列的安装步骤,你应该已经进入了 ArchLinux 命令行,并有了一个属于 wheel
组的非 root 用户。接下来,我们就可以安装 KDE Plasma 桌面了。
sudo pacman -S plasma-meta sddm networkmanager bluez-utils
官方提供了多个包,plasma-meta
是一个元包,包含了 KDE Plasma 桌面的所有组件基本组件。此外,你也可以选择 plasma
包组,它包含的软件和 plasma-meta
是一样的,关于元包和包组的区别,可以参考ArchWiki | Meta package and package group。还有两个可选的包:kde-applications
和 kde-applications-meta
,它们包含了一些额外的应用程序,比如 Dolphin 文件管理器、Konsole 终端等。但是这里我选择后续自己安装需要的应用程序。
sddm
是 KDE Plasma 的默认登录管理器,networkmanager
是网络管理器,bluez-utils
是蓝牙管理工具。
不要急着启动桌面,这时候我们还没安装终端模拟器,进去就出不来了(笑)。接下来我们安装终端模拟器、文件管理器。
sudo pacman -S konsole dolphin
konsole
是 KDE Plasma 的终端模拟器,dolphin
是 KDE Plasma 的文件管理器。
接下来我们启用 sddm
服务,这样就会直接进入 KDE Plasma 桌面了。
sudo systemctl enable --now sddm
在桌面环境下打开 konsole
终端,启动 networkmanager
和 bluetooth
服务。
sudo systemctl enable --now NetworkManager bluetooth
常见配置
中文字体
我推荐 noto-fonts-cjk
,它是 Google 的开源字体,支持中日韩文。此外,noto-fonts-emoji
是支持 emoji 表情的字体,noto-fonts-extra
是支持更多语言的字体。
sudo pacman -S noto-fonts-cjk noto-fonts-emoji noto-fonts-extra
然后进入系统设置,把语言设置为中文,注销重新登录。
一些常用程序推荐
- 浏览器:Firefox
firefox
、firefox-i18n-zh-cn
或 Chromiumchromium
,我选择两个都要~ - 图片查看器:Gwenview
gwenview
- 多媒体播放器:VLC
vlc
- 文本编辑器:Kate
kate
- 截屏工具:Spectacle
spectacle
- 压缩包管理器:Ark
ark
- DNS 工具:bind
bind
,提供dig
,nslookup
等命令 - 以及其他的命令行工具就不解释了,只是提一下,
iwd
、jq
、htop
、duf
、bat
、pkgfile
、unzip
输入法
最重要的当然是输入法了,我使用 fcitx5
。
sudo pacman -S fcitx5 fcitx5-chinese-addons fcitx5-qt fcitx5-gtk fcitx5-configtool
网上一堆教程全是基于 x11
的,到了 wayland
就不好使了。我自己试了很久,过程如下:
在设置的 “键盘” - “虚拟键盘” 里面选择 fcitx5
即可让输入法自动启动,编辑 /etc/environment
文件,添加:
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
注意不要包含 GTK_IM_MODULE
和 QT_IM_MODULE
,这是 x11
的设置,wayland
不需要,如果有的话,注释掉。
设置里 “语言和时间” - “输入法” 添加简体中文即可,甚至不需要注销即可使用。
在最新的 chromium 里,一开始出现的无法输入中文的问题已经解决了,不需要特殊处理。
万恶的 NVIDIA 驱动
尽管 Arch Linux 提供里开箱即用的 NVIDIA 驱动包,但在 plasma
+ wayland
仍然有问题。首先安装 nvidia
驱动:
sudo pacman -S nvidia
这时一定不要重启,否则会进不去桌面。先创建 /etc/modeprobe.d/nvidia_drm.conf
文件,添加:
options nvidia-drm modeset=1
再编辑 /etc/mkinitcpio.conf
文件,修改 HOOKS
行,将 kms
去掉,然后重新生成 initramfs
:
sudo mkinitcpio -P
最后重启电脑,应该就可以进入 KDE Plasma 桌面了。
kvm 虚拟机
尽管日常生活大部分工作都可以在 Linux 下完成,但有时候还是需要 Windows 的,比如 Office 就无可替代。我使用 virt-manager
+ qemu
+ kvm
来运行 Windows 虚拟机。
sudo pacman -S qemu-full libvirt virt-manager dnsmaq
其中 qemu-full
包含了全部的 qemu 组件,比较省事,反正也没多大;libvirt
是虚拟化管理工具的后端;virt-manager
是图形化的虚拟机管理工具;dnsmaq
是 DNS 服务器,用于虚拟机的网络。
将自己加入 libvirt
组,这样就不用每次都 sudo
了:
sudo usermod -aG libvirt $USER
启动 libvirtd
服务:
sudo systemctl enable --now libvirtd
之后就可以打开 virt-manager
创建虚拟机了,顺便写写如何在 virt-manager
下安装 Windows 10 LTSC。
Windows 10 LTSC 虚拟机
首先下载 Windows 10 LTSC 镜像,然后打开 virt-manager
,点击 “创建新虚拟机”,选择 “本地安装媒体”,选择下载的镜像文件。
选择引导为 UEFI,系统类型选择 Windows 10,内存和 CPU 根据自己的电脑配置选择,其中 CPU 的拓扑从上到下分别是 sockets
(指的是 CPU 插槽)、cores
(指的是 CPU 核心)、threads
(指的是 CPU 线程),比如我的电脑是 6 核 12 线程,那么我选择 1、6、12。
硬盘选择 qcow
,类型设置为 virtio
,也就是半虚拟化的硬盘,性能非常出色。
网络我选择 nat
。
还需要准备一个 virtio
驱动,下载地址:Fedora VirtIO Drivers ISO,在虚拟机设置里添加一个光驱,选择这个 ISO 文件。
整个安装过程基本和实体机一样,但在选择安装位置的时候,需要先加载 virtio for win10 x64
驱动,然后才能看见硬盘。
安装完成后还要进入刚刚挂载的 virtio
驱动光盘,安装 virtio
网卡驱动,不然网络无法使用。以及显卡驱动 qxldod
,不然分辨率很低。安装 spice
驱动,可以让虚拟机和宿主机共享剪贴板。安装 qeumu-guest-agent
,可以让虚拟机和宿主机通信。
常见问题解决
无法进入桌面
上面的安装 KDE Plasma 桌面里提到了,安装完 NVIDIA 驱动后,一定要修改 /etc/modeprobe.d/nvidia_drm.conf
文件,添加:
options nvidia-drm modeset=1
如果还是没有效果,按键盘 Ctrl
+ Alt
+ F2
进入命令行,登录后执行:
cat /sys/module/nvidia_drm/parameters/modeset
如果返回 N
,则说明没有生效,执行,那就换个方案,删除 /etc/modeprobe.d/nvidia_drm.conf
文件,然后编辑 /etc/default/grub
文件,修改 GRUB_CMDLINE_LINUX_DEFAULT
行,在引号里添加:
nvidia-drm.modeset=1
然后更新 grub 配置:
sudo grub-mkconfig -o /boot/grub/grub.cfg
# 这里的路径根据自己的系统配置而定,也可能是 /boot/efi/grub/grub.cfg
重启电脑,应该就可以进入 KDE Plasma 桌面了。
无法输入中文
如果实在无法输入中文,可以尝试按照 x11
的方式配置,尽管不推荐,但是仍然可以使用。具体来说,编辑 /etc/environment
文件,添加:
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
在设置里 “自动启动” 里添加 fcitx5
,然后注销重新登录。
gpg 导致关机时间很慢
经过多次测试,确认是 KDE 的 gpg GUI kleopatra
无法正常退出导致的。这个目前没法解决,只能等待修复,在这之前要么关机前手动退出 kleopatra
,要么卸载 kleopatra
。
卸载了 kleopatra
git 的签名就无法验证了,需要额外安装 pinentry
:
sudo pacman -S pinentry
在 ~/.gnupg/gpg-agent.conf
文件中添加:
pinentry-program /usr/bin/pinentry-qt