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

2026年的第一篇文章,献给 COSMIC。 作为一名对系统环境有轻微“洁癖”的用户,我曾以为会长期无奈的留在 GNOME+wayfire 的阵营。早几个月在 NixOS 上折腾 COSMIC Alpha6/7 版时,那种“一边被频繁假死折磨,一边被惊艳设计打动”的矛盾感仍历历在目。

直到最近,偶尔翻出那份已经被注释掉的cosmic.nix,重新尝试后发现。现在的 COSMIC 已变成了一个完全可用的生产力工具。

cosmic 优点

个人感受

  • 默认配置 开箱即用 当然这也不是啥太大优点,但是从其他桌面过度过来很平滑
  • 默认外观出色,不模仿 macOS 或 GTK 风格;panel和dock都支持自定义风格可以改到非常符合自己的xp
  • 原生并且是完美的兼容**平铺(Tiling)与堆叠(Stacking)**模式,且支持按工作区独立配置。cosmic的窗口管理的这个体验前所未有。
  • 自定义项 够丰富也够简单。
    • 没有kde那么繁琐,也没有gnome那么简陋。
    • 自定义快捷键简单 完善,且支持直接配置文件直接设定,
    • 自带的dock 可以改成半透明 挺漂亮(支持浮动模块 左右上下中 左右对其等),但是没有那么炫酷(dock图标动画很容易影响操作精度)
    • panel可以很漂亮,半透明悬浮模式等
  • 配置友好:采用 RON 格式 的纯文本配置,支持无感热重载,极其适合使用 Nix 进行版本管理。
  • cosmic-term 非常惊艳 性能自不必说,还自带了类似 terminator 的分屏功能。
  • 基础完善:内置截图工具并且flameshot运行也良好,完美支持 fcitx5 输入法,甚至一些辅助功能都已经可用(屏幕阅读,翻转颜色、灰色等)。

众所周知的优势

  • 极致性能: 得益于 Rust 的内存安全和 Iced 工具包,COSMIC 的响应速度极快,甚至在老旧硬件上也能表现出类似 Xfce 的轻量感。
  • 原生平铺窗管 (Tiling): 它是目前唯一一个在设计之初就将“堆叠”与“自动平铺”完美融合的桌面环境,非常适合开发者和多任务处理者。
  • 高度可定制性: 相比于 GNOME 的“克制”,COSMIC 允许用户在无需安装插件的情况下,深度自定义面板、Dock、主题颜色和快捷键。

缺点和目前发现的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标记的)
  • 在我的thinkbookamd笔记本上电源管理貌似有问题,偶尔出现无法彻底关机的情况。
  • 中文语言包支持貌似不完善,region&language里面貌似尚无法添加非英文语言和格式
  • 微信因为托盘的菜单么有显示主界面按钮,关闭到托盘后无法再次唤起,只能退出再次打开。
  • cosmic-files 非常不完善。我没找到把文件夹放到左侧收藏的办法;另外 我在grid视图下移动一些图片 到另外一个窗口的时候发现 第一个窗口闪烁 剩下的图片不显示了,需要重新进入文件夹才可以。在多个窗口 修改其中一个窗口图标大小的时候,所有窗口的图标大小都跟着变 体验会很诡异。 关于收藏还有一个问题,我使用caja添加到收藏夹的目录 在firefox vlc 等应用下 文件对话框可以显示(gtk/qt),在zed/chrome的文件管理对话框就无法显示。

几个奇怪的问题

  • 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原生应用不支持fcitx5,参考 iced osmic-epoch/ 可惜了cosmic-term这么好用的东西.

目前已经有日本网友的第三方版本 解决了这个问题覆盖所有cosmic的自带组件。但是在这之前官方说不会在1.x版本解决这个问题,在未来2.x会处理。

cosmic众所周知的问题

  • 应用生态(如文件管理器、播放器等 还有插件)尚在起步阶段。但是实际上 cosmic-term相当惊艳,cosmic-edit我是不太可能会用(zed更好),cosmic-player(为什么不用vlc) cosmic-files(前文说了不好用,我用caja)
  • 主要由 System76 推动,并且只有 Pop!_OS 默认安装,普及率不乐观。
  • 虽然开源,但是参与开发需要Rust + Iced,两个都是门槛。比如我 虽对rust较为熟悉,但对Iced完全是小白。

建议

目前已经可用,除了原生comsmic的fcitx5的问题,其他地方都不会影响使用。 原生的Tiling和堆叠窗口完美支持,没有任何一个桌面/wm可以比拟这种体验。 如果能够适应 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 设计