我正在尝试为 Minecraft 制作一个 .desktop 文件。执行文件时似乎没有发生任何事情。我尝试按如下方式分配 Exec 键:
Exec= java -jar "~/.minecraft/Minecraft.jar"
Exec= java -jar "$HOME/.minecraft/Minecraft.jar"
但我不确定如何正确输入保留字符(~ 和 $)。根据 Freedesktop 的Desktop Entry Specification:
如果参数包含保留字符,则必须引用该参数。
和
引用必须通过将参数括在双引号之间并在双引号字符、反引号字符 ("`")、美元符号 ("$") 和反斜杠字符 ("\") 之前加上一个额外的反斜杠字符来完成。在扩展域代码和将参数传递给可执行程序之前,实现必须撤消引用。
但这对我来说非常令人困惑。
有些人将以下行添加到.desktop文件中:
#!/usr/bin/env xdg-open
Run Code Online (Sandbox Code Playgroud)
但是当我检查/usr/share/applications/debian sid下的文件时,没有包含这一行的文件。
所以问题很简单:应该添加还是不添加?
我已将Spotify启动器添加到Gnome Shell Dash,因此它现在是最受欢迎的应用程序。
如何将下一个/上一个/播放暂停/停止命令添加到Spotify上下文菜单?
对于那些仍然觉得这不清楚的人,这里的目标是有这样的东西:
Exec=sh -c "some command' %k
Run Code Online (Sandbox Code Playgroud)
在没有资料man sh,并man exec在%K。
%k 在这里是什么意思?
脚本如何bash知道它是否已由.desktop文件启动,以及如何知道该启动器的路径?
额外要点:我如何提取"comment"该.desktop文件的字段 - 以在脚本中使用?
正如此处所讨论的,gtk-launch 可以直接启动应用程序,也可以在终端窗口中启动应用程序,具体取决于文件是否.desktop指定应用程序在终端中运行。在我看来,这个终端不是来自x-terminal-emulator替代系统的(当我更新替代系统时它不会改变)。
有没有办法指定gtk-launch应使用哪个终端模拟器?
我正在使用 GNOME 3.22,我想将所有桌面文件组织成组。为此,我必须列出出现在应用程序菜单中的所有桌面文件,并使用本指南中的一些命令来组织它们。
我发现有 3 个地方包含这些桌面文件:
~/.local/share/applications
~/.local/share/flatpak/exports/share/applications
/usr/share/applications
Run Code Online (Sandbox Code Playgroud)
使用这个脚本,我成功了一半。但是,仍有一些项目不属于任何组:
这些桌面文件没有任何Categories字段,因此我无法按类别对其进行统治
这些桌面文件不属于我上面列出的任何目录,所以我不能叫它们的名字
显然,GNOME 并不仅仅从上面的目录中列出桌面文件。必须有一些地方存储它们,桌面外壳只需要读取它以列出所有应用程序。我就是看不到。你能告诉我它在哪里吗?
在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包含它。
这是一个相当微不足道的问题,但我\xe2\x80\x99m很好奇它是如何工作的。
\n我只是想更改从网址创建的 Chromium 应用程序使用的图标。该.desktop文件引用了一个图标,其名称由应用程序 id\xe2\x80\xa6 组成
Exec=/usr/bin/chromium --profile-directory=Default --app-id=ocdlmjhbenodhlknglojajgokahchlkk\nIcon=chrome-ocdlmjhbenodhlknglojajgokahchlkk-Default\nRun 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。
我最终确实在下面的专用应用程序文件夹中找到了它们$HOME/.config/chromium/Default/Extensions,但它们没有\xe2\x80\x99t具有文件中引用的名称.desktop(例如32.png、64.png),那么系统如何找到它们?
我开始使用rofi它的功能作为应用程序启动器drun。它工作正常,.desktop文件输入/usr/share/applications和$HOME/.local/share/applications显示都没有问题。我一直想将.desktop文件的保存位置更改$HOME/.local/share/applications为 just ,但我找不到任何方法来告诉 linux在我想要的目录中$HOME/desktop查找文件。.desktop有可能吗?
.desktop ×10
freedesktop ×2
gnome ×2
assignment ×1
bash ×1
chrome ×1
flatpak ×1
gnome-shell ×1
icons ×1
linux ×1
menu ×1
nemo ×1
quoting ×1
rofi ×1
shell-script ×1