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
在这种情况下,您必须编辑处理浏览器执行的文件。这样,您就可以确保从任何地方调用时都会包含所需的参数。
我的意思是:
- 将原始文件移至其他名称
- 使用原始文件的旧名称,创建一个使用所需参数调用原始文件的新脚本。
我将展示如何使用 来做到这一点的示例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
使用别名来执行此操作。请参阅如何建立永久的“别名”?了解更多信息。