归档:Baldur
openSUSE Baldur
{{Warning|5月27日,openSUSE MicroOS Desktop 被重命名为 openSUSE Aeon (Gnome Desktop) 和 openSUSE Kalpa (Plasma Desktop)。我们希望通过 openSUSE Baldur (Xfce Desktop 请求) 增加另一个桌面环境,但该请求 被拒绝
openSUSE Baldur 仍在开发中,请记住这一点!
openSUSE Baldur 适用于哪些用户?
它不适合所有人。您高度可定制的 Tumbleweed 和 Leap 桌面是安全的,并且将继续是那些希望调整其桌面的人的最佳选择。
它应该非常适合那些不再想摆弄桌面的懒惰开发者,只是“完成工作”,特别是如果他们在容器周围进行开发。
它也应该吸引与现在更习惯于 iOS、Chromebook 或 Android 类似的体验的受众,在这种体验中,操作系统是静态的、自动化的和可靠的,而应用程序是用户关心的主要内容。
要深入了解起源以及为什么某些用户应该使用 openSUSE Baldur,请查看以下研讨会
► https://youtu.be/V-0yngWXbU4?feature=shared
► https://www.youtube.com/live/PPYOM3z_DIc?feature=shared
设计目标
Baldur 应该像 openSUSE MicroOS 一样可靠、可预测和不可变。
Baldur 的可定制性应该低于常规的 openSUSE Tumbleweed/Leap。
Baldur 应该很小,但不能以牺牲功能为代价。打印、游戏、媒体制作等等都应该可以正常工作。
Baldur 应该开箱即用,无需额外的配置即可获得软件安装和网页浏览等关键功能。默认提供的所有功能都应该可以正常工作 - 不起作用的功能不应该提供/可见/可供用户使用。
如何下载和安装
由于 openSUSE Baldur 仍在开发中,并且不在 openSUSE MicroOS 的官方安装介质中,因此安装仍然有点复杂!
因为需要一些 Linux 知识,才能在基本安装 openSUSE MicroOS 后使用命令行运行安装脚本。
因此,请观看以上两个视频!
您可以在此处找到安装脚本以及其他文件和说明
► https://github.com/cryinkfly/openSUSE-Baldur
这是在基本安装 openSUSE MicroOS 后获取 XFCE 桌面的命令
curl https://raw.githubusercontent.com/cryinkfly/openSUSE-Baldur/main/files/builds/stable-branch/bin/install.sh > install.sh && chmod +x install.sh && ./install.sh
安装应用程序的方式(按优先级排序)
现在您已经安装了 Baldur,您可能想安装软件。
因为它仅提供一个包含桌面环境的最小基础系统,因此默认情况下它被设计为仅带有基本的配置工具。
因此,所有应用程序、浏览器、特定应用程序所需的编解码器等均由 FlatHub 的 FlatPak 提供。
为了使这个过程对用户更加容易,GNOME Software 集成了所有可用 flatpak 的 FlatHub 仓库。这样,您可以简单地搜索和找到您最喜欢的应用程序,以实现无缝集成的体验。
虽然还有其他安装软件的方法,但请记住,强烈建议按照以下优先级顺序安装软件
- 来自您选择的软件中心或 Flathub 的 FlatPak
- 用户 distrobox 中的 RPM distrobox-enter
- root distrobox 中的 RPM distrobox-enter -r
- 通过 transactional-update 安装 RPM —— 用于驱动程序、内核模块、严格来说您主机操作系统正常工作所需的。
重申一下:所有内容都应该通过 FlatPak 完成,或者如果软件包不可用作 flatpak,则安装在 Distrobox 中。使用 transactional-update 仅限于您主机操作系统正常工作所需的(特殊的驱动程序、专门的 VPN 服务)。
注意:Distrobox 默认随 Aeon 附带。它允许用户在您的终端内安装任何 Linux 发行版。对于那些希望通过 Distrobox 运行 GUI 应用程序的人,可以使用特殊的导出命令,以便应用程序感觉更原生并与系统集成。请查看 [Distrobox 部分] 以了解有关这种方便的启动基于 distrobox 应用程序的方式的更多信息。
事务更新简介
openSUSE Baldur 不像 openSUSE Tumbleweed 或 openSUSE Leap 一样使用 zypper 安装 RPM 包并直接使用它们。openSUSE Baldur 使用 transactional-update,zypper 在其底层。
大多数情况下,您不需要以交互方式使用这些命令,因为 Aeon 通过 transactional-update.service systemd 服务具有自动系统更新。
事务更新 - 示例命令
事务更新的命令如下。注意:命令完成后,请务必重新启动才能看到更改!
- sudo transactional-update pkg install package_name 安装 rpm 包
- sudo transactional-update pkg remove package_name 卸载 rpm 包
- sudo transactional-update dup 执行系统升级到下一个版本
- sudo transactional-update shell 打开下一个快照的 shell(您可以在那里使用 zypper 命令)。这仅应用于调试目的。只能通过使用 transactional-update shell 重现的任何错误报告几乎肯定会被关闭为 WONTFIX。
- sudo transactional-update rollback snapshot_number 将系统回滚到编号的快照。使用 'last' 代替快照编号以回滚到最后一个工作快照。不要使用 snapper 进行回滚。
事务更新 - 自动更新
默认情况下,transactional-update.timer 处理自动系统更新。这设置为 daily,这意味着该任务每天在 00:00:00 执行。
如果在此时间计算机关闭,由于计时器设置为 persistance=true,则更新将在它能够时进行。
可能无法触发更新的原因包括
- 计算机已关闭
- 互联网连接中断 - 在计划执行的时间。
这不应引起问题,因为 transactional-update 的工作方式是新包安装在一个新的快照上,要生效必须重新启动。
要跟踪 transactional-update 是否能够升级并正确运行,您可以使用 journalctl
$ sudo journalctl -u transactional-update.service
您还可以使用 journalctl 和 -f 标志来实时跟踪日志。
事务更新 - 关于快照和启动行为的最终说明
默认情况下,每个 transactional-update 命令都会生成一个单独的、自包含的快照,其中包含 transactional-update 命令请求的更改。
此快照是基于上次已知良好/已启动的快照。多个 transactional-update 命令生成的最后一个快照在重新启动时生效。
换句话说,sudo transactional-update pkg install $pkg1 之后是 sudo transactional-update pkg install $pkg2 然后重新启动,结果是一个安装了 $pkg2 的系统,但没有安装 $pkg1。
这是预期的、明智的默认行为 - Baldur 始终希望从上次已知良好的/已启动的快照移动到其新状态,以尽可能最小、最不破坏的方式。
这尤其有道理,因为默认/预期行为是 Baldur 会自动更新,大多数用户不应该以交互方式使用 transactional-update。通过定期在后台自动进行 transactional-update dup,Baldur 希望确保它仅更新到最新的干净系统更新状态,而不是一些奇怪的混合了以前未启动、未知是否良好的、未经检查的中间 transactional-update dup,从未启动过。
但是,忽略最佳实践并以交互方式使用 transactional-update 时,有时您可能希望对现有的未启动的、未知是否良好的快照运行 transactional-update。
为此,请使用 transactional-update --continue
示例
sudo transactional-update pkg install $pkg1 之后是 sudo transactional-update --continue pkg install $pkg2 将在包含 $pkg1 的同一快照中安装 $pkg1,然后 $pkg2,将该组合快照标记为下一个启动目标。
但是,如果出现问题,则无需担心弄清楚是 $pkg1 还是 $pkg2 导致了任何问题,因为用户需要回滚到 $pkg1 安装之前的快照才能返回到上次已知良好的状态。
GNOME Software + Flathub 集成
XFCE 目前仍在开发中!
- GNOME Software 用作软件中心,以便用户可以轻松地在 XFCE 下安装和管理其他应用程序。
- 首次启动时,已启用 flatpak 并默认安装了一些 flatpak(Mozilla Firefox、文本编辑器、GNOME 计算器等)。
- 首次启动脚本完成后,您可以打开 GNOME Software 以从 flathub 安装更多软件。
DistroBox
Distrobox 可以像 toolbox 一样使用(默认包含在 MicroOS 服务器版本中),但对于桌面使用,它具有一些其他优势。请参阅 https://github.com/89luca89/distrobox 以获取所有选项。
故障排除
本节描述了 openSUSE Baldur 上已知的发行问题及其解决方案。
设置主机名
使用以下命令设置主机名,因为目前它无法从 GNOME 设置中工作
# sudo hostnamectl set-hostname <new name>
重新启动,主机名更改将生效。
调整 transactional-update.timer
根据您的日常使用情况,即使 persistance=true,计时器也可能无法成功触发自动更新过程,因为它在每次启动时都会添加一个随机延迟,即 RandomizedDelaySec
如果您希望自动每天更新您的系统,您可能会发现需要调整上述延迟。
编辑 transactional-update.timer
# sudo systemctl edit transactional-update.timer
添加以下行以创建 override.conf(位于 /etc/systemd/system/transactional-update.timer.d/override.conf)
[Timer]
RandomizedDelaySec=10m
上面的示例是最大 10 分钟的随机延迟。(默认值为 2 小时)
根据您的使用情况更改时间。
Steam Proton、Bottles、WINE、Lutris、Android Studio 模拟器从 flatpak 无法工作
如果您在使用 WINE 和基于 WINE 的程序时遇到问题,则可能是由于 SELinux 问题,可以通过运行以下命令进行检查
# sudo getsebool selinuxuser_execmod
对于 Android Studio
# sudo getsebool selinuxuser_execstack
如果返回 'selinuxuser_execmod --> disabled' 和 'selinuxuser_execstack --> disabled',您需要启用它。这可以临时完成(下次启动时重置)
针对 WINE
# sudo setsebool selinuxuser_execmod 1
对于 Android Studio
# sudo setsebool selinuxuser_execstack 1
或者可以设置为持久生效
# sudo setsebool -P selinuxuser_execmod 1 # sudo setsebool -P selinuxuser_execstack 1
openSUSE 安全团队正在审查这些默认策略,您启用此功能需要自行承担风险。请参阅 https://bugzilla.opensuse.org/show_bug.cgi?id=1206292 & https://bugzilla.opensuse.org/show_bug.cgi?id=1206789 以获取更多信息。
报告错误
请使用以下链接报告错误: 报告 openSUSE Baldur 的错误
请参阅 提交错误报告 以获取有关如何更好地提交错误的更多信息
提问的地方
由于 openSUSE Aeon 有多个地方可以讨论该项目
仍在进行中!
所有这些频道都通过 Matrix 桥接在一起,因此在一个频道中发送的评论,将在其他两个频道中看到。