web-dev-qa-db-ja.com

ディレクトリに変更するプログラムへのショートカットを作成します

これが難しい質問に思える場合は申し訳ありませんが、私はまだLinuxを初めて使用します。 LinuxのWindowsショートカットに相当するものはありますか(リンクではありません)

私が抱えている問題はこれです:

/home/user/appDirectory/application.exeにあるアプリケーションがあります(Wineで実行されているWindowsアプリ)

次に、そのアプリケーションを探して実行されているかどうかを確認する監視スクリプトがあります。

例えば.

application="/home/user/appDirectory/application.exe"

if pgrep -f "$application" > /dev/null 
then
    is_running=1
else
    is_running=0
fi

ここまでは順調ですね。しかし、誰でも簡単にアプリケーションを停止/開始できるように、デスクトップに「ショートカット」を配置する必要があります。

linkを作成して(そしてそれをデスクトップに置いて)それから開始すると、パスは/home/user/desktop/link to appDirectory/application.exeになり、監視スクリプトはそれを見ることができません。

開いたときに元の場所として開くショートカットを作成して、アプリケーションを元の場所から開始することはできますか?

1
IGGt

あなたのリクエストはGUIのみを対象としているようですので、.desktopファイルに関する jofel sコメントに従うことをお勧めします。 Archlinuxは、.desktopファイルの興味深いキーよりもかなり優れています 短い要約 。提案は

[Desktop Entry]
Name=Whatever you want
Type=Application
Path=/home/user
Exec=env WINEPREFIX="<prefix>" wine appDirectory/application.exe

env WINEPREFIXpartは必須ではないかもしれませんが、複数のプレフィックスがある場合、または適切な手段として使用してください。

<Whatever you want>.desktopファイルを$ HOME/Desktopフォルダーに配置すると、クリックできる新しいアイコンが設定されます。このファイルは、grepに少なくともappDirectory/application.exeを提供します。 Pathは、コマンドが実行される場所です。そのため、grepに必要な場合は、PathExecの比率を変更して、Exec内のパスをより多く取得できます。したがって、Path=/と残りをExecに入れると、要求された動作が得られます。

ただし、このようなgrepの必要性は私にはわかりません。一度に1つのインスタンスとしてのみ実行される場合は、代わりにPIDファイルを作成し、提示された here のように、必要に応じて変更されたPIDが存在するかどうかを確認できます。 この回答 PIDファイルを選択する場合にも、興味深いことがあります。

2
D.S