Debian 小技巧一则:如何在用户级别设置默认 Web 浏览器

本技巧同样适用于 Ubuntu 等基于 Debian 的发行版。

设置默认 Web 浏览器,在 GNOME 或 KDE 桌面环境下是件很简单的事情,首选项里就可以设置。不过特定桌面环境里的设置在桌面环境之外就不起作用了,比如你在 KDE 中设置好了默认的 Web 浏览器,在 openbox,awesome 或 xmonad 等窗口管理器下就不起作用了。这时候就需要用到本文所介绍的小技巧了。

我们都知道 Debian 使用一种叫 alternatives 的机制来设定默认应用程序,我们可以通过 # update-alternatives --config x-www-browser 来设置系统的默认 Web 浏览器。而 alternatives 机制的弊端在于它只能进行 system-wide 系统级别的设置,如果我们仅仅需要更改当前用户的默认浏览器,那应该怎么办呢?

其实仔细观察 alternatives 机制,我们会发现他的原理其实很简单,无非就是将 /usr/bin/x-www-browser 链接到 /usr/bin 目录下相应的浏览器命令。这样当我们运行 x-www-browser 的时候,其实就相当于运行了那个浏览器。

同理,我们可以通过在用户主目录的命令文件夹,即 ~/bin 目录下建立一个 x-www-browser 文件,把它链接到我想要默认的那个浏览器命令就可以了。比如运行 $ ln -s /usr/bin/opera ~/bin/x-www-browser 就可以将 Opera 设为当前用户的默认 Web 浏览器了。

当然,前提条件是 ~/bin 目录要包含在你的 $PATH 环境变量中。Debian 默认已包含此项设置,如果没有,只需要在 ~/.bash_profile 文件中加入以下代码即可。

1
2
3
4
# set PATH so it includes user's private bin if it exists
if [-d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi