我正在尝试为应用程序创建桌面条目。以下是我尝试过的方法:
- 我使用以下代码创建了一个 .desktop 文件:
[Desktop Entry]
Name=clash for windows
Icon=/home/nadeko/Documents/Clash/Clash.png
Exec=/home/nadeko/Documents/Clash/cfw
Type=Application
我通过右键单击原始文件并“复制”获得了 Icon 和 Exec 的位置
此.desktop文件位于“/home/nadeko/.local/share/applications”
将应用程序和 .desktop 文件都设置为“允许执行”
在“搜索应用程序”中搜索,但没有看到“Clash for Windows”
右键单击 .desktop 文件时,没有“允许启动”选项。
我做错了什么?有人能帮忙吗?
答案1
只需确保可执行文件的路径正确即可。
您提供的信息原则上足以让.desktop
启动器正常工作。唯一“致命”的错误(即阻止启动器显示在桌面的应用程序菜单中)是可执行文件的有效性。无需(也不建议)将文件标记.desktop
为可执行文件以使其显示在桌面的应用程序菜单中。
答案2
由于您的第 3 步说“在“搜索应用程序”中搜索,但没有看到“clash for windows””,您可能需要Categories=
在您的.desktop
程序中看到它才能显示出来。 不确定 Chrome Apps 如何显示,因为.desktop
它的文件中没有 Categories= 行。
您可以看到https://specifications.freedesktop.org/menu-spec/latest/apa.html确定您要将.desktop
文件设置在哪个类别中。
注意: Categories=
如果文件确实在目录中,则不需要$HOME/Desktop
。
作为测试,我有一个Whatsapp.desktop
文件将用作示例。它如下所示:
[Desktop Entry]
Version=1.0
Type=Application
Name=WhatsApp
Comment=WhatsApp
Exec=google-chrome --app="https://web.whatsapp.com/"
Icon=/home/terrance/.local/share/icons/WhatsApp.svg.png
Path=
Terminal=false
StartupNotify=false
Categories=Network
如果我删除该Categories=Network
行,我们可以看到它不再出现在我的菜单中:
terrance@terrance-ubuntu:~$ cat .local/share/applications/Whatsapp.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=WhatsApp
Comment=WhatsApp
Exec=google-chrome --app="https://web.whatsapp.com/"
Icon=/home/terrance/.local/share/icons/WhatsApp.svg.png
Path=
Terminal=false
StartupNotify=false
因此,在您的情况下,在底部添加一行,内容是Categories=Game
,它现在应该会出现。
答案3
如果 .desktop 文件找不到可执行文件,那么它将不会显示在搜索中。
我知道您说您通过复制获得了路径,但是屏幕截图显示的文件路径与您的 .desktop 文件中的文件路径不同。
请尝试以下操作:
[Desktop Entry]
Name=clash for windows
Icon=/home/nadeko/Documents/Clash\ for\ Windows/Clash.png
Exec=/home/nadeko/Documents/Clash\ for\ Windows/cfw
Type=Application
您也可以尝试运行gio launch <path to .desktop file>
,它会告诉您有关问题的更多信息。