向默认浏览器添加参数

向默认浏览器添加参数

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

例如,如果我在 LibreOffice 中有一个带 URL 的文档,单击它后,会出现新的浏览器实例,但不会应用任何参数。我该如何更改这些?

答案1

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

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

因此,基本上只需查看这些文件,看看哪个 .desktop 文件是为哪种 mime 类型调用的,然后按照您喜欢的方式编辑该 .desktop 文件。 .desktop 文件可以在目录中找到,/usr/share/applications/或者如果您已覆盖可以在目录中找到的默认 .desktop ~/.local/share/applications/。 (这意味着,如果两个目录中都有同名的 .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

答案2

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

我的意思是:

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

我将展示如何使用 来做到这一点的示例chromium-browser

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

  • 备份旧文件:

    cp /usr/bin/chromium-browser ~/文档/备份/

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

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

  • 将文件移动到新名称:

    sudo mv /usr/bin/chromium-browser /usr/bin/chromium-original

这会将可执行文件从 chromium-browser 重命名为 chromium-original

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

例如,在这种情况下,在任何地方创建一个名为 chromium-browser 的文件,其内容如下:

#!/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使用别名来执行此操作。请参阅如何建立永久的“别名”?了解更多信息。

相关内容