Arch Linux配置cinnamon桌面与常用应用

注:官方源的软件包用角标pkg标注;archlinuxcn社区源的软件包用角标cn标注;arch4edu源的用角标edu标注;来自AUR的软件包用角标aur标注,并且附上AUR地址的链接,便于查看源码。
涉及到ArchWiki的只贴英文链接啦,反正英文界面可以很简单地跳转到中文版的

配置的最终效果应该类似这样:

配置的起点是一个只执行了最基本安装的,只有root用户的最基本Arch Linux系统,主要的配置类似上一篇文章中的安装过程。

下面正文开始。

安装桌面环境之前

这部分配置应该是无论安装什么桌面环境都需要做的。

0.确保系统为最新

1
pacman -Syu

滚动更新的系统最新的才是最稳定的。

1.配置普通用户

1
2
useradd -m -G wheel -s /bin/bash myusername #添加一个名为myusername的用户,指定登录shell为bash,并添加到wheel用户组
passwd myusername #为新用户设置密码

Arch Linux似乎约定俗成的把wheel用户组作为特权组给予sudo权限;如果想像其它发行版一样使用sudo用户组当然也是可以的。

然后还需要配置sudo权限:

1
EDITOR=vim visudo

使用EDITOR环境变量指定编辑器是不可省略的;visudo命令默认使用vi编辑器,但是咱没安装,因此如果不指定编辑器就会执行失败。编辑器可以换为nano等等,前提是安装了它。

定位到图示的行(在文件的最后),然后取消注释。

这三行分别表示:

  1. wheel用户组赋予sudo权限
  2. wheel用户组赋予sudo权限,并且无需输入密码
  3. sudo用户组赋予sudo权限

挑选想要的其中一行取消注释即可。
另外,还可以在文件中添加这样一行:

1
Defaults pwfeedback

添加后sudo输入密码时会以星号(*)回显,而非像通常那样什么都不显示。

之后可以exit退出root用户,然后重新登录到非特权用户;也可以使用su -l myusername直接切换用户。

2.安装AUR助手

通常最常见的选择是yaycn/aur或者parucn/aur,archlinuxcn社区源已经打好了包,直接安装即可:

1
pacman -S paru
  1. 个人更喜欢paru;但是从交互体验来看yay的反馈可能会更好些;
  2. Arch Linux更希望用户能手动从AUR安装一遍,熟悉手动打包的过程:
    1
    2
    3
    git clone https://aur.archlinux.org/paru.git --depth 1
    cd paru
    makepkg -si
  3. 出于安全原因,makepkg命令和AUR助手均会拒绝直接在root用户下运行,所以记得切换用户。

通常来说,一个开源软件包foo会在AUR上存在至少三种分支:

  • foo:使用发布版本的源码包编译安装(源码包从release里面下载)
  • foo-bin:直接打包上游编译好的二进制包
  • foo-git:从git拉取最新的源码编译安装

其它后缀的阅读包描述可以看出。通常情况下,-bin因为是现成的二进制文件,只需要解压然后重打包,安装速度最快;源码编译的则会兼容性更好,并且如果动态链接了系统依赖,可能一定程度节省硬盘空间(比如相比于一堆包一人打包一个electron,全部共用系统的electron库明显更节省空间)。
另外,yay是go语言编写的,国内网络环境可能会拉取依赖困难。yay-bin就能避免这一问题。

pamac是Manjaro团队开发的另一套辅助性的包管理软件,在Manjaro系统中默认预装,ArchLinux也可以从AUR中获取到;
pamac提供了另一套不同于pacman的命令,命令的整体特征更类似于apt等常见的包管理器(例如pamac install foo等等),命令的用法参照Manjaro Wiki - pamac (此wiki的汉化约等于没有)
此外pamac也提供了图形化操作界面,预览同样可以在前述的wiki界面找到。
下面列出在AUR中pamac不同包的区别:
pamac-cli –只提供命令行;
pamac-aur –提供图形界面,包含基本的软件包和AUR包支持;
pamac-flatpak –提供图形界面,在上一个的基础上增加了flatpak支持(需要自己配置安装flatpakpkg);
pamac-all –提供图形界面,在上一个的基础上增加了snap支持(需要自己配置安装snapdaur);

