我经常在浏览器之间切换(目前有三种不同的浏览器)。所以我还切换默认浏览器来打开我的邮件/新链接等...
我还看到,使用该命令时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
享受! :)