向默认浏览器添加参数


8

我可以google-chrome --single-process --purge-memory-button通过编辑来从带有附加参数(例如)的破折号中运行浏览器而没有问题,.desktop file但是如何通过触发打开URL事件来运行默认浏览器来达到相同的效果?在这种情况下不应用任何选项。

例如,如果我在带有URL的LibreOffice中具有文档,则单击它之后,将显示新的浏览器实例,但没有应用任何参数。我该如何改变呢?


在与现有文件夹相同的文件夹中创建Google Chrome的自定义启动器.desktop,但使用不同的名称值。然后将其设置为“详细信息”>“默认应用程序”中的默认设置
Wilf 2013年

Answers:


4

在这种情况下,编辑.desktop文件就足够了,因为默认应用程序是通过.desktop文件调用的。

查看/etc/gnome/defaults.list文件和~/.local/share/applications/mimeapps.list文件,第一个包含系统默认值,第二个包含您选择的默认值而不是系统默认值。

因此,基本上,只需查看这些文件,看看哪个.desktop文件针对哪种MIME类型被调用,并以您喜欢的方式编辑该.desktop文件。您可以在/usr/share/applications/目录中找到.desktop文件,或者如果您覆盖了可以在~/.local/share/applications/目录中找到的默认.desktop 文件。(这意味着,如果两个目录中都有一个同名的.desktop文件,则系统将始终使用该目录中存在的.desktop文件~/.local/share/applications/

例如,如果我想让Firefox在新窗口中而不是在新选项卡中打开在终端中单击的链接,则只需确保Firefox是我的默认浏览应用程序,然后

cp /usr/share/applications/firefox.desktop ~/.local/share/applications/firefox.desktop

覆盖默认的.desktop文件,并~/.local/share/applications/firefox.desktop在该行更改文件

Exec=firefox %u

Exec=firefox -new-window %u

对于Firefox看起来不错,但是看起来chrome在做些令人讨厌的事情…… icewind@icewind-Aspire-4820TG:~$ cat ~/.local/share/applications/mimeapps.list | grep google text/html=google-chrome.desktop x-scheme-handler/mailto=google-chrome.desktop x-scheme-handler/http=google-chrome.desktop x-scheme-handler/https=google-chrome.desktop x-scheme-handler/unknown=google-chrome.desktop 但是有$ ls -al /usr/share/applications | grep chrome $ $ ls -la ~/.local/share/applications | grep chrome $ 什么主意吗?
1

@Jan我不明白你的问题。从输出中,我看到您已将chrome设置为默认浏览器(mimeapps.list),但是主目录中没有google-chrome.desktop文件。很好,如果那里没有.desktop文件,则使用默认的系统级.desktop文件/usr/share/applications。如果要覆盖它,只需将其复制到您的~/.local/share/applications/目录中,它将覆盖默认值。
falconer 2013年

0

在这种情况下,您将必须编辑处理浏览器执行的文件。这样,您可以确保从任何地方调用时都将包含所需的参数。

这就是我的意思:

  1. 将原始文件移到其他名称
  2. 使用原始文件的旧名称,创建一个新脚本,使用所需参数调用原始文件。

我将使用来演示如何执行此操作的示例chromium-browser

执行以下命令时必须小心,因为将授予超级用户特权,因此您拥有整个系统的完整权限,例如,可以删除或更改所有内容。

  • 备份旧文件:

    cp / usr / bin / chromium-browser〜/ Documents / backup /

/usr/bin/chromium-browser浏览器的可执行文件在哪里,~/Documents/backup/也是示例备份位置。为了在每次启动浏览器时找到可执行文件的位置,通常可以在桌面文件中找到它/usr/share/applications

这会将/ usr / bin / chromium-browser复制到〜/ Documents / backup /

  • 将文件移动到新名称:

    须藤MV / usr / bin / chromium-browser / usr / bin / chromium-original

这会将可执行文件从“铬浏览器”重命名为“铬原始”

  • 将旧文件的名称替换为将所需参数传递给原始可执行文件的文件。

例如,在这种情况下,请在任何地方创建一个名为Chrome浏览器的文件,其内容如下:

#!/bin/bash

/usr/bin/chromium-original --param1 --param2 --param3 "$@"

其中--param1 --param2 --param3是您希望每次执行的参数。

“ $ @”表示“传递给该文件的所有参数”,在这种情况下,它通常是一个URL。

  • 使文件可执行并将其移动到旧文件的位置

保存以上文件后,使其可执行。有两种方法,要么右键单击->属性->权限->允许以程序或通过终端执行文件:chmod +ax chromium-browser

最后,将其移至原始可执行文件的旧位置:

mv ~/chromium-browser /usr/bin/

其中~/chromium-browser的脚本创建的位置。

请注意,如果要将终端的一个命令替换为其他参数,则无需执行所有这些操作。您可以~/.bash_aliases使用别名来做到这一点。请参阅如何创建永久的“别名”?欲获得更多信息。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.