最近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
行をコピーしてシェルで実行すると、ゲームは完全に実行されますが、アイコンをクリックしても何もしません。
私が試したこと
Terminal=true に設定してみました。
実行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
startector.shを実行するようにモードを変更します。
sudo chmod +x /usr/games/starsector/starsector.sh
startector.desktopを実行するようにモードを変更します。
sudo chmod +x /usr/share/applications/starsector.desktop
デスクトップファイルでEXECを変更する
Exec=/usr/games/starsector/starsector.sh
答え2
解決策はとても簡単です。私がしなければならなかったのは、#!/bin/bash
ファイルの一番上に追加することだけで、.desktop
すべてが完璧に機能しました。