3.关于显卡驱动

由于Linux的宏内核的特点,内核已经集成了至少能亮机的驱动(N卡是开源驱动nouveau),所以驱动可以先不装;配置好能正常点亮的桌面,然后把快照等措施准备好了,再来大战驱动也不迟。
另外由于咱目前还只是在虚拟机做的测试,就不写驱动的配置啦,三家显卡分别参考各自的wiki就好了(包括核显):
IntelNVIDIA
AMD: 先参考这里 根据显卡架构确定安装的驱动类型,然后参考 AMDGPUATI由于RX400系已经属于GCN4架构了,现在能见到的常见A卡只要比RX400系新,就装AMDGPU就行

安装开源的open-vm-tools以及必要的驱动,然后启动相应的服务:

1
2
3
pacman -S open-vm-tools xf86-input-vmmouse xf86-video-vmware mesa
systemctl enable --now vmtoolsd.service
systemctl enable --now vmware-vmblock-fuse.service

如果主机和客户机间复制粘贴功能无法正常工作,尝试安装gtkmm3pkg

4.优化AUR编译参数

编辑/etc/makepkg.conf,主要做三个方面的修改:

  1. 启用多核编译:
    定位到MAKEFLAGS处,取消注释,并把-j2改成需要的线程数(这里咱给虚拟机分配了6核)。有一种说法是,如果希望CPU能彻底吃满,应当设定成比CPU线程数多1的超负荷。所以咱最终给了-j7

  2. 更改软件包的压缩格式:
    默认情况下打好的软件包使用兼顾速度和压缩率的zstd压缩格式(Arch官方的pacman源也使用这种格式),这里只列举两种极端需求。两种需求均是定位到PKGEXT处。

    • 对速度有极端需求,不介意占用空间的:直接不压缩
    • 对硬盘空间有极端需求,不介意压缩和解压速度的:改用xz压缩格式
  3. 阻止生成debug包:
    正常情况下,makepkg会生成一个正常包和一个debug软件包;对于普通用户而言,debug包没有任何意义,因此取消掉以节省时间:
    定位到GLOBAL PACKAGE OPTION处,然后把最下面的括号中的debug前面加上!

cinnamon桌面环境

1.安装桌面环境和中文字体等必要组件

安装cinnamonpkg桌面本体以及一些属于cinnamon的软件:

功能 应用
文字编辑器 xedpkg
图片查看器 xvieweraur
文档阅读器 xreaderpkg
媒体播放器 xplayeraur
图像管理器 pixaur
1
pacman -S cinnamon xed xreader gnome-terminal

这里AUR包先不装,由于AUR包的发布特点无法做镜像站,因此总会遇到点网络问题,所以先去基本的桌面解决了网络问题再回来整这些。

当Cinnamon发生崩溃事件时, 会激活其后备模式。要控制此模式下打开的窗口,需要安装metacity软件包以及gnome-shell以显示任务栏。

但是存在两个问题:

  1. 信息矛盾:参见cinnamon包页面, 被标记为可选依赖,并提供”fallback mode”的包是metacity和gnome-panel,而不是gnome-shell;
  2. 引入大量无关依赖:无论是gnome-panel还是gnome-shell,均会引入大量gnome桌面相关的依赖(甚至包含gnome-desktoppkg,然后再间接引入nautiluspkg等等一大堆gnome应用)。

综合考虑这些信息,并去Linux Mint预装的软件包中一顿搜索后,咱决定只安装metacitypkg,等触发了后备模式再看看能不能正常运作。

1
pacman -S metacity

然后安装一些常见的开源字体:

