COSMIC 桌面
COSMIC 是一个桌面环境,提供性能、效率和个性化功能,以支持多种使用场景。
COSMIC 桌面的组件
- cosmic-applets
- cosmic-applibrary
- cosmic-bg
- cosmic-comp
- cosmic-edit
- cosmic-files
- cosmic-greeter
- cosmic-icons
- cosmic-idle
- cosmic-initial-setup
- cosmic-launcher
- cosmic-monitor
- cosmic-notifications
- cosmic-osd
- cosmic-panel
- cosmic-player
- cosmic-randr
- cosmic-screenshot
- cosmic-session
- cosmic-settings
- cosmic-settings-daemon
- cosmic-sound-theme
- cosmic-store
- cosmic-term
- cosmic-theme-editor
- cosmic-workspaces-epoch
- xdg-desktop-portal-cosmic
- pop-launcher
COSMIC 库/ crate
用于应用和小部件的 COSMIC 工具包
在 Pop!_OS 上安装
Pop!_OS 24.04
COSMIC 桌面环境的首个版本(Epoch 1)已包含在 Pop!_OS 24.04 中。获取 24.04 版本有两种方式:
- 从最新发行版 ISO 进行安装。
- 使用以下命令升级现有的 Pop!_OS 22.04 安装:
pop-upgrade release upgrade -f- 如果在升级过程中遇到问题,请在 pop-upgrade GitHub 仓库 中提交问题,或加入 Pop!_OS Mattermost 聊天服务器 寻求帮助。
COSMIC 用户,包括 Pop!_OS 用户,欢迎加入 Pop!_OS Mattermost 聊天服务器 以获取开发新闻。加入 COSMIC Epoch 频道 进行 COSMIC 用户讨论,或加入 开发频道 进行面向开发者的讨论。
Pop!_OS 22.04
由于依赖要求,COSMIC Epoch 不再在 Pop!_OS 22.04 LTS 上接收更新。 不再建议在 Pop!_OS 22.04 上测试 COSMIC Epoch,因为最新的错误修复和功能仅在 Pop!_OS 24.04 等较新的发行版上可用。
单独的 COSMIC 应用程序可在 Pop!_OS 22.04 的默认 GNOME 会话中运行。您可以使用以下命令安装单独的 COSMIC 应用程序:
sudo apt install cosmic-edit cosmic-files cosmic-player cosmic-store cosmic-term
22.04 上的旧版本
COSMIC Epoch 桌面环境 alpha 的旧版本仍然可在 Pop!_OS 22.04 LTS 上获取。如果您在 Pop!_OS 22.04 上测试 COSMIC Epoch 时遇到 bug,请在报告之前检查它们是否也存在于 Pop!_OS 24.04 中。您可以按照以下说明在 22.04 上安装旧版本:
启用 Wayland
sudo nano /etc/gdm3/custom.conf
将 WaylandEnable 更改为 true:
WaylandEnable=true
重启以使此更改生效。
更新 NVIDIA 用户的 udev 规则
sudo nano /usr/lib/udev/rules.d/61-gdm.rules
查找 LABEL="gdm_prefer_xorg" 和 LABEL="gdm_disable_wayland"。将 # 添加到 RUN 语句中,使其看起来像这样:
LABEL="gdm_prefer_xorg"
#RUN+="/usr/libexec/gdm-runtime-config set daemon PreferredDisplayServer xorg"
GOTO="gdm_end"
LABEL="gdm_disable_wayland"
#RUN+="/usr/libexec/gdm-runtime-config set daemon WaylandEnable false"
GOTO="gdm_end"
重启 gdm
sudo systemctl restart gdm
安装 COSMIC
sudo apt install cosmic-session
注销后,点击您的用户,右下角会出现一个齿轮图标。将设置更改为 COSMIC。然后继续登录。
在 Arch Linux 上安装
通过 cosmic-session 或 cosmic 组进行安装,例如:
pacman -S cosmic-session 或 pacman -S cosmic
然后注销,点击您的用户,右下角的齿轮图标会在您的桌面环境旁边显示一个额外的条目。更改为 COSMIC 并继续登录。 如需更详细的讨论,请参阅 Arch wiki 中的相关章节。
在 Fedora Linux 上安装
COSMIC 可以从 Fedora 41+ 的内置软件仓库中安装:
sudo dnf install @cosmic-desktop-environment
或者,对于更新版本的 COSMIC 软件包(但质量控制较少),您可以使用每日 COPR 构建:
sudo dnf copr enable ryanabx/cosmic-epoch && sudo dnf install cosmic-desktop
安装完成后,注销,点击您的用户,并使用右下角的齿轮图标选择 COSMIC 桌面环境,然后再登录。 如需更多信息,请查看 Fedora Wiki COSMIC SIG 页面 或 COPR 页面。
在 NixOS 上安装
可以通过在 NixOS 配置文件(configuration.nix 或在您的 Flake 中)添加以下行来启用 NixOS 上的 COSMIC 模块:
{
# Enable the COSMIC login manager
services.displayManager.cosmic-greeter.enable = true;
# Enable the COSMIC desktop environment
services.desktopManager.cosmic.enable = true;
}
虽然某些包(如 cosmic-session)可能存在于较早版本中,
但添加对 COSMIC 完整支持的模块是在 NixOS 25.05 中引入的。
您可以在 NixOS Wiki 上找到更多详细信息。
在 openSUSE tumbleweed 上安装
可以通过使用 opi 添加 X11:COSMIC:Factory 仓库来安装 Cosmic。
opi patterns-cosmic
选择 X11:COSMIC:Factory,安装后保留该仓库。
然后注销,点击您的用户,右下角的齿轮图标会在您的桌面环境旁边显示一个额外条目。切换到 COSMIC 并继续登录。 如需进一步信息,您可以查看 OBS 页面。
在 Gentoo Linux 上安装
可以通过自定义 overlay 在 Gentoo 上安装 COSMIC。使用您首选的 overlay 管理器(如 eselect)添加该 overlay,然后安装桌面环境:
eselect repository add cosmic-overlay git https://github.com/fsvm88/cosmic-overlay.git
接下来,与仓库同步
emaint sync -r cosmic-overlay
并安装 COSMIC 桌面环境及其相关主题:
emerge cosmic-meta pop-theme-meta -av
请注意,ebuilds 带有测试关键词,在稳定系统上需要解除掩码才能成功安装。
然后注销,并将桌面环境切换为 COSMIC,具体步骤取决于你的登录管理器。 如需更多信息,你可以查阅 Gentoo Wiki 或 Overlay Repository。
在未打包 COSMIC 组件的发行版上设置
COSMIC 桌面环境需要一些依赖项。你的发行版中的 rustc 和 just 包可能版本过旧,因此我们建议使用 rustup 安装 rustc 和 cargo,并使用 cargo 安装 just。 (此列表并非力求详尽,而是试图提供一个合理的起点。有关详细说明,请查看各个项目):
- just
- rustc
- cargo
- c compiler (cc)
- make
- git
- libwayland
- mesa (或第三方 libEGL/libGL 实现,尽管通常建议与 mesa 的 libglvnd 进行接口对接)。
- libseat
- libxkbcommon
- libinput
- udev
- dbus
- libdisplay-info-dev
- libgstreamer1.0-dev
- libgstreamer-plugins-base1.0-dev
可选(尽管构建系统目前可能需要这些库):
- libsystem
- libpulse
- libexpat1
- libfontconfig
- libfreetype
- lld
- libgbm-dev
- libclang-dev
- libpipewire-0.3-dev
注意:libfontconfig、libfreetype 和 lld 是特定于 Linux 发行版的包。如果你没有使用 Pop!_OS,可能需要为你的发行版找到等效版本。
必需的包可以通过以下方式安装:
sudo apt install -y \
build-essential \
dbus \
git \
libdbus-1-dev \
libdisplay-info-dev \
libflatpak-dev \
libglvnd-dev \
libgstreamer-plugins-base1.0-dev \
libgstreamer1.0-dev \
libinput-dev \
libpam0g-dev \
libpixman-1-dev \
libseat-dev \
libssl-dev \
libwayland-dev \
libxkbcommon-dev \
rustup \
udev
rustup toolchain install stable
cargo install just
以及可选的:
sudo apt install -y \
libclang-dev \
libexpat1-dev \
libfontconfig-dev \
libfreetype-dev \
libgbm-dev \
libpipewire-0.3-dev \
libpulse-dev \
libsystemd-dev \
lld \
mold
它们可以一次性安装:
sudo apt install -y \
build-essential \
dbus \
git \
libclang-dev \
libdbus-1-dev \
libdisplay-info-dev \
libexpat1-dev \
libflatpak-dev \
libfontconfig-dev \
libfreetype-dev \
libgbm-dev \
libglvnd-dev \
libgstreamer-plugins-base1.0-dev \
libgstreamer1.0-dev \
libinput-dev \
libpam0g-dev \
libpipewire-0.3-dev \
libpixman-1-dev \
libpulse-dev \
libseat-dev \
libssl-dev \
libsystemd-dev \
libwayland-dev \
libxkbcommon-dev \
lld \
mold \
rustup \
udev
rustup toolchain install stable
cargo install just
测试
目前测试 COSMIC DE 最简单的方法是构建一个 systemd 系统扩展(参见 man systemd-sysext)。
git clone --recurse-submodules https://github.com/pop-os/cosmic-epoch
cd cosmic-epoch
just sysext
这将创建一个名为 cosmic-sysext 的系统扩展,您可以将其(切勿重命名!)移动到例如 /var/lib/extensions。
在启动 systemd-sysext.service(sudo systemctl enable --now systemd-sysext)并刷新(sudo systemd-sysext refresh)或重启后,
COSMIC 将成为您首选显示管理器中的一个可用选项。
如果您启用了 SELinux(例如在 Fedora 上),已安装的扩展将不会应用正确的标签。
要测试 COSMIC,您可以暂时禁用它并重启 gdm(请注意,这将关闭您正在运行的程序)。
sudo setenforce 0
sudo systemctl restart gdm
注意:以这种方式创建的扩展将链接到您系统上的特定库,并且无法在其他发行版上工作。 它还需要在运行时安装之前提到的库/依赖项(系统扩展本身不包含这些库)。
只读文件系统:如果您没有使用不可变发行版,您可能会注意到 /usr/ 和 /opt/ 是只读的。
这是由于启用了 systemd-sysext 所致,测试完成后您可以禁用 systemd-sysext(sudo systemctl disable --now systemd-sysext)
因此,这不是长期部署的合适方法。
打包
COSMIC DE 已为 Pop!_OS 进行了打包。作为参考,请查看项目仓库中的 debian 文件夹。
这些以及本仓库中的 justfile 可作为如何打包 COSMIC DE 的参考,但在此阶段不提供向后兼容性保证。
版本控制
COSMIC DE 是一个正在进行中的项目,包含许多变动部分。 我们尽力确保本仓库中引用的子模块提交能够一起构建和运行;因此,它们可能(暂时)不包含这些仓库的最新更新和功能。
对应当前发布的提交被标记为 epoch-X.Y.Z,其中 X 是主要版本,最后两个数字表示增量次要版本。(在开发新的主要版本期间,可能会附加额外的 -alpha.Y.Z 或 -beta.Y.Z。)
COSMIC Epoch 版本号主要面向非 Pop!_OS 发行版;Pop!_OS 使用自己的构建系统,通常会在子模块被标记为 COSMIC Epoch 发布的一部分之前,先收到针对各个子模块的更新。
翻译
如需提交 COSMIC 的您所在语言的翻译,请使用 Weblate:https://hosted.weblate.org/projects/pop-os/