web-dev-qa-db-ja.com

シェルスクリプトがデスクトップアプリケーションとして開かない

次のような.exeファイルを開くワインコマンドであるシェルスクリプトがあります。

#!/bin/bash
wine wow.exe -opengl

その唯一の目的は、その.exeファイルを実行することです。スクリプトをダブルクリックするだけで機能します。スクリプトの場所は、.exeファイルと同じです。私が欲しいのは、このシェルスクリプトを実行するデスクトップアプリケーション、つまりドックに固定できるアイコンです。私のデスクトップアプリケーションファイルは次のようになります。

[Desktop Entry]
Comment=WoW
Exec=/home/siegmeyer/Documents/WoW/WoW.sh
Icon=/home/siegmeyer/Documents/WoW/WoW.png
Terminal=false
Type=Application
StartupNotify=false
Name[en_US]=WoW

アプリケーションをドックにピン留めすることができますが、アイコンは表示されますが、アプリケーションをクリックしても何も起こらず、カーソルは無限の読み込みアイコンにとどまります。何か逃したことがありますか?

6
user825380

スクリプトが正しいディレクトリで実行可能ファイルを探していることを確認するには、次の呼び出しを変更します。

wine "$(realpath "$(dirname "$0")")/wow.exe" -opengl

これにより、スクリプト(つまりexe)の絶対パスが呼び出しに挿入されます。空白を含まないパスの引用符がなくても機能しますが、ディレクトリを移動する場合に備えて、引用符を保持することをお勧めします。

7
Murphy