fedora atomic xfce安裝与配置
前言
什么是 Fedora Atomic Desktops?
简单来说,它的核心系统大部分是只读的,这意味着应用程序和常规操作无法意外修改或破坏关键的系统文件。 这种模式带来了几大核心优势:
原子更新 (Atomic Updates): 系统更新要么完全成功,要么完全不生效,从而杜绝了在更新过程中因断电、网络中断等问题导致系统损坏的风险。
轻松回滚 (Easy Rollbacks): 如果某次更新(例如驱动程序或系统组件)导致了问题,您只需重启便可轻松“回滚”到更新前的上一个工作状态,就像拥有了系统级的“撤销”按钮。
清晰的隔离 (Clean Separation): 系统与应用程序被清晰地分离开来。您可以通过 Flatpak、 Toolbox容器等现代化技术来安装和管理软件,这既保证了应用的独立性,又不会“污染”或搞乱您的主系统。
Note
目前官方并未推出xfce正式版,只有测试版,所以这次是先安装其他桌面版本后切换到xfce桌面,这里记录了切换桌面过程和配置一些软件。
安装atomic系统
在fedora官网,下载 Fedora Atomic 系统镜像。
按照正常操作安装系统
升级系统到最新
升级系统到最新版本
sudo rpm-ostree cleanup
sudo rpm-ostree upgrade
Tip
如果网络连接不畅导致升级失败,可以配置ostree走代理模式,参考使用 RPM-OStree HTTP 或 HTTPS 代理
为rpm-ostree 配置代理
sudo systemctl edit rpm-ostreed.service
# 在如下内容之间添加配置,添加到其他位置不生效。
### Editing /etc/systemd/system/rpm-ostreed.service.d/override.conf
### Anything between here and the comment below will become the contents of the drop-in file
[Service]
Environment="http_proxy=http://$PROXY_USER:$PROXY_PASSWORD@$PROXY_SERVER:$PROXY_PORT/"
### Edits below this comment will be discarded
# 重载与重启服务
sudo systemctl daemon-reload && sudo systemctl restart rpm-ostreed.service
升级完成后,重启系统
sudo systemctl reboot
安装xfce桌面环境
安装xfce桌面
sudo rpm-ostree rebase ostree-unverified-registry:quay.io/fedora-ostree-desktops/xfce-atomic:43
注意: 系统版本要和自己的预期版本一致。 等待安装完成后,重启系统
sudo systemctl reboot
无需担心原有桌面环境,随后的系统升级将自动清理并替换它。如果安装新的桌面体验不好,可以sudo rpm-ostree rollback一键回滚。
系统配置
1. 安装和配置系统相关软件
# 安装输入法,tmux和远程桌面服务
sudo rpm-ostree install ibus-rime tmux xrdp
# 卸载系统的noopenh246占位包,解决视频和远程桌面编码解码问题
sudo rpm-ostree override remove noopenh264 --install openh264 --install mozilla-openh264
- 配置ibus
默认安装的xfce是原版桌面,没有经过特定配适,与安装发行版的桌面有些不同。ibus上一步已经安装,可以添加自己喜欢的输入法,这里以中州韵为例
前面已经安装了中州韵的输入法,启动ibus和开机启动守护程序
# 手动后台运行守护程序,托盘可以看到图标
ibus-daemon -d
配置输入法方案 鼠标右键点击 ibus 图标,选择 Preferences > Add > Chinese > Rime
配置后左键点击ibus图标切换到rime方案,F4快捷键唤出,配置简体中文方案。配置开机启动 Applications > Settings > Session and Startup > Application Autostart > Add 配置如图

- 配置Xrdp
配置远程桌面服务
# 配置开机启动
sudo systemctl enable --now xrdp
# 防火墙放行
sudo firewall-cmd --permanent --add-service=rdp
sudo firewall-cmd --reload
配置登录session
$ vi ~/.xsession
#!/bin/sh
# 这里不要用dbus-launch的方式,那样会造成远程桌面使用toolbox失败
# 強制將 D-Bus 指向 Systemd 管理的 Socket
# 這讓 Podman 能找到正確的 systemd --user 實例
export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$(id -u)/bus"
# 啟動 XFCE 桌面
exec /usr/bin/startxfce4
增加执行权限
chmod +x ~/.xsession
现在可以测试rdp能否登录。
软件安装和配置
1. 安装和配置开发相关软件
- Toolbox
Toolbox是一个开发工具,用于快速部署开发环境,且与原子化系统设计理念兼容,能够弥补系统开发工具的不足。
创建一个默认环境
toolbox create
# 查询列表
toolbox list
# 进入容器环境
toolbox enter
创建一个指定系统环境 目前支持4种发行版
arch,fedora,rhel,ubuntu,
# 创建radhat 10.0环境
toolbox create --distro rhel --release 10.0
# 进入指定容器
toolbox enter rhel-toolbox-10.0
- 安装和配置vscode
vscode 可以使用flatpak方式安装,但是vscode在flatpak仓库中不是官方维护,可以在toolbox创建的环境中安装。
进入一个容器
toolbox enter
# 更新系统
sudo dnf update -y
# 安装输入法, 安装后才可以对容器内GUI应用中输入中文,只需安装软件,无需重新配置。
sudo dnf install ibus ibus-rime
下载vscode安装包,根据容器的实际发行版下载对应的包
Note
值得注意的是,Toolbox创建的环境更像是开发环境容器化,文件和工具可以与系统共享访问,并且支持部署 GUI开发工具。
# 这里以fedora发行版为例
# 下载的rpm包在Downloads文件夹下
cd Downloads
sudo dnf install ./code-1.106.3-1764110935.el8.x86_64.rpm -y
安装完成后,可以在容器里直接启动vscode
code
配置启动快捷键 在容器中,复制快捷图标到桌面,看不见新增图标的,在桌面空白处右键 > arrange desktop icons
cp /usr/share/applications/code.desktop ~/Desktop/
准备一个vscode的ico文件,在桌面选中后编辑,icon选刚刚的图片, 启动命令toolbox run -c fedora-toolbox-43 code 其中-c 参数指定了容器名称,这里的容器名称建议使用容器ID,以确保其唯一性和稳定性,另外的原因是容器名可以随时修改,ID查看方式为toolbox list命令, 会列出当前镜像和容器。
保存后,双击运行测试运行是否正常。
在配置中文界面时可能会遇到字体是方块,在容器中安装中文字体
sudo dnf install wqy-zenhei-fonts
# 供参考,可以安装自己喜欢的字体
- Podman Desktop
potdman desktop已不提供二进制包,使用flatpak安装
添加flathub用户源
flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo
安装podman desktop
flatpak install --user flathub io.podman_desktop.PodmanDesktop
等待安装完成,文件真的很大
2. 日常软件配置
- Obsidian
对于常用软件,没有严重BUG就使用固定版,这里Obsidian使用appimages打包的版本。Obsidian在Xwaylay环境有严重BUG,白板无法拖动,需要在X11环境运行,并且xfce在X11运行。
- Snipaste
强大的截图工具,用上就停不下来的那种。
创建文件夹并放置软件包和图标
桌面空白处右键> create launcher

配置开机启动 Applications > Settings > Seesion and Startup > Application Autostart > Add

配置快捷键,托盘图标无法唤出配置菜单
$ cd ~/.snipaste/
vi config.ini
[hotkeys]
snip="134217793, 134217793"
如果对配置文件编写不熟悉,或者已有 Windows 环境下的配置,可以在 Windows系统中配置好快捷键后,将 config.ini 文件复制到此处。
Note
目前已经使用atomic系统大约半个月,桌面配置从以前的工作环境导入进来,UI可以做到一键恢复。在配置好软件后,使用上没有多少差异,偶尔有些场景会出现严重卡顿,不建议作为正式的使用环境。有些软件需要额外安装,测试版没有很多预装软件。
