COSMIC 桌面
目前是一个不完整的alpha版本。以下是针对各种发行版的测试说明。
COSMIC 桌面的组成部分
- cosmic-applets
- cosmic-applibrary
- cosmic-bg
- cosmic-comp
- cosmic-edit
- cosmic-files
- cosmic-greeter
- cosmic-icons
- cosmic-launcher
- cosmic-notifications
- cosmic-osd
- cosmic-panel
- cosmic-randr
- cosmic-screenshot
- cosmic-session
- cosmic-settings
- cosmic-settings-daemon
- cosmic-store
- cosmic-term
- cosmic-theme-editor
- cosmic-workspaces-epoch
- xdg-desktop-portal-cosmic
- pop-launcher
COSMIC 库/crates
在未打包 cosmic 组件的发行版上的设置
COSMIC 桌面环境需要几个依赖项: (此列表并不试图详尽无遗,而是试图提供一个不错的起点。有关详细说明,请查看各个项目):
- just
- rustc
- libwayland
- mesa(或第三方 libEGL/libGL 实现,尽管通常建议与 mesa 的 libglvnd 接口)
- libseat
- libxkbcommon
- libinput
- udev
- dbus
可选(尽管构建系统可能当前需要这些库):
- libsystem
- libpulse
- pop-launcher
- libexpat1
- libfontconfig
- libfreetype
- lld
- cargo
- libgbm-dev
- libclang-dev
- libpipewire-0.3-dev
注意:libfontconfig
、libfreetype
和 lld
是特定于 Linux 发行版的包。如果您不使用 Pop!_OS,可能需要找到适合您发行版的等效版本。
可以使用以下命令安装必需的依赖项:
sudo apt install just rustc libglvnd-dev libwayland-dev libseat-dev libxkbcommon-dev libinput-dev udev dbus libdbus-1-dev libpam0g-dev libpixman-1-dev libssl-dev libflatpak-dev -y
可以使用以下命令安装可选的依赖项:
sudo apt install libsystemd-dev libpulse-dev pop-launcher libexpat1-dev libfontconfig-dev libfreetype-dev mold cargo libgbm-dev libclang-dev libpipewire-0.3-dev -y
可以一次性安装所有依赖项:
sudo apt install just rustc libglvnd-dev libwayland-dev libseat-dev libxkbcommon-dev libinput-dev udev dbus libdbus-1-dev libsystemd-dev libpixman-1-dev libssl-dev libflatpak-dev libpulse-dev pop-launcher libexpat1-dev libfontconfig-dev libfreetype-dev mold cargo libgbm-dev libclang-dev libpipewire-0.3-dev libpam0g-dev -y
测试
目前测试 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 仍在开发中,因此目前没有遵循版本控制方案。 我们尽最大努力保持此仓库中引用的子模块提交能够构建并协同工作,因此它们可能尚未包含这些仓库的最新更新和功能。
关于适当地对所有这些组件进行版本控制和打包的说明将在 COSMIC DE 发布第一个版本后的后期阶段添加。
在 Pop!_OS 上安装
COSMIC DE 正处于第一个 alpha 版本。欢迎使用和测试 alpha 版本。预期会出现错误和故障。
启用 Wayland
sudo nano /etc/gdm3/custom.conf
将以下内容改为 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 上安装
可以通过首选的 AUR 助手以常规方式安装,例如:
paru -S cosmic-session-git
或 yay -S cosmic-session-git
然后注销,点击您的用户,右下角的齿轮图标会显示一个额外的条目,与您的桌面环境一起。切换到 COSMIC 并继续登录。 有关更详细的讨论,请参考 Arch wiki 中的相关部分。
在 Fedora Linux 上安装
可以通过 Fedora COPR 仓库安装 Cosmic。
dnf copr enable ryanabx/cosmic-epoch
dnf install cosmic-desktop
然后注销,点击您的用户,右下角的齿轮图标会显示一个额外的条目,与您的桌面环境一起。切换到 COSMIC 并继续登录。 有关更多信息,您可以查看 COPR 页面。