2026年的第一篇文章,献给 COSMIC。 作为一名对系统环境有轻微“洁癖”的用户,我曾以为会长期无奈的留在 GNOME+wayfire 的阵营。早几个月在 NixOS 上折腾 COSMIC Alpha6/7 版时,那种“一边被频繁假死折磨,一边被惊艳设计打动”的矛盾感仍历历在目。
直到最近,偶尔翻出那份已经被注释掉的cosmic.nix,重新尝试后发现。现在的 COSMIC 已变成了一个完全可用的生产力工具。
cosmic 优点
仅仅个人感受
- 默认配置 开箱即用 当然这也不是啥太大优点,但是从其他桌面过度过来很平滑
- 默认外观出色,不盲目模仿 macOS 或 GTK 风格;
- 完美兼容**平铺(Tiling)与堆叠(Stacking)**模式,且支持按工作区独立配置。。
- 自定义项 勉强够用
- 自定义快捷键简单 完善,且支持直接配置文件直接设定,
- 自带的dock 可以改成半透明 挺漂亮(支持浮动模块 左右上下中 左右对其等),但是没有那么炫酷(dock图标动画很容易影响操作精度)
- panel可以很漂亮,半透明悬浮模式等
- 配置友好:采用 RON 格式 的纯文本配置,支持无感热重载,极其适合使用 Nix 进行版本管理。
- 基础完善:内置截图工具并且flameshot运行也良好,完美支持 fcitx5 输入法,甚至一些辅助功能都已经可用(屏幕阅读,翻转颜色、灰色等)。
缺点和目前发现的bug
- 生态与审美倾向:内置主题配色较差,目前缺乏插件和第三方主题生态。
- 配置项储存的很分散,
config/cosmic/里面一堆ron文件,需要找一会。不过好在需要用nix托管的也就那几个。 - 屏幕和堆叠窗口的默认快捷键很多和 gnome/i3w等 差距加大,需要适应一下或者自己改一下
- python tk写的小工具
root.geometry("650x650+5+5") 无法控制窗口位置 - 同时在 dock固定图标的配置文件
/home/y/.config/cosmic/com.system76.CosmicAppList/v1/favorites python tk写的小工具被标记为 "Tk" 也就是StartupWMClass很奇怪的感觉(gnome是通过.desktop文件名来在dconf标记的) - 出现过两次无法熄屏无法休眠的情况 一直在锁屏界面。尚不确定是什么问题导致的,也可是我后台的活动进程。
- 中文支持貌似不完善,我不是中文环境所以不确定这个问题是否存在,只是看 region&language里面无法添加非英文语言和格式
- 在我的thinkbookamd笔记本上电源管理貌似有问题,偶尔出现无法彻底关机的情况。\
- 微信因为托盘的菜单么有显示主界面按钮,关闭到托盘后无法再次唤起,只能退出再次打开。
几个奇怪的问题
- cosmic-greeter 无法自动启动cosmic-session。需要输入exit才可以
- 不使用cosmic-greeter启动cosmic(lightdm/tty启动的) Alt Tab/Super Tab无法切换窗口。
- 不使用cosmic-greeter启动cosmic(lightdm/tty启动的)会出现无法彻底关机。
- 一个大概是nixos-unstable的问题禁用cosmic-greeter会自动启用一个 lightdm 不过这个lightdm是可以登录到cosmic的,只是会出现一些别的问题。
建议
如果能够适应 COSMIC 的操作逻辑,建议尽快尝试并切换。
nixos下cosmic.nix
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
| {
pkgs,
username,
...
}:
{
services.xserver.enable = true;
/* 还有一点小问题的样子 干脆不用
services.displayManager.cosmic-greeter = {
enable = true;
};
*/
services.desktopManager.cosmic = {
enable = true;
xwayland.enable = true;
showExcludedPkgsWarning = true;
};
# dont install default applications
environment.cosmic.excludePackages = with pkgs; [
cosmic-edit # text editor
cosmic-icons # icon theme
cosmic-store
cosmic-player # video player
# cosmic-randr # configure wayland outputs
# cosmic-screenshot # 截图工具 虽然我用flameshot 但是留着把
# cosmic-term # terminal 挺好用的 算是kitty + terminator 的二合一 留下用
cosmic-wallpapers # wallpapers
];
environment.systemPackages = with pkgs; [
cosmic-randr
flameshot
];
# 下面是nix托管的cosmic的配置文件 其实没啥必要
home-manager = {
users.${username} = {
home.file.".config/cosmic/com.system76.CosmicAppList/v1/favorites" = {
recursive = true;
force = true;
source = ./config_Dock_favorites.ron;
};
home.file.".config/cosmic/com.system76.CosmicPanel.Dock/v1/plugins_center" = {
recursive = true;
force = true;
source = ./config_Dock_plugins_center.ron;
};
home.file.".config/cosmic/com.system76.CosmicSettings.Wallpaper/v1/custom-images" = {
recursive = true;
force = true;
source = ./config_bg_custom-images.ron;
};
home.file.".config/cosmic/com.system76.CosmicSettings.Shortcuts/v1/custom" = {
recursive = true;
force = true;
source = ./config_Shortcuts_custom.ron;
};
};
};
}
|