将默认浏览器设置为 OPEN 浏览器

将默认浏览器设置为 OPEN 浏览器

我经常在浏览器之间切换(目前有三种不同的浏览器)。所以我还切换默认浏览器来打开我的邮件/新链接等...

我还看到,使用该命令时sudo update-alternatives --config x-www-browser浏览器具有不同的优先级。

所以我想,默认浏览器可能是实际打开并正在运行的浏览器!如果有两个浏览器正在运行,则选择优先级较高的浏览器。不幸的是,我什么也没找到。。这可能吗?真的很棒!

欢呼 dmeu

答案1

这是可行的方法:

#!/usr/bin/env python

import sys, commands

browsers = [
    "firefox",
    "google-chrome",
    "chromium-browser",
    "epiphany-browser",
]

done = False
ps = list(i.split()[10] for i in commands.getoutput("ps aux").split("\n")[1:])
for i in browsers:
    if any(j.endswith(i) or j.endswith(i+"-bin") for j in ps) and not done:
        commands.getoutput(i + " " + (" ".join(sys.argv[1:]
            if len(sys.argv) - 1 else "")))
        done = True

if not done:
    commands.getoutput(browsers[0]["cmd"] + " " + " ".join(sys.argv[1:]))
  • 只需以您喜欢的方式重新排列文件顶部的列表,添加和删除浏览器即可。您输入的命令将是您在命令行中输入的任何命令,以启动此浏览器。

  • 将此脚本保存在某处,右键单击它,转到属性 → 权限并设置可执行文件。我建议将其保存在/home/<username>/.browser

  • 找到文件(按Ctrl+H显示隐藏文件),右键单击并选择特性,然后转到权限并设置允许作为程序执行文件

  • 系统 → 偏好设置 → 首选应用程序, 选择风俗/home/<username>/.browser输入命令场地。

列表中出现的第一个浏览器正在运行的网站将被选中来打开网站。如果没有一个正在运行,则将打开第一个。

我已经测试过了,它似乎运行得很好,不过,如果其中有任何错误,请告诉我。如果有一种方法可以做到这一点而不涉及编程,那就太酷了,这只是我独特的解决方案。

答案2

真是个好主意!

我立即设置了它,它在我的系统上运行良好。根据您的需要调整以下脚本(您需要超级用户权限才能安装脚本!):

#!/bin/bash

# looking for Firefox instances
pgrep -l '^firefox-bin$' > /dev/null

if [ $? -eq 0 ]; then
    echo
    echo "  Opening link in Firefox..."
    echo
    /usr/bin/firefox "$1"
    exit
fi

# looking for Konqueror instances
pgrep -l '^konqueror$' > /dev/null

if [ $? -eq 0 ]; then
    echo
    echo "  Opening link in Konqueror..."
    qdbus `qdbus | grep -m1 konqueror` /konqueror/MainWindow_1 org.kde.Konqueror.MainWindow.newTab "$1" False
    exit
fi

# no browser instances found, so open default browser
echo
echo -n "  No open browser found.  "

if [ -z "$1" ]; then
    echo "Opening new Firefox instance..."
    echo
    /usr/bin/firefox &
    exit
else
    echo "Opening link in new Firefox instance..."
    echo
    /usr/bin/firefox "$1" &
    exit
fi

未修改的脚本将尝试使用以下方式打开链接(在 $1 中指定)火狐. 如果没有实例火狐被发现时,它会尝试重用征服者. 最后,如果没有实例征服者找到后,脚本将打开一个新的实例火狐

完成后,保存脚本/usr/local/bin/reuse_open_browser并运行以下命令:

sudo chmod +x /usr/local/bin/reuse_open_browser
sudo chown root:root /usr/local/bin/reuse_open_browser

sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/local/bin/reuse_open_browser 100

然后通过运行选择脚本作为默认脚本

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

享受! :)

相关内容