1
2
pacman -S adobe-source-han-serif-cn-fonts wqy-zenhei
pacman -S noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra

中文字体的设置只能通过配置文件;如果不想在这上面花时间,就只安装一套字体(下文的微软字体也不配置)。例如,如果想开箱就有类似mint的字体,就只安装第二行的noto一系。

当然还有cinnamon的语言包:

1
pacman -S cinnamon-translations

在这里直接把ntfs-3gpkg安了,提供ntfs文件系统的完整支持:

1
pacman -S ntfs-3g

1.5.微软字体

参考ArchWiki
只建议把Windows的字体文件复制到Linux系统下,不建议使用软链接;因为按照咱的使用习惯,咱并不喜欢开机自动挂载Windows分区(甚至希望尽量完全避免挂载Windows系统盘分区)。
首先挂载Windows的系统盘(这里考虑直接挂载到/mnt目录,并假设Windows的系统盘分区是/dev/nvme0n1p3)。

1
2
3
#以下两行二选一
mount -t ntfs3 /dev/nvme0n1p3 /mnt #使用内核自带的ntfs3驱动挂载必须显式指定
mount /dev/nvme0n1p3 /mnt #在安装ntfs-3g后会默认使用ntfs-3g驱动

然后复制相应的字体文件到对应目录,并设定好权限:

1
2
3
4
mkdir /usr/local/share/fonts
mkdir /usr/local/share/fonts/WindowsFonts
cp /mnt/Windows/Fonts/* /usr/local/share/fonts/WindowsFonts/
chmod 644 /usr/local/share/fonts/WindowsFonts/*

最后重新生成字体缓存:

1
fc-cache --force

以及卸下挂载的Windows分区:

1
umount /mnt

2.startx启动桌面环境

安装启动图形环境的脚本:

1
pacman -S xorg-xinit

然后使用脚本启动桌面环境(此处应切换到非root用户):

1
2
startx /usr/bin/cinnamon-session #启动常规的cinnamon桌面
startx /usr/bin/cinnamon-session-cinnamon2d #或者,启动遇到问题时,启动禁用图形加速的cinnamon桌面

初始状态下的cinnamon真的很丑:

xinit的更多用法参考ArchWiki
使用这个脚本启动桌面可以绕开桌面管理器(以下简称dm),在桌面崩溃的时候,可以使用这个脚本排除问题(xorg/dm/桌面三者均可能出问题,用这个可以排除dm的问题,不过大部分时候都是xorg在抽风
这里不装dm还有一个比较难绷的理由,曾经有一段很长的时间,lightdm-slick-greeterpkg这个包是坏的或者只是单纯是咱那会wiki没看全没配置对,启动lightdm会无法显示登录界面;而这个greeter是mint主题的默认登录界面,而且有些mint相关的应用程序直接硬依赖这个greeter,因此只能去AUR里面取两个包曲线救国: lightdm-slick-greeter-mint-themeaurlightdm-guestaur。不过现在这个包已经好了,所以跳过xinit环节也行,但是咱还是更喜欢留着xinit脚本在排查故障的时候用。

2.5.一点必要的小手段

AUR是源码发布机制,从源码可以发现很多开源包的source是直接从github上面拉的,所以难免遇到网络问题,需要一些必要的小手段。
pacman上面有一些已经打包好的客户端可以直接用(善用pacman -Ss多做搜索)。
总之就是现在有了一只可爱的小猫来解决网络问题:

3.安装桌面管理器

1
pacman -S lightdm lightdm-slick-greeter

lightdm-guestaur: 除了提供lightdm本体外,额外支持访客用户登录。
lightdm-slick-greeter-mint-themeaur: 额外提前设置好了一些选项,具体参考AUR页面的置顶评论。这个包强制依赖lightdm-guestaur。由于这个包还会使用wget命令下载当日的微软壁纸并设置为锁屏壁纸,因此确保系统安装了wget否则会打包失败。
如果使用了这两个包,下面的配置greeter可以不做,这两个包会帮你配置好。

然后还要配置greeter:编辑/etc/lightdm/lightdm.conf,找到[Seat:*]模块,然后修改greeter-session变量,就像这样:

1
2
3
[Seat:*]
...
greeter-session=lightdm-slick-greeter

这个配置过程不是可选的,不设置的话会导致greeter无法启动,如果配置了自动登录会无法切换用户,如果没配置自动登录就会直接导致lightdm启动失败。
但是作为lightdm默认的lightdm-gtk-greeter例外。

最后把lightdm设置为开机自启,由于现在还开着桌面就不立即启动lightdm了:

1
systemctl enable lightdm.service

4.设置中文

编辑/etc/locale.conf,把LANG=en_US.UTF-8改为LANG=zh_CN.UTF-8
但是这样修改之后,tty终端就会试图显示中文(但是只会显示菱形方块),当桌面崩溃需要tty救急时这会导致tty输出完全不可读。
所以在/etc/profile.d/路径下新建一个空文件,取一个喜欢的名字(例如tty-en.sh),然后填入以下内容:

1
2
3
4
5
6
7
8
9
10
# Set tty English

for ttyi in {1..6}; do
if [ "$(tty)" = "/dev/tty$ttyi" ];
then
export LC_ALL="en_US.UTF-8"
export LANGUAGE="en_US.UTF-8"
export LANG="en_US.UTF-8"
fi
done

这会当检测到窗口处于tty时,把语言设为英文。添加在这里和把代码追加在/etc/profile文件中等效,并且对所有用户生效。

mintlocaleaur会在cinnamon桌面的设置菜单中添加一个语言设置菜单,允许设置当前用户或者所有用户的语言,其中设置所有用户时会修改/etc/locale.conf
这个包无论在什么语言环境下安装,最终菜单都会以英文显示,无法完美的像原生Mint系统下变为中文菜单。

完成设置语言之后重启计算机。

1
reboot

重启后就能看到登录界面了:

为防止系统用户出现在登录界面,安装可选依赖accountsservicepkg, 或者把这些用户名添加到/etc/lightdm/users.conf下的hidden-users里。前者优势在于添加/删除用户时不用更新列表。

4.5.配置自动登录:

编辑/etc/lightdm/lightdm.conf,同样找到[Seat:*]模块,然后修改autologin-user变量,改为想要自动登录的用户名;
然后还需要确保自动登录的用户在autologin用户组中:

1
2
groupadd autologin #创建autologin组
gpasswd -a username autologin #把用户username添加进去

或者可以使用cinnamon桌面的图形化设置操作用户组:

5.cinnamon配置

terminal

编辑首选项,把字体改为source code pro且大小为10号,颜色主题改为Tango 暗色

桌面与主题

安装以下包:

包名 内容
bibata-cursor-themeaur 鼠标指针
mint-y-iconsaur 图标主题
mint-artworkaur 壁纸和开始菜单图标,顺便绑定了一堆mint常用的主题、字体等等

事实上,mint-artworkaur已经包含了bibata-cursor-themeaurmint-y-iconsaur作为依赖,因此直接安装mint-artworkaur即可。

1
paru -S mint-artwork

全部安装完成之后,进入系统设置,主题菜单已经发生了变化:

点开高级设置展开可以看到以前的界面,然后做一些想要的调整就行。

此外还有壁纸:

调整一下字体(pacman -S ttf-dejavu):

到这一步后,基本的设置大体完成,但是中文字体似乎还没统一。针对中文字体的更详细配置参考ArchWiki

此外,还有一份 半透明主题 可以安装:

1
git clone https://github.com/licyk/cinnamon-theme-transparent

然后把三个主题文件夹放在~/.themes/(对单用户生效)或者/usr/local/share/themes/(对所有用户生效),之后就可以使用了。

不通过包管理器而是自行安装的东西都放在/usr/local/目录下。

6.补齐系统应用

到这一步,cinnamon桌面的外观已经基本没有问题了,但是系统设置里面还缺少了很多项。
(左ArchLinux, 右LinuxMint22.1)

接下来逐一补充。

  1. 输入法:与apt高度耦合,无法补充,自行配置。
  2. 语言:安装mintlocaleaur
  3. 在线账户:安装gnome-online-accounts-gtkaur
  4. 磁盘:安装gnome-disk-utilitypkg
  5. 打印机:安装system-config-printerpkg
  6. 蓝牙:安装bluemanpkg
  7. 驱动管理和软件源:与apt高度耦合,无法补充,自行配置。
  8. 防火墙:安装gufwpkg
1
paru -S mintlocale gnome-online-accounts-gtk gnome-disk-utility system-config-printer blueman gufw

其中大部分应用安装即可使用,但也有一些只是前端窗口,使用需要额外配置后台服务(如打印机可能需要配置cupspkg

此外还有一些其它的系统软件:
重要的:
nemo-filerollerpkg: 压缩与解压文件,同时提供Nemo文件管理器的右键压缩与解压支持
其它的Linux Mint预装软件:

软件 在Arch Linux的包名
归档管理器 fileroller-linuxmintaur取代默认的gnome主题的fileroller;留意fileroller的可选依赖,其中包含对其它各种压缩格式的额外支持,自选安装
便笺 stickyaur
磁盘使用情况分析器 baobab-gtk3aur
电源统计 gnome-power-managerpkg
计算器 gnome-calculator-gtk3aur
截图 gnome-screenshotpkg
密码和密钥 后端gnome-keyringpkg,前端seahorsepkg
日历 gnome-calendarpkg只有gnome版,没有与cinnamon契合的旧版
书库 thingyaur
网络电视 Hypnotix hypnotixaur或者hypnotix-waylandaur
文档扫描仪 simple-scan-linuxmintaur
文件重命名工具 bulkyaur
系统监视器 cinnamon版本gnome-system-monitor-linuxmintaur显示效果更好,但是gnome版本gnome-system-monitorpkg在系统参数页面多显示一项磁盘读写速度
字符映射表 gucharmappkg
Web应用 webapp-manageraur

未列在此表中的内容:
libreoffice全家桶,以及下图:

电源模式(平衡,节能,以及只在部分设备开放的高性能)由power-profiles-daemonpkg提供。

搜索时优先寻找gtk3后缀的AUR老版本,通常会跟cinnamon桌面的契合度更高。

错误日志:

1
2
3
4
5
6
7
8
Dependency glib-2.0 found: YES 2.82.4 (cached)
Program /usr/bin/glib-mkenums found: NO

gnome-system-monitor/src/meson.build:79:22: ERROR: Dependency 'glib-2.0' tool variable 'glib_mkenums' contains erroneous value: '/usr/bin/glib-mkenums'

This is a distributor issue -- please report it to your glib-2.0 provider.

A full log can be found at /home/lasombra/.cache/paru/clone/gnome-system-monitor-linuxmint/src/build/meson-logs/meson-log.txt

解决方案:安装glib2-develpkg

7.挂载硬盘设置

还有一个问题:Nemo挂载硬盘时,会要求输入密码,而不是像mint一样直接挂载:

Nemo挂载硬盘使用的是udisks2服务,因此在nemo中挂载硬盘等价于:

1
udisksctl mount -b /dev/nvme0n1p1

需要配置一项放行规则:

1
2
3
4
5
6
7
8
9
10
/* 把这个文件复制到 /etc/polkit-1/rules.d/allow-mount-internal.rules */

polkit.addRule(function(action, subject) {
if ((action.id == "org.freedesktop.udisks2.filesystem-mount-system" ||
action.id == "org.freedesktop.udisks.filesystem-mount-system-internal") &&
subject.local && subject.active && subject.isInGroup("storage"))
{
return polkit.Result.YES;
}
});

这个规则会给用户组storage中的用户放行挂载;然后还需要把用户添加到storage组中。把规则中的用户组直接给wheel组也行。
或者,按需取用这份更详细的规则

此外,默认会把硬盘挂载到/run/media/<username>目录下,路径太长很不优雅,添加这份配置可以把挂载目录改为/media
文件路径:/etc/udev/rules.d/99-udisks2.rules

1
2
3
4
5
# UDISKS_FILESYSTEM_SHARED
# ==1: mount filesystem to a shared directory (/media/VolumeName)
# ==0: mount filesystem to a private directory (/run/media/$USER/VolumeName)
# See udisks(8)
ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{UDISKS_FILESYSTEM_SHARED}="1"

更多设置项参见ArchWiki-udisks

安装桌面之后

1.常用软件

浏览器

开源的:firefoxpkg,chromiumpkg
闭源但是常用的:microsoft-edge-stable-binedu,google-chromeedu,或者在AUR上获取更新更快的版本以及beta测试版等等(arch4edu源通常同步会慢些)

下载器

主力: freedownloadmanageraur
FDM浏览器插件: edge/chrome (需要科学上网),firefox

备用:motrixaur
Motrix上次更新时间已经是2023年5月,有一个现在持续维护的fork版imfileaur

微信/QQ

为了避免扫盘,可以使用flatpak精细地控制权限。 flatpak配置指南 以及SJTU镜像源
个人喜欢直接使用简单版本。

软件 纯净版(简单破事少) 沙盒版(使用bubblewarp做简单的沙盒隔离,但是系统文件访问可能不便,例如收发其它目录的文件) 备注
QQ linuxqqaur linuxqq-nt-bwrapaur 直接去官网下载appimage版也可运行;还有 基于portable的另一种沙盒版 可选
微信 gitee / github wechat-universal-bwrapaur以及备用的github仓库 直接去官网下载appimage版也可运行; 2024年12月,AUR上的微信包所有权争夺撕了很久,最终留下了一地鸡毛;现在的Kimiblock维护者维护的版本引入了一大堆无用依赖,不建议使用

文本编辑器

cinnamon桌面配套的xed已经可以满足基本的需求;

官方仓库里的codepkg是对 开源vscode仓库 编译而来,可能不包含一些微软增加的功能;由微软发布的版本可以通过visual-studio-code-binaur安装。

轻量的文本编辑器,notepadqqpkg本来是个好选择,但是该项目最后一次有实质的更新已经是2021年的事了,而现在的版本在ArchLinux中会频繁闪退;
notepad--( gitee / github )曾经是个开源的文本编辑器,但是现版本已经转向闭源;notepad---gitaur从git拉取开源的版本然后编译安装,目前还算好用;
notepadnext 是个很有潜力的好项目,可惜现在还不支持转换文件编码。


其它软件多在AUR上面搜索基本都能搜到。

2.脚本update-grub

在Debian/Ubuntu系统上,修改了grub配置后只需要简单地以sudo权限运行:

1
update-grub

就可以完成配置更新,但是Arch上面却需要:

1
grub-mkconfig -o /boot/grub/grub.cfg

实际上update-grub就是一个简单的脚本,因此可以很简单地移植过来:
可以直接安装update-grubaur包来实现,或者手动创建这个脚本:
/usr/local/bin目录下,以root权限创建文本文件,命名为update-grub,然后把权限设为755(所有者可读、写、执行,其他用户可读和执行):

1
chmod 755 /usr/local/bin/update-grub

然后填入以下内容:

1
2
3
#!/bin/sh
set -e
exec grub-mkconfig -o /boot/grub/grub.cfg "$@"

保存即可。

3.timeshift快照

安装:

1
pacman -S timeshift

timeshift快照分为两种类型,在页面上都有介绍,这里提取其中的几个关键要素:

