从Gnome3过渡到Cosmic桌面环境

众所周知 Gnome 桌面环境非常成熟,但是每次大版本升级都会导致大量的插件失效,如果等足够长的时间再更新则不能保证系统处理最新状态,如果不等则无法正常工作,不同的插件需要等的时间也不一样。基于上述考虑,我决定从 Gnome3 切换到 Cosmic 桌面环境,其优点是 Cosmic 从零开始使用 rust 语言创建,所以其安全性高、速度快。但是, Cosmic 是一款可以工作中使用,然而还在发展中的新系统,所以就有了本文,本文的目的是记录从使用到完善过程中的问题。

删除 Gnome 切换到 Cosmic

  1. 启用Cosmic显示管理器cosmic-greeter
1
sudo systemctl enable cosmic-greeter
  1. cosmic-files和Gnome都需要gvfs, 所以需要保留gvfs, 只删除Gnome, 最安全的方法是在删除列表中排除 gvfs, 即
1
sudo pacman -Rns gnome gnome-shell gnome-browser-connector gnome-shell-extension-blur-my-shell obs-gnome-screencast --assume-installed gvfs
  1. 后续清理
1
sudo pacman -Rns $(pacman -Qtdq)
  1. 停用并禁用GDM
1
sudo systemctl disable --now gdm.service

移除WhiteSur主题

  1. 切换到WhiteSur源目录
如果已经删除了源目录,则用下述命令重新下载
1
2
git clone https://github.com/vinceliuice/WhiteSur-gtk-theme.git
cd WhiteSur-gtk-theme
  1. 移除GTK主题: ./install.sh -r

  2. 移除GDM登录主题:sudo ./tweak.sh -g -r

  3. 移除Libadwaita主题: ./install.sh -l -r

  4. 移除Firefox主题: ./tweak.sh -f -r, 需要选关闭Firefox再执行这条命令。

  5. 手动删除残留文件:

1
2
3
4
5
# 删除系统级残留(需要管理员权限)
sudo rm -rf /usr/share/themes/WhiteSur*

# 删除用户级残留
rm -rf ~/.themes/WhiteSur*

多媒体

尽管Cosmic中也有默认的音乐播放器和视频播放器,但是仍然不好用,于是需要安装简洁、轻量级的音乐播放器Amberol和视频播放器Celluloid, 执行命令

1
sudo pacman -S amberol celluloid

设置截屏快捷键

  1. 打开Cosmic设置

  2. 进入输入设备(Input Devices)→键盘(Keyboard)

  3. 点击查看和自定义快捷键(View and customize shortcuts)

  4. 在列表中找到系统快捷键类别,然后在右侧列表向下滚动找到截图(Take a screensh)选项。

  5. 进入截图后,选中添加另一个快捷键 。

  6. 按下F7, 则使用F7打开截图设置完毕。

Cosmic 主题

打开网站Cosmic Themes, 选中合适的主题下载到你想要的目录。然后点击设置→外观→导入,选中下载的主题,则主题设置完毕。

问题汇总

每次开机密钥环总是要求输密码

cosmic-greeter基于greetd, 其PAM 配置文件通常是/etc/pam.d/cosmic-greeter。不过,根据Arch Wiki的讨论,其打包配置有时会复用/etc/pam.d/login这个文件。 因此,为了确保生效,需要同时检查并编辑这两个文件。

  1. 检查两个文件:
1
ls -l /etc/pam.d/cosmic-greeter /etc/pam.d/login

[!WARNING] 如果/etc/pam.d/cosmic-greeter不存在,可以参照其他显示管理器的做法,创建一个指向login的符号链接,或直接编辑/etc/pam.d/login。

  1. 编辑PAM文件以集成gnome-keyring: 向上一步确定的PAM(两个), 中添加pam_gnome_kerying.so模块。在login和cosmic-greeter文件中添加以下两行内容:
  • 在auth部分的末尾添加:
1
auth optional pam_gnome_kerying.so
  • 在session部分的末尾添加:
1
session optional pam_gnome_kerying.so auto_start

[!WARNING] 注意: 添加时请保持文件原有结构,将新行插入到对应区块的末尾。一个配置好的文件示例片段如下:

1
2
3
4
5
6
7
#%PAM-1.0
auth requisite pam_nologin.so
auth include system-local-login
auth optional pam_gnome_keyring.so
account include system-local-login
session include system-local-login
session optional pam_gnome_keyring.so auto_start

[!WARNING] 自动解锁成功的关键:登录系统使用的密码,必须和“登录”密钥环(Login Kerying)的密码完全一致。如果不一致,则需要使用seahorse工具手动修改密钥环的密码,使之与登录密码匹配。事实上我仅修改了login文件,测试成功了。同时,Cosmic桌面环境正在开发自己的原生密钥环服务oo7, 待其成熟后也可以迁移到oo7提供的pam_oo7.so模块用于自动解锁。

文件管理器不显示移动硬盘

这个问题主要是由于原来系统安装的是Gnome3, 当删除Gnome3后也把cosmic-file依赖的gvfs,udisks2和gvfs-mtp卸载了,于是安装这三个命令后问题解决:

1
sudo pacman -S gvfs gvfs-mtp udisks2

Guake终端下Fcitx5输入面板4k显示器下过小的问题

  1. 打开Fcitx5配置

  2. 切换到附加组件

  3. 切换到经典用户界面

  4. 所有字体设置为15

  5. 勾选在X11上针对不同屏幕使用单独的DPI

  6. 固定 Wayland 的字体 DPI 为 192

  7. 不勾选在Wayland下启用分数缩放

  8. 点确定, 然后找到Fcitx5在状态栏中的图标,右键,重新启动Fcitx5.

参考资料