(封面图源知乎KDE 与 GNOME:什么是 Linux 桌面的终极选择? | Linux 中国)
tl;dr
上周,KDE Plasma发布了6.0版本。可是,我还没做好更新的准备。在更新到KDE6之后,好多的小组件都不兼容了,比如panon
、window 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 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-firmware
, sof-firmware
和alsa-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']"
|