作为单个脚本

作为单个脚本

我希望 Ubuntu 自动使用 Tor 浏览器作为其默认浏览器。由于它是从脚本启动的start-tor-browser,并且可能不是像 Firefox 或 Chrome 那样真正“安装”的,因此即使查看了以下相关答案,我也不知道该如何操作:

如何将 Tor 浏览器设置为 Ubuntu 中的默认浏览器,并在 Tor 浏览器中以“新窗口”形式打开相应的文件,即使 Tor 浏览器已经启动、运行且连接?

Ubuntu 14.04

答案1

全系统变革

默认浏览器由 x-www-browser 替代方案决定。

为了将 Tor 浏览器添加到可用选项列表中,您必须运行此命令:

sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /path/to/torbrowser/executable 1

然后,您需要使用以下方法将其选择为默认值

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

您也可以对 gnome-www-browser 执行相同操作。

请注意,这是系统范围的更改。如果您只想为您的用户更改它,请告诉我。


仅为单个用户更改

为了将其设置为单个用户的默认设置,可能需要做更多的工作(但不多)。

gedit ~/.local/share/applications/torbrowser.desktop

将以下内容粘贴到文件中并保存(请务必使用 Tor 浏览器脚本的真实路径):

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_US]=browser
Name[en_US]=Tor Browser
Exec=/path/to/tor/browser
Name=Tor Browser
Icon=browser

然后执行命令:

xdg-settings set default-web-browser torbrowser.desktop

答案2

此方法将 Tor 浏览器设置为单个用户的默认浏览器。它还使 Tor 浏览器在从操作系统打开链接时打开新选项卡。

作为单个脚本

此脚本应具有与手动按照其下方说明相同的效果。要执行它,需要将环境变量TOR_BROWSER_PATH设置为您的PATH/TO/tor-browser_LANG

#!/bin/bash

set -e
set -x

mkdir -p ~/.local/share/applications

cat > ~/.local/share/applications/torbrowser.desktop << EOF
[Desktop Entry]
Type=Application
Name=Tor Browser
GenericName=Web Browser
Comment=Tor Browser is +1 for privacy and -1 for mass surveillance
Categories=Network;WebBrowser;Security;
Exec=$(realpath "$TOR_BROWSER_PATH")/Browser/start-tor-browser --detach --allow-remote %u
Icon=$(realpath "$TOR_BROWSER_PATH")/Browser/browser/chrome/icons/default/default128.png
StartupWMClass=Tor Browser
MimeType=x-scheme-handler/unknown;x-scheme-handler/about;x-scheme-handler/https;x-scheme-handler/http;text/html;
EOF

update-desktop-database ~/.local/share/applications
xdg-settings set default-web-browser torbrowser.desktop
mkdir -p ~/.local/bin

cat > ~/.local/bin/firefox << 'EOF'
#!/bin/bash

/usr/bin/firefox --no-remote "$@"
EOF

chmod u+x ~/.local/bin/firefox
if ! (echo "$PATH" | tr ":" "\n" | grep ~/.local/bin); then

cat >> ~/.profile << 'EOF'

if [ -d "$HOME/.local/bin" ] ; then
  PATH="$HOME/.local/bin:$PATH"
fi
EOF

fi

您可能需要从 Linux 注销并重新登录才能应用这些设置。

手动配置

设置 Tor 浏览器

打开终端应用程序。然后在终端中输入或复制粘贴以下命令:

mkdir -p ~/.local/share/applications
gedit ~/.local/share/applications/torbrowser.desktop

在打开的编辑器中插入以下内容:

[Desktop Entry]
Type=Application
Name=Tor Browser
GenericName=Web Browser
Comment=Tor Browser is +1 for privacy and -1 for mass surveillance
Categories=Network;WebBrowser;Security;
Exec=PATH/TO/tor-browser_LANG/Browser/start-tor-browser --detach --allow-remote %u
Icon=PATH/TO/tor-browser_LANG/Browser/browser/chrome/icons/default/default128.png
StartupWMClass=Tor Browser
MimeType=x-scheme-handler/unknown;x-scheme-handler/about;x-scheme-handler/https;x-scheme-handler/http;text/html;

PATH/TO/tor-browser_LANG用适当的路径替换。

保存文件并关闭编辑器。然后在终端中运行以下命令:

update-desktop-database ~/.local/share/applications
xdg-settings set default-web-browser torbrowser.desktop

完成!现在你的启动器菜单中应该有 Tor 浏览器了。

尝试使用以下命令从终端打开链接。它现在应该在 Tor 浏览器中打开。确保之前没有打开其他标准 Firefox 窗口。

xdg-open "https://askubuntu.com"

与标准 Firefox 共存

由于 Tor 浏览器在底层使用了经过修改的 Firefox,并且 Firefox 尝试以单个实例运行,因此链接现在可以在已经运行的 Firefox 实例中打开,而不是在 Tor 浏览器中打开。为了解决这个问题,我们需要要求标准 Firefox 不接受远程命令

在终端中,运行以下命令:

mkdir -p ~/.local/bin
gedit ~/.local/bin/firefox

将其粘贴到编辑器中:

#!/bin/bash

/usr/bin/firefox --no-remote "$@"

保存并关闭,然后运行以下命令:

chmod u+x ~/.local/bin/firefox
echo "$PATH" | tr ":" "\n" | grep ~/.local/bin

如果最后一条命令确实有一行(粗体红色)包含.local/bin输出,则表示您已完成此操作。如果没有,请运行以下命令:

gedit ~/.profile

将其添加到文件末尾,保存并关闭:

if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi

您可能需要从 Linux 注销并重新登录才能应用这些设置。

我发现这种方法的唯一限制是,无法从 Firefox 外部在正在运行的标准 Firefox 实例中打开新选项卡。

系统范围的安装

出于隐私原因(不太确定),不建议在系统范围内安装 Tor 浏览器。

答案3

我用的是Ubuntu 17.10。试了很多方法都没用。终于找到了解决办法。

系统设置 > 详细信息 > 默认应用程序并选择系统默认使用的应用程序。

相关内容