Ubuntu 22.04LTS。
例如,在 Kubuntu 中,我可以右键单击程序图标并选择“属性”,然后添加命令行开关。在 Ubuntu 中,该选项不存在。
我认为,为了方便使用,基本的日常事务已经简化,但我喜欢有更多的选择。
有什么方法可以获取应用程序命令吗?
答案1
您在 Dash 或应用程序概览中看到的图标来自一组.desktop
文件。
系统范围的.desktop
文件位于 中/usr/share/applications/
,或者对于 snappified 应用程序,位于 中/var/lib/snapd/desktop/applications/
。
为了修改其中一个,复制并$HOME/.local/share/applications/
编辑副本。如果在您的目录中$HOME/.local/share/applications/
发现一个文件与系统范围的文件同名,则该文件优先,这样您修改的副本将优先于系统范围的文件使用。
(请注意,由于某些愚蠢的原因,桌面文件需要设置可执行位 -rwxr-xr-x
工作正常。Gnome 很奇怪。确保在复制文件时不要更改文件的模式。)
例如,如果您在 Dash 中右键单击 Firefox 图标,默认情况下它会提供两个操作:打开新窗口和打开新的私人窗口。让我们添加第三个操作,在新窗口中打开 Google:
将系统范围的 Firefox 桌面描述文件复制到每个用户的应用程序文件夹:
cd ~/.local/share/applications cp /var/lib/snapd/desktop/applications/firefox_firefox.desktop .
(假设您拥有与系统捆绑在一起的 snappified Firefox。如果您已将其替换为本机安装的 Firefox,您将从中复制它
/usr/share/applications/
。)编辑该文件的私人副本
.desktop
:gedit firefox_firefox.desktop
该文件具有文件的一般结构
.ini
,即,节的名称放在[
括号中,每节]
有零个或多个形式为 <setting> <value> 的赋值。=
第一节是
[Desktop Entry]
。在这一节中,你会发现一行写着Actions=NewWindow;NewPrivateWindow;
,它给出了描述预定义动作的节的名称。将其编辑为Actions=NewWindow;NewPrivateWindow;NewGoogleWindow;
。然后在文件末尾添加一个
[Desktop Action NewGoogleWindow]
通过复制[Desktop Action NewWindow]
节命名的节。您会看到一行
Name=
;这是在右键单击 Dash 或应用程序概览中的图标时显示的内容。Name[
xx行]=
提供了各种语言的翻译;您可以放心地删除它们,但如果您愿意的话,也许可以保留提供您母语翻译的那行。该行
Exec=
给出了要执行的命令行。有些字符有特殊含义;请务必阅读有关部分的规范。最好
Exec=
尽可能少地更改您复制的行;例如,将其更改为Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/firefox_firefox.desktop /snap/bin/firefox -new-window https://www.google.com
(这一行很长。滚动到右侧即可查看全部内容。)
(再次强调,这是针对系统附带的 Firefox。如果您已将其替换为本机安装的 Firefox,详细信息可能会有所不同。)
保存编辑的副本,注销并重新登录。(因为
.desktop
只有在启动新用户会话时才会读取文件。)“GNOME 旨在帮助您获得最佳的计算体验。”)