标签: .desktop

如何在包含保留字符的 .desktop 文件中正确编写 Exec 键的命令?

我正在尝试为 Minecraft 制作一个 .desktop 文件。执行文件时似乎没有发生任何事情。我尝试按如下方式分配 Exec 键:

Exec= java -jar "~/.minecraft/Minecraft.jar"

Exec= java -jar "$HOME/.minecraft/Minecraft.jar"

但我不确定如何正确输入保留字符(~ 和 $)。根据 Freedesktop 的Desktop Entry Specification

如果参数包含保留字符,则必须引用该参数。

引用必须通过将参数括在双引号之间并在双引号字符、反引号字符 ("`")、美元符号 ("$") 和反斜杠字符 ("\") 之前加上一个额外的反斜杠字符来完成。在扩展域代码和将参数传递给可执行程序之前,实现必须撤消引用。

但这对我来说非常令人困惑。

quoting freedesktop .desktop assignment

6
推荐指数
1
解决办法
3141
查看次数

"#!/usr/bin/env xdg-open" 应该包含在 .desktop 文件中吗?

有些人将以下行添加到.desktop文件中:

#!/usr/bin/env xdg-open
Run Code Online (Sandbox Code Playgroud)

但是当我检查/usr/share/applications/debian sid下的文件时,没有包含这一行的文件。

所以问题很简单:应该添加还是不添加?

.desktop

6
推荐指数
1
解决办法
1527
查看次数

通过 gnome 收藏夹中的上下文菜单进行 Spotify 控制(下一个、上一个等)

我已将Spotify启动器添加到Gnome Shell Dash,因此它现在是最受欢迎的应用程序。
如何将下一个/上一个/播放暂停/停止命令添加到Spotify上下文菜单?


对于那些仍然觉得这不清楚的人,这里的目标是有这样的东西:

在此处输入图片说明

gnome gnome-shell .desktop

6
推荐指数
1
解决办法
2324
查看次数

%k 在 Exec= 中是什么意思?

Exec=sh -c "some command' %k
Run Code Online (Sandbox Code Playgroud)

在没有资料man sh,并man exec在%K。
%k 在这里是什么意思?

freedesktop .desktop

6
推荐指数
1
解决办法
1182
查看次数

脚本如何知道启动它的 .desktop 文件的路径?

脚本如何bash知道它是否已由.desktop文件启动,以及如何知道该启动器的路径?

额外要点:我如何提取"comment".desktop文件的字段 - 以在脚本中使用?

bash shell-script nemo .desktop

5
推荐指数
1
解决办法
1194
查看次数

如何指定 gtk-launch 使用哪个终端

正如此处所讨论的,gtk-launch 可以直接启动应用程序,也可以在终端窗口中启动应用程序,具体取决于文件是否.desktop指定应用程序在终端中运行。在我看来,这个终端不是来自x-terminal-emulator替代系统的(当我更新替代系统时它不会改变)。

有没有办法指定gtk-launch应使用哪个终端模拟器?

terminal-emulator .desktop

5
推荐指数
1
解决办法
1672
查看次数

列出出现在应用程序菜单中的所有桌面文件

语境

我正在使用 GNOME 3.22,我想将所有桌面文件组织成组。为此,我必须列出出现在应用程序菜单中的所有桌面文件,并使用本指南中的一些命令来组织它们。

我发现有 3 个地方包含这些桌面文件:

~/.local/share/applications
~/.local/share/flatpak/exports/share/applications
/usr/share/applications
Run Code Online (Sandbox Code Playgroud)

使用这个脚本,我成功了一半。但是,仍有一些项目不属于任何组:

  • 这些桌面文件没有任何Categories字段,因此我无法按类别对其进行统治

  • 这些桌面文件不属于我上面列出的任何目录,所以我不能叫它们的名字

显然,GNOME 并不仅仅从上面的目录中列出桌面文件。必须有一些地方存储它们,桌面外壳只需要读取它以列出所有应用程序。我就是看不到。你能告诉我它在哪里吗?

更新

这是我的“成功一半”: GNOME 应用程序菜单

gnome menu .desktop applications-database

5
推荐指数
1
解决办法
3890
查看次数

Flatpak 桌面文件中的“@@”

ExecFlatpak 导出的桌面文件行中,要传递给应用程序的文件/URL 的字段代码由以下内容包围@@

Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=blender --file-forwarding org.blender.Blender @@ %f @@
Run Code Online (Sandbox Code Playgroud)

这是什么意思?规范没有提到它,桌面文件也不/usr/share/applications包含它。

.desktop flatpak

5
推荐指数
1
解决办法
1484
查看次数

Chrome 应用程序图标如何工作?

这是一个相当微不足道的问题,但我\xe2\x80\x99m很好奇它是如何工作的。

\n

我只是想更改从网址创建的 Chromium 应用程序使用的图标。该.desktop文件引用了一个图标,其名称由应用程序 id\xe2\x80\xa6 组成

\n
Exec=/usr/bin/chromium --profile-directory=Default --app-id=ocdlmjhbenodhlknglojajgokahchlkk\nIcon=chrome-ocdlmjhbenodhlknglojajgokahchlkk-Default\n
Run Code Online (Sandbox Code Playgroud)\n

$HOME/.icons\xe2\x80\xa6但是我可以在(只是到 \xe2\x80\xa6 的链接)、$HOME/.local/share/icons/usr/local/share/icons/usr/share/icons中找到具有此名称的图标/usr/share/pixmaps

\n

我最终确实在下面的专用应用程序文件夹中找到了它们$HOME/.config/chromium/Default/Extensions,但它们没有\xe2\x80\x99t具有文件中引用的名称.desktop(例如32.png、64.png),那么系统如何找到它们?

\n

chrome icons .desktop

5
推荐指数
1
解决办法
722
查看次数

是否可以告诉 linux 在目录中查找 .desktop 文件?

我开始使用rofi它的功能作为应用程序启动器drun。它工作正常,.desktop文件输入/usr/share/applications$HOME/.local/share/applications显示都没有问题。我一直想将.desktop文件的保存位置更改$HOME/.local/share/applications为 just ,但我找不到任何方法来告诉 linux在我想要的目录中$HOME/desktop查找文件。.desktop有可能吗?

linux .desktop rofi

5
推荐指数
1
解决办法
1668
查看次数