归档:Baldur

(重定向自 )
跳转到:导航搜索

openSUSE Baldur

{{Warning|5月27日,openSUSE MicroOS Desktop 被重命名为 openSUSE Aeon (Gnome Desktop) 和 openSUSE Kalpa (Plasma Desktop)。我们希望通过 openSUSE Baldur (Xfce Desktop 请求) 增加另一个桌面环境,但该请求 被拒绝

openSUSE Baldur 仅提供一个包含 XFCE 桌面环境和基本配置工具的最小基础系统。所有应用程序、浏览器、编解码器等均由 FlatHub 的 FlatPak 提供。
Icon-warning.png

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 仓库。这样,您可以简单地搜索和找到您最喜欢的应用程序,以实现无缝集成的体验。

虽然还有其他安装软件的方法,但请记住,强烈建议按照以下优先级顺序安装软件

  1. 来自您选择的软件中心或 Flathub 的 FlatPak
  2. 用户 distrobox 中的 RPM distrobox-enter
  3. root distrobox 中的 RPM distrobox-enter -r
  4. 通过 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 以获取所有选项。

有关更多文档,请参阅 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 桥接在一起,因此在一个频道中发送的评论,将在其他两个频道中看到。