链接点击没有传递给Firefox
当Firefox被设置为我的默认浏览器时,在另一个应用程序中阻塞的任何链接都会打开一个新的空白Firefox窗口,而不是新选项卡或带有我想要的页面的新窗口。
这是firefox,“首选应用程序”或其他什么配置的问题?
firefox可执行脚本工作正常,因为在控制台窗口中执行firefox http://example.com
做正确的事情。 有没有办法可以手动编辑“首选应用程序”?
我找到了答案。
$ xdg-settings get default-web-browser firefox-mozilla-build.desktop
然后找到它的位置:
$ locate firefox-mozilla-build.desktop /home/user/.local/share/applications/firefox-mozilla-build.desktop
打开它
vi /home/user/.local/share/applications/firefox-mozilla-build.desktop
然后改变
Exec=firefox
至:
Exec=firefox %u
症状:单击类似Thunderbird或LibreOffice的应用程序中的链接,在Firefox中打开空白选项卡或页面。
解决方案:在文件夹/home/myself/.local/share/applications
找到文件(或等效文件) userapp-firefox-S2GY5X.desktop
并替换
Exec=/usr/bin/firefox %f
同
Exec=/usr/bin/firefox %u
( u
= URL简短)
你对“任何应用程序”都没有帮助,但我试图找到一个可以打开URL的应用程序。 我已经在“帮助”菜单中测试了“在线获取帮助…”选项,该选项确认在新窗口中打开了URL。
凭借我的想象力,我通过执行来观察新的命令:
while : ;do ps x -o args | head -6 | tail -3; sleep .5;echo '___'; done
执行此操作后,我快速按下前面提到的“Get Help Online …”菜单选项。 当命令出现时,我按Ctrl + C (中断)退出命令。 该命令是一个python调用。 打开URL的相关文件是:
/usr/share/launchpad-integration/launchpadintegration/urls.py
通过分析该文件,我得出结论,如果要运行的应用程序是firefox %s
(由gconftool-2
确定),则强制使用新的Firefox窗口。 要更改此行为,请将key /desktop/gnome/url-handlers/http/command
为firefox %u
。
为此,请打开终端并执行:
gconftool-2 --set /desktop/gnome/url-handlers/http/command --type string 'firefox %u'
有关GUI方式,请参阅如何使用gconf编辑器?
我有FF 6.0并拥有Ubuntu 11.04。 我转到FF>编辑>首选项>选项卡(这是此窗口中的选项卡),您有很多关于选项卡应如何反应的选择。
Firefox用户在这里。
以上都不适合我。 我的配置文件中已经有’%u’了。
我注意到,每当我点击终端内的超链接时,Firefox会弹出一条错误消息,告诉我我已经打开了浏览器,而不是只打开一个新标签。 这让我觉得我目前的浏览器正在启动一个新的独立窗口。
但我得到了一个错误的印象。 这是因为我有两个版本的Firefox(beta和ESR)。 如果您没有将常规浏览器设置为默认浏览器,任何点击超链接都会启动您的其他版本的Firefox,如果您没有注意,您似乎试图从常规浏览器打开一个新窗口浏览器而不是新标签。
TL; DR
如果您使用同一浏览器的两个版本,请确保将常规浏览器设置为默认浏览器
Debian Wheezy,带有Xfce4桌面。 Firefox ESR版本52.8.0(32位):
我有一个类似但不完全相同的问题。 单击LibreOffice中的Internet超链接打开了一个新的Firefox窗口,即使Firefox已经在已有的窗口中运行。 此外,所述新的Firefox窗口将打开两个选项卡,一个带有“www。%u.com”的URL,另一个带有所需的URL。
为了阻止这种不良行为,我用文本编辑器打开了/home/your user/.local/share/xfce4/helpers/firefox-esr
文件并更改了X-XFCE-CommandsWithParameter=firefox-esr %u "%s"
其中的行到X-XFCE-CommandsWithParameter=firefox-esr "%s"
现在,我得到了所需的行为(即所需的URL在已经存在的Firefox窗口中作为新选项卡打开…
IHTHS!