BoxBuddy 与 DistroShelf:这两款 Distrobox 管理器的完整比较和实用指南

  • BoxBuddy 优先考虑创建、访问和更新容器的简单性;DistroShelf 提供更高级的视图和控制(状态、克隆、导出)。
  • 可访问的安装:通过 Flathub(Flatpak)的 BoxBuddy;AUR 和 nixpkgs 中提供的 DistroShelf,可选择从源代码进行编译。
  • 将应用程序导出到系统菜单是两者的关键;如果 UI 由于权限而失败,请使用 Distrobox 的命令来导出或取消导出。
  • 在容器中隔离“特殊”应用程序可加快主机更新速度,并通过消除对额外存储库的需求来降低风险和时间。

BoxBuddy 与 DistroShelf 对比

如果你是 在 BoxBuddy 和 DistroShelf 之间进行选择 要管理 Distrobox,您可以在这里找到与实际步骤的直接比较。我会告诉您每个步骤的功能、如何安装它们、它们的优点和缺点,以及您应该注意哪些事项,以确保一切从一开始就顺利进行。

这些接口的优点是 使 Distrobox 更贴近日常使用,同时又不失独立性和秩序, 将来自其他发行版的应用程序集成到您的桌面,就像它们是原生的一样,但保持您的主机系统清洁且不会出现意外。

什么是 Distrobox、BoxBuddy 和 DistroShelf?

Distrobox 是基础:创建与您的系统集成的多个 Linux 发行版的容器, 因此,您无需繁重的虚拟机或裸机安装即可运行其他发行版的软件。

BoxBuddy 是一个 Distrobox 的图形界面 简化常见任务, 例如创建容器、进入容器、更新容器或导出应用程序。 重要事项: Distrobox 不包含在内;您必须事先将其安装在您的系统上。

DistroShelf 是另一个专注于管理 Distrobox 的图形界面,具有现代 UI(GTK 4 和 libadwaita), 其功能包括创建和管理容器、查看状态和详细信息、安装软件包、管理导出的应用程序、打开终端、更新、克隆和删除容器。它可在 AUR 和 nixpkgs-unstable 中使用,允许您从“首选项”中选择您喜欢的终端仿真器。它是一款遵循 GPL 3.0 或更高版本许可的免费软件。

先决条件和兼容性

在开始之前,请确保您已掌握基础知识: 安装并配置了 Distrobox、GTK 4 和 libadwaita(用于 DistroShelf)以及兼容的终端仿真器。

常用支持的终端仿真器: GNOME 终端、Konsole、Xfce 终端、Tilix、Alacritty 等等;您可以在 DistroShelf 的“首选项”中设置您喜欢的一个。

安装 Distrobox 和 BoxBuddy(openSUSE 上的真实示例)

直接从包管理器安装 Distrobox, 例如使用 openSUSE 的命令: sudo zypper install distrobox.

BoxBuddy 以 Flatpak 形式分发, 因此建议检查 Flathub 是否已配置(官方指南位于 docs.flathub.org),然后安装: flatpak install flathub io.github.dvlv.boxbuddyrs

BoxBuddy权限: 要查看和操作您的用户容器和文件,请从桌面设置(在 Plasma 中)或使用 Flatseal 调整权限,授予对您的主目录的访问权限。

如果您要使用 Docker 作为后端,请将您的用户添加到 docker 组并启用该服务, 类似这样的: sudo usermod -aG docker $USER, sudo systemctl start docker y sudo systemctl enable docker;然后重新启动以使权限生效。

虽然 BoxBuddy 不需要使用 Distrobox, 实际上,它使得创建、管理和访问容器变得更加方便。

安装和编译 DistroShelf

在 Arch/derivatives 中,你可以从 AUR (distroshelf) 中提取, 在 Nix 上,您可以使用 nixpkgs-unstable 包;如果您从源代码进行编译,经典流程是克隆存储库并使用其 README 中列出的工具进行构建/安装。

安装后,打开 DistroShelf 并调整您想要使用的终端仿真器,因为它支持 GNOME 终端、Konsole、Xfce 终端、Tilix、Alacritty 和其他终端,所有这些都可以在其首选项框中进行。

使用 BoxBuddy(和 DistroShelf 等效项)创建容器

在 BoxBuddy 中创建容器非常简单,只需按下“+”按钮并选择分布即可。 带有诸如启用初始化系统(如果需要)以及决定是否使用默认主目录或该容器的特定主目录等选项。

真实示例: 创建一个 Kali Linux 容器,即可轻松访问您的安全工具,无需运行虚拟机或为其分配专用机器。您可以将“主地址”字段留空,以使用主机的主地址(或者,如果您希望实现更好的隔离,也可以指定一个备用地址)。

DistroShelf 提供了类似的流程:选择发行版、容器名称和参数, 还可以通过界面一目了然地管理状态、克隆和删除。

进入容器:一键或终端

您可以从 BoxBuddy 中通过按钮打开容器内的终端, 或者用经典的方式 distrobox enter NOMBRE (例如, distrobox enter Kali).

首次访问时,系统会要求您在容器中定义用户密码, 您将看到欢迎消息或针对来宾分发的建议;从那里开始,您就可以使用其本机包管理器进行操作。

更新容器和包

BoxBuddy 通过其“升级盒”选项使升级变得简单,该选项打开终端并要求您输入密码才能继续, 使用容器发行版的包管理器运行该过程。

您还可以使用 Distrobox 实用程序从终端更新所有容器, 按照使用文档进行升级和维护。

对于 Distrobox 中的 Kali 来说,典型的流程是更新然后安装元包, 例如 kali-linux-默认 对于标准集, Kali-tools 漏洞 用于脆弱性评估和 Kali-Tools-报告 用于报告工具。

这种体验非常接近于“真正的”发行版, 它具有包管理器和存储库,但与 Distrobox 集成使它感觉像是主机会话的原生功能。

将应用程序导出到系统菜单

最强大的功能之一是将应用程序从容器导出到主机应用程序菜单, 像原生程序一样运行它们。当 UI 出现故障或权限不足时,终端可以拯救一切。

基本导出命令: distrobox-export --app xhydra (用您想要的任何应用程序替换 xhydra);如果一切顺利,Distrobox 会告诉您应用程序已导出,并将在几秒钟内出现在您的启动器中。

要取消导出(从菜单中删除),请添加删除选项,distrobox-export --app xhydra --delete;当您不再需要入口时,这就是清洁入口的方法。

关于 BoxBuddy 的注意事项: 由于权限问题,“查看应用程序”视图可能不会列出应用程序;如果发生这种情况,请检查 Flatseal 或文件权限,或在调整设置时使用上述命令。

克隆和删除容器

在 DistroShelf 中,你可以选择克隆容器,也可以选择删除容器。 非常适合无需从头开始测试环境变化或清理不再使用的内容。

在 BoxBuddy 中,删除容器只需点击几下并确认即可, 在终端中直接命令是 distrobox-rm NOMBRE (例如, distrobox-rm Kali).

请记住,您可以使用 Distrobox 实用程序列出您的容器, 它还以非常直观的方式显示当前正在运行的程序。

比较:BoxBuddy 与 DistroShelf

  • 用户体验: BoxBuddy 专注于极其简化常见任务;由 GTK 4/libadwaita 提供支持的 DistroShelf 增加了更丰富的状态视图和控件,用于从 UI 进行克隆和高级管理。
  • 管理导出的应用程序: 两者都支持这一点,但如果 BoxBuddy 没有按权限列出应用程序,则终端就是您的盟友;DistroShelf 包含一个面板,当一切配置正确时,可以直接管理导出。
  • 与终端集成: DistroShelf 允许您明确选择模拟器(GNOME 终端、Konsole、Xfce 终端、Tilix、Alacritty 等);BoxBuddy 可以很好地与流行的终端配合使用,尽管它的 UI 中没有那么多这样的选择。
  • 安装和可用性: BoxBuddy 因其在 Flathub 上作为 Flatpak(io.github.dvlv.boxbuddyrs)的可用性而出名,而 DistroShelf 则方便 Arch(AUR)和 Nix(nixpkgs-unstable)用户使用,并可选择从源代码进行编译。
  • 强大与简单: 如果您想要一种直接的方法来创建、登录和更新容器,BoxBuddy 可以提供;如果您有兴趣从 GUI 查看状态、克隆和更全面的仪表板,DistroShelf 可能更适合。

良好做法和实用技巧

在容器中隔离“稀有”应用程序可以简化主机更新, 避免在主发行版中添加数十个第三方存储库,并减少每次更新的时间和风险。

只导出你真正使用的内容, 这样,您的菜单就不会被不必要的条目弄得杂乱无章,并且可以清楚地区分生产方面和实验方面。

如果需要防水,请考虑为每个集装箱使用专用的住所, 特别是当您要摆弄渗透测试工具或库版本时,您不想将它们与主机用户混淆。

如果你使用 Docker 作为后端,请不要忘记 docker 组并重新启动, 因为权限并不总是通过注销来应用;重新启动可以避免以后出现麻烦。

对于列表和状态,显示活动容器的 Distrobox 命令是黄金, 因为您可以一眼就看到哪些正在运行,哪些没有运行,这在管理多个环境时非常有用。

发现限制和小“但是”

BoxBuddy 中未显示的应用列表通常是权限问题, 并通过调整用户文件访问权限或使用 Flatseal 检查 Flatpak 权限来修复。

容器内的 Bash 历史记录可能不会像你期望的那样保留, 如果您想要更一致的历史记录,它会强制您记住命令或调整 shell 设置。

元软件包(例如 Kali 中的)会一次性安装很多内容,有时很难看到其中的内容, 因此,最好查阅元包文档来了解究竟添加了哪些工具。

在 Distrobox 上使用 Kali 的推荐工作流程

请先更新,然后安装基础元包(kali-linux-default), 然后添加组,例如 Kali-tools 漏洞 o Kali-Tools-报告 取决于您的使用情况。

仅将您经常打开的工具导出到菜单, 例如扫描仪或特定的 GUI,其余部分可从终端访问,以免填满启动器。

如果您发现图形集成中存在异常行为, 检查容器环境变量和 Distrobox 选项以改善与主机的集成。

隐私、横幅和社区信号

网络上的一些内容包含非常侵入性的 cookie 和隐私声明, Reddit 等平台的典型特征是详细说明 cookie 的使用、广告个性化和测量。

你还会看到带有“赞”计数器和空白评论区的帖子或帖子, 有兴趣的迹象,但并不总是深入的技术内容;这强化了可靠、集中指南的价值。

何时选择 BoxBuddy 或 DistroShelf

  • 如果您想要一个简单易用的界面,请选择 BoxBuddy,可通过 Flathub 访问,只需单击即可完成基本任务, 非常适合创建容器,输入、更新和导出,没有任何复杂情况。
  • 如果您喜欢更完整的用户界面,可以查看状态、克隆和管理详细导出,请选择 DistroShelf, 并且您可以很好地适应 GTK 4/libadwaita 环境和 AUR 或 Nix 等生态系统。

在这两种情况下,Distrobox 都是主角,区别在于“包装”, 因此,决定取决于您的工作流程以及您如何管理您的环境。

有用的资源和参考链接

  • Distrobox 快速入门指南: 官方的快速入门文档逐步解释了如何创建和进入容器。
  • 使用 Distrobox 中的升级: 文档中有一个专门的部分用于更新容器并使其保持最新。
  • Flathub 上的 BoxBuddy 及其存储库: 你会发现标识符 io.github.dvlv.boxbuddyrs 以及相应的安装/许可说明。
  • AUR 中的 DistroShelf 和 nixpkgs-unstable: 如果您是 Arch 或 Nix 用户,这将很有用,其中包含依赖项(GTK 4、libadwaita)和支持的终端的注释。
  • 补充工具: Flatseal 用于 Flatpak 权限、每个来宾发行版的包管理器以及用于启用 Docker 的系统实用程序(如果您将其用作后端)。
  • 如果您希望集中非常具体的工具(例如 TI 计算器或类似工具), 考虑将它们隔离在自己的容器中并仅导出您使用的可执行文件,以获得清洁度和控制力。

最后,Distrobox + 良好的 GUI 组合将使您的桌面的灵活性成倍增加, 允许您测试、工作和更新,而不会弄乱您的基础发行版,并且在您需要时可以随时获得一切。

相关文章:
氢气,多平台且易于使用的鼓机