快照类型 特点
RSYNC 适用于任何文件系统,不依赖文件系统特性;基于全盘复制,因此占用空间较大,但是可以把快照储存在非系统盘上;第一次快照的时候是完全复制整个系统,此后的快照中与前面的快照相同的文件使用硬链接保存,不同的文件直接复制。快照占用的空间一经创建就确定下来;可以精细地选择需要快照和不需要快照的文件夹
BTRFS 仅适用于btrfs文件系统,且仅支持@@home的子卷布局;由于基于文件系统,因此只能把快照储存在同一个盘上;快照在刚刚创建的时候不占据任何空间,随着系统本身的文件和快照的差距越来越大,占用的空间也越来越大,但是占用的空间一定不会大于RSYNC类型。

按照页面向导操作即可,其中定期快照需要启用cron服务:

1
systemctl enable --now cronie.service

或者,根据 ArchWiki ,安装timeshift-systemd-timeraur可以替代cron服务。

此外,timeshift-autosnapaur提供了一个钩子,可以在检测到pacman执行了更新操作时,在更新前创建一份快照。
但是注意,使用AUR助手更新时,来自AUR的软件包是逐一打包安装的,因此每有一个AUR包被更新就会创建一个快照;不过不必担心空间不足,两份快照由于绝大部分内容是一致的,因此几乎不会占用额外的空间;适时清理即可。

btrfs快照

  • 配置btrfs快照之后,检查/etc/fstab文件,如果存在subvolid项则去除:回滚快照后subvolid会发生变化,这一项的存在会导致系统盘无法正确挂载;只靠subvol名称已经足以让系统分辨子卷;

    在2025.02.01镜像中,genfstab脚本生成的fstab文件已经不再会包含subvolid项。

  • 由于/boot分区并不属于btrfs文件系统的一部分,因此回滚快照的时候不会跟着回滚;有时候这会导致/boot分区的initramfs内核版本与系统linux内核版本不一致,从而导致进不去系统。解决办法是,在回滚快照后,重启计算机之前,立即执行以下两项中的一项:
    1
    2
    mkinitcpio -P #保守的选择:重新生成全部initramfs,这样就与系统内一致了;也可以使用mkinitcpio -p <内核名,例如linux>只生成其中一个内核的,然后启动的时候选择这个内核
    pacman -Sy <内核,例如linux> <相应的头文件,例如linux-headers> #激进的选择:先把其中一个内核更新了,这会在更新的同时为这个内核生成initramfs;然后启动的时候选择这个内核
    如果重启的手速太快,忘记执行这些,导致进不去系统的话,liveCD启动,挂载硬盘,然后arch-chroot进去执行。
  • grub-btrfspkg提供了一项独特的功能:开机的时候直接引导进入快照。
    如果安装了timeshift-autosnapaur,则这个包会在自动创建快照的同时,更新grub配置文件。
    手动增删快照后也要刷新一次grub配置以让启动列表中的快照列表与实际的快照一致。
    启动到快照的时候,同样要注意/boot分区挂载的问题;不同的是,/boot分区只有一份,不可能让其中的initramfs放弃跟随系统盘,去跟快照中一致。因此,要直接启动到快照,必须确保目标快照中的内核版本与当前系统的内核版本一致。
  • 如果最初分区的时候,不为/boot单独分区,则以上两个问题均不存在;但是这样就没法让grub菜单记住上次选择的启动项。取舍在这。

到这里咱已经把目前能想到的,日用的Arch Linux系统必需的配置(除了显卡驱动)之外都配置完成了。由于目前还是在虚拟机上面整,暂时没有条件配置显卡驱动;不知道是虚拟机的问题还是其它什么问题,休眠目前也没配置成功。这两个问题以后在物理机上解决了另开一篇。
显卡驱动参考前述章节根据显卡品牌不同分列的wiki;
休眠配置参考 ArchWiki


Arch Linux配置cinnamon桌面与常用应用
http://silvertuanzi.github.io/2025/02/11/arch-cinnamon/
作者
silver-lasombra
发布于
2025年2月11日
许可协议