3

私は通常、次のようなシェル スクリプトを記述します。

#!/bin/sh
nohup /path/to/myapp -test "$@" &

次に、このシェル スクリプトをターミナルから起動し、指定したコマンド ライン引数がシェル スクリプトに渡され、それが実行ライン myapp に渡されます。私はUbuntuを使用していますが、問題はシェルスクリプトにあり、起動されたアイコンはシェルファイルのアイコンではありません。myapp のデフォルト アイコンを使用します。そのため、.desktop に移行しています。これにより、起動したアプリが .desktop ファイルのアイコンを使用するようになります。

次のように .desktop ファイルを作成しました。

[Desktop Entry]
Name=My Ro
Type=Application
Comment=Web Application
Exec=/path/to/myapp -test @
Icon=/opt/giteye/icon.xpm
Name[en_US]=My Ro

exec 行に @ 記号を付けましたが、期待どおりに動作しません。私が .desktop に与えるコマンドライン引数を取得しておらず、それを exec ラインに入れていません。.desktop が受け取ったコマンド ライン引数を Exec line/ に渡す方法を教えてください。

4

1 に答える 1

3

あなたが望むのは、ターミナルから任意の引数でデスクトップファイルを開くことです.desktopファイルがどのように使用されるかではありません。

引数では特定の変数のみが許可され、基本的にデスクトップのようなアクション (開くファイルなど) に対応します。それが必要な場合は、たとえば、ファイルのようなコードを使用して実行%fし、UI を使用してファイルをアプリケーションにドラッグすることができます。

アプリケーションを構成するもう 1 つの方法は、デスクトップ アクションを使用することです。これは基本的に、アプリケーションを開く方法を列挙したリストです。したがって、使用したい明確に定義された一連の引数があれば、それは機能します。

引数コードとデスクトップ アクションの仕組みの詳細については、デスクトップ エントリの仕様を参照してください。

于 2015-07-03T00:58:27.407 に答える