comic桌面已经完全可用而且非常优秀

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;
      };
    };
  };
}
Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计