如何将浏览器添加到更新替代品?

rap*_*l75 3 debian browser alternatives

在 Debian 10 中有这个命令来选择默认浏览器:

 update-alternatives --config x-www-browser
Run Code Online (Sandbox Code Playgroud)

我从 .deb 文件安装了 Waterfox,但它没有显示在可用浏览器列表中。有没有办法添加它?

Fre*_*ddy 9

您的设置可能与我的类似,我在x-www-browserFirefox 和 Google Chrome的链接组中有两个条目。让我们以此为例:

$ update-alternatives --display x-www-browser
x-www-browser - auto mode
  link best version is /usr/bin/google-chrome-stable
  link currently points to /usr/bin/google-chrome-stable
  link x-www-browser is /usr/bin/x-www-browser
  slave x-www-browser.1.gz is /usr/share/man/man1/x-www-browser.1.gz
/usr/bin/firefox-esr - priority 70
  slave x-www-browser.1.gz: /usr/share/man/man1/firefox-esr.1.gz
/usr/bin/google-chrome-stable - priority 200
Run Code Online (Sandbox Code Playgroud)

有两个符号链接设置指向所选条目:

$ ls -l /usr/bin/x-www-browser
lrwxrwxrwx 1 root root 31 Sep 16  2018 /usr/bin/x-www-browser -> /etc/alternatives/x-www-browser
$ ls -l /etc/alternatives/x-www-browser 
lrwxrwxrwx 1 root root 29 May  4 20:45 /etc/alternatives/x-www-browser -> /usr/bin/google-chrome-stable
Run Code Online (Sandbox Code Playgroud)

交互式菜单将 Google Chrome 显示为自动选择(最高优先级):

$ update-alternatives --config x-www-browser
There are 2 choices for the alternative x-www-browser (providing /usr/bin/x-www-browser).

  Selection    Path                           Priority   Status
------------------------------------------------------------
* 0            /usr/bin/google-chrome-stable   200       auto mode
  1            /usr/bin/firefox-esr            70        manual mode
  2            /usr/bin/google-chrome-stable   200       manual mode

Press <enter> to keep the current choice[*], or type selection number:
Run Code Online (Sandbox Code Playgroud)

添加条目

要添加条目,您需要--install命令、链接、链接名称、程序路径和优先级。

根据需要更改 Waterfox 的路径和优先级:

sudo update-alternatives \
  --install /usr/bin/x-www-browser x-www-browser /usr/local/bin/waterfox 210
Run Code Online (Sandbox Code Playgroud)

结果:

$ update-alternatives --config x-www-browser
There are 3 choices for the alternative x-www-browser (providing /usr/bin/x-www-browser).

  Selection    Path                           Priority   Status
------------------------------------------------------------
* 0            /usr/local/bin/waterfox         210       auto mode
  1            /usr/bin/firefox-esr            70        manual mode
  2            /usr/bin/google-chrome-stable   200       manual mode
  3            /usr/local/bin/waterfox         210       manual mode

Press <enter> to keep the current choice[*], or type selection number:
Run Code Online (Sandbox Code Playgroud)

您可以设置可选的从属链接,如上面 Firefox 所示。如果选择了 Firefox,则会设置一个x-www-browser.1.gz指向手册页的附加链接/usr/share/man/man1/firefox-esr.1.gz

for 的语法与 for--slave相同--install,但没有优先级,例如:

sudo update-alternatives \
  --install /usr/bin/x-www-browser x-www-browser /usr/local/bin/waterfox 210 \
  --slave /usr/share/man/man1/x-www-browser.1.gz x-www-browser.1.gz /usr/local/share/man/man1/waterfox.1.gz
Run Code Online (Sandbox Code Playgroud)

删除条目

要再次删除 Waterfox,您需要链接名称和路径:

sudo update-alternatives --remove x-www-browser /usr/local/bin/waterfox
Run Code Online (Sandbox Code Playgroud)