.desktop 文件未执行

.desktop 文件未执行

我最近刚刚下载了一款名为 Starsector 的游戏,我不想每次都进入该文件夹并运行./starsector.sh,而是想创建一个桌面条目。下面是我当前的.desktop文件,名为starsector.desktop

[Desktop Entry]
Version=1.0
Name=Starsector
GenericName=Starsector
Exec=sh -c "cd /usr/games/starsector && sudo ./starsector.sh"
Terminal=false
Icon=/usr/games/starsector/graphics/icons/cargo/ai_core_alpha.png
Type=Application
Categories=Game

我已将此文件移至~/.local/share/applications.当复制该Exec行并在我的 shell 中运行它时,它运行游戏完美,但是当单击图标时它什么也不做。

我尝试过的事情

我尝试设置 Terminal=true
Run desktop-file-validate;不存在错误
向文件添加执行权限
将文件复制到桌面并单击“允许启动”
运行gio set myapp.desktop metadata::trusted yes

截至目前,文件权限为-rw-rw-r--.我不知道这是文件权限问题还是游戏可执行文件本身的问题。

编辑:

我尝试过的更多事情

Exect=sh -c "cd /usr/game/starsector && sh ./starsector.sh
将所有者和组starsector.sh从我自己的用户设置更改root为我自己的用户将所有者和组starsector.desktop从我自己的用户更改为root:root

答案1

更改模式来执行startsector.sh

sudo chmod +x /usr/games/starsector/starsector.sh

更改模式来执行startsector.desktop

sudo chmod +x /usr/share/applications/starsector.desktop

更改桌面文件中的 EXEC

Exec=/usr/games/starsector/starsector.sh

答案2

解决方案非常简单。我所要做的就是#!/bin/bash在文件顶部添加.desktop,一切都很完美。

相关内容