将 Flatpak 程序添加到 Debian 替代品中

将 Flatpak 程序添加到 Debian 替代品中

当我尝试使用以下命令将 Debian 10 上使用 Flatpak 安装的 Firefox 添加到替代方案时,出现错误:

命令:

sudo update-alternatives --install /usr/bin/gnome-www-browser gnome-www-browser "/usr/bin/flatpak run org.mozilla.firefox" 50

错误:

update-alternatives: error: alternative path /usr/bin/flatpak run org.mozilla.firefox doesn't exist

如何才能成功将使用 Flatpak 安装的程序输入到替代方案中?

答案1

正如错误消息所暗示的,“update-alternatives”处理文件路径,不能使用可运行的命令行 - 需要为其提供一个实际文件,该文件将放置在“/usr/bin/gnome-www-browser”中。(备选系统甚至不区分某个东西是否是程序。)

Flatpak 提供了每个程序的可执行链接/var/lib/flatpak/exports/bin(每个 flatpak ID 一个,对应于其默认分支),因此您应该能够使用:

update-alternatives --install /usr/bin/gnome-www-browser \
                              gnome-www-browser \
                              /var/lib/flatpak/exports/bin/org.mozilla.firefox

否则,编写一行 shell 脚本,将其放在 /usr/local 的某个位置,然后给出更新替代方案。

答案2

除了 user1686 的回答之外,这里还有一个更完整的示例,但请注意,我使用的是安装在用户空间中的 Flatpaks ( --user),这对某些人来说可能看起来自相矛盾,但我只为自己使用我的系统。如果需要,请将其替换为 user1686 的回答中使用的路径。

# As suggested by user1686
update-alternatives --install \
  /usr/bin/gnome-www-browser \
  gnome-www-browser \
  "$HOME/.local/share/flatpak/app/org.mozilla.firefox/current/active/export/bin/org.mozilla.firefox" \
  1

sudo update-alternatives --config gnome-www-browser

# This may also be required
update-alternatives --install \
  /usr/bin/x-www-browser \
  x-www-browser \
  "$HOME/.local/share/flatpak/app/org.mozilla.firefox/current/active/export/bin/org.mozilla.firefox" \
  1

sudo update-alternatives --config x-www-browser

# This finally got me to use the flatpaked Firefox to use during usage of
# 'aws configure sso' and a few other tools
sudo ln -s \
  "$HOME/.local/share/flatpak/app/org.mozilla.firefox/current/active/export/bin/org.mozilla.firefox" 
  "/usr/local/bin/firefox"

我知道最后一条命令相当于核选项,使其他一切都变得毫无意义。但是,趁我没有足够的时间对这样的事情进行进一步研究,让我们试着在这里玩一玩:https://docs.python.org/3/library/webbrowser.html

相关内容