从KDE到Gnome的旅程

封面
(封面图源知乎KDE 与 GNOME:什么是 Linux 桌面的终极选择? | Linux 中国)

tl;dr

上周,KDE Plasma发布了6.0版本。可是,我还没做好更新的准备。在更新到KDE6之后,好多的小组件都不兼容了,比如panonwindow buttons等,好多好多的都炸了。
好巧不巧的是,我苏菲里的Arch Linux也有两个多月没滚了。还记得曾经最顶的一次五个月没滚,然后一滚直接炸(
于是这就致使了我这次的重装计划。

Live CD阶段

先一路跟着Arch Wiki Installation Guide把基本系统装好。

从USB启动Live CD,先使用iwctl进行联网:

1
2
3
4
5
6
7
8
9
10
11
12
# 进入iwctl
iwctl
# 获取设备列表
device list
# 扫WiFi
station <device_name> scan
# 看看扫到哪些WiFi了
station <device_name> get-networks
# 连WiFi
station <device_name> connect <ssid>
# 退出
exit

对磁盘进行分区

1
2
3
4
# 看看电脑上有哪些磁盘分区
lsblk
# 格式化成ext4文件系统以装系统
mkfs.ext4 /dev/system_partition

给LiveCD换源

1
2
3
4
vim /etc/pacman.d/mirrorlist
# 在首行添加这行:
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
pacman -Sy

安装基本系统

1
2
3
mount /dev/system_partition /mnt
mount --mkdir /dev/esp_partition /mnt/boot
pacstrap -K /mnt base linux linux-firmware

生成fstab

1
genfstab -U /mnt >> /mnt/etc/fstab

chroot进基本系统做一些初始操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
arch-chroot /mnt
# 换源
vim /etc/pacman.d/mirrorlist
# 在首行添加这行:
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
# 在 `/etc/pacman.conf` 文件末尾添加以下两行:
[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
# 之后通过以下命令安装 `archlinuxcn-keyring` 包导入 GPG key。
pacman -Sy archlinuxcn-keyring
pacman-key --lsign-key "farseerfc@archlinux.org"
pacman -Sy archlinuxcn-keyring

# 设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 同步时钟
hwclock --systohc
# 生成locale
vim /etc/locale.gen # 然后删除en_US.UTF-8和zh_CN.UTF-8 UTF-8前的#号
locale-gen
# 设置语言
# 向/etc/locale.conf中写入LANG=en_US.UTF-8
# 设置主机名: 向/etc/hostname写入你的主机名
# 修改hosts
vim /etc/hosts
# 写入以下内容。其中hostname为你电脑的hostname
127.0.0.1 localhost
::1 localhost
127.0.1.1 hostname.localdomain hostname

# 设置root密码
passwd

安装grub和基本应用程序,这一步也在chroot中进行

1
pacman -S grub efibootmgr networkmanager os-prober mtools dosfstools base-devel linux-headers git sudo

安装微码

1
pacman -S intel-ucode # AMD则是amd-ucode

装grub

1
2
3
4
5
6
# 去掉os-prober让grub可以扫到windows
vim /etc/default/grub
# 解除这行的注释GRUB_DISABLE_OS_PROBER=false
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Arch
# 生成grub.cfg
grub-mkconfig -o /boot/grub/grub.cfg

然后重启电脑

重启进本地系统操作

登录root用户,用你之前设置的密码

1
2
3
4
# 启动网络服务
systemctl enable --now NetworkManager
# 连WiFi
nmtui

新建用户

1
2
# wheel后面是你的用户名username
useradd -m -G wheel username

为用户创建密码

1
passwd username

授权

1
2
EDITOR=vim visudo
# 然后找到 uncomment to allow members of group wheel to execute any command的下一行,取消注释

安装Gnome

1
2
3
pacman -S gdm xorg-xwayland gnome gnome-tweaks nautilus-sendto gnome-nettool gnome-usage gnome-multi-writer adwaita-icon-theme xdg-user-dirs-gtk arc-gtk-theme
# 设置开机自启
sudo systemctl enable --now gdm

安装中文输入法fcitx

1
sudo pacman -S fcitx5-im fcitx5-chinese-addons fcitx5-rime

然后编辑环境变量,在/etc/environment追加写入:

1
2
3
4
5
# /etc/environment
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx

安装paru以安装aur

1
2
3
4
sudo pacman -S base-devel
git clone --depth=1 https://aur.archlinux.org/paru.git
cd paru
makepkg -si

安装oh-my-zsh及其常用的两个插件

1
2
3
4
5
6
7
8
9
10
11
sudo pacman -S zsh
chsh -s $(which zsh)
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# 安装代码高亮和自动补全插件
cd $HOME/.oh-my-zsh/plugins
git clone --depth=1 https://github.com/zsh-users/zsh-syntax-highlighting.git
git clone --depth=1 https://github.com/zsh-users/zsh-autosuggestions.git

# 然后打开~/.zshrc找到plugins=(),在括号里添加git和zsh-syntax-highlighting和zsh-autosuggestions,一行一个,然后保存退出
source ~/.zshrc

安装蓝牙音频

1
2
pacman -S bluez bluez-utils bluedevil pulseaudio-bluetooth
systemctl enable bluetooth

更换Linux-surface内核

参考Linux-surface Wiki

1
2
3
4
5
6
7
8
9
10
# 添加签名信息
curl -s https://raw.githubusercontent.com/linux-surface/linux-surface/master/pkg/keys/surface.asc | sudo pacman-key --add -
# 添加并信任签名
sudo pacman-key --finger 56C464BAAC421453
sudo pacman-key --lsign-key 56C464BAAC421453
# 在/etc/pacman.conf里像这样添加linux0surface仓库
[linux-surface]
Server = https://pkg.surfacelinux.com/arch/
# 装内核!
sudo pacman -Sy linux-surface linux-surface-headers iptsd

好了原版内核可以删了

安装Gnome插件

先去Chrome插件商店安装GNOME Shell integration,然后安装gnome-browser-connector,就可以从Gnome插件商店下载插件啦!管理插件在Extinctions应用程序内进行。

我用的插件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 托盘图标。可能有人会说为什么不用Tray Icons: Reloades。因为这东西有问题,不能正确显示托盘图标,所以换了这个。
Appindicator and KStatusNotifierItem Support
# 全局剪贴板历史记录
Clipboard Indicator
# alt-tab切换特效
Coverflow Alt-Tab
# 像Mac的dock栏
Dash to Dock
# 桌面可以放文件
Desktop Icons NG (DING)
# KDE Connect 的Gnome替代品
GSConnect
# 一键闭麦
Nothing to Say
# 窗口拖动时半透明
Transparent Window Moving
# 资源监视器(看了半天就这个最合适)(这个已经没必要了,系统自带一个System Monitor插件,启用它就行)
System Monitor Tray Indicator
# 桌面时钟 有点小bug,就是添加的第一个Widget无法删除
Desktop Clock
# 顶栏图标位置整理插件
Top Bar Organizers

设置开机自启脚本

~/.config/autostart下创建xxx.desktop,写入以下内容,即可在Tweaks-Startup Applications中找到并配置它。

1
2
3
4
5
6
7
8
9
[Desktop Entry]
Name=<应用程序名>
Type=Application
Exec=<运行的命令>
Icon=<图标的完整路径,128x128,svg/png>
Terminal=<指定是否在终端内运行>
StartupNotify=<>
Categories=<类别>
Encoding=<编码>

遇到的问题

安装好后没有性能模式选项:
安装power-profiles-daemon然后注销重新登陆。

某些电脑上没有声卡驱动
安装alsa-firmwaresof-firmwarealsa-ucm-conf然后重启电脑。

OBS-Studio开启虚拟摄像头需要安装的插件: v4l2loopback-dkms。参考ArchWiki

防止日志无限制的增长占用磁盘

1
2
3
4
5
6
7
8
# 看看日志占了多少空间
sudo journalctl --disk-usage
# 超过5天的自动删除
sudo journalctl --vacuum-time=5d
# 超过500M的自动删除
sudo journalctl --vacuum-size=500M
# 核心转储
sudo rm /var/lib/systemd/coredump/*

打开文件夹的应用程序变成了vscode。解决方法:在终端运行:

1
xdg-mime default org.gnome.Nautilus.desktop inode/directory

开机会自动挂载所有的磁盘。

1
gsettings set org.gnome.desktop.media-handling automount false

删除某个扩展的配置文件

1
2
3
4
# 查看有哪些扩展的配置可以被删除
dconf list /org/gnome/shell/extensions/
# 删除名为extension_name的扩展的配置
dconf reset -f /org/gnome/shell/extensions/extension_name/

想启用一些不支持的插件:

1
gsettings set org.gnome.shell disable-extension-version-validation true

删除evince的浏览历史记录和浏览进度:删除这个文件即可

~/.local/share/gvfs-metadata/home

启用分数缩放:

1
gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"

从KDE到Gnome的旅程
http://blog.coolenoch.ink/2024/03/15/11从KDE到Gnome的旅程-240315/
作者
CoolestEnoch
发布于
2024年3月15日
许可协议