Desktop-File

.desktop 文件未執行

  • May 14, 2022

我最近剛剛下載了一個名為 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; 不存在錯誤

向​​文件添加 exec 權限 將文件

複製到桌面並點擊“允許啟動”

執行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

解決方案非常簡單。我所要做的就是在文件#!/bin/bash頂部添加,.desktop一切正常。

更改模式以執行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

引用自:https://unix.stackexchange.com/questions/702474