web-dev-qa-db-ja.com

shスクリプトを実行している.desktopファイル「アプリケーションの起動中にエラーが発生しました。」

.desktopファイルがあります:

[Desktop Entry]
Type=Application
Terminal=true
Name=RunMe
Exec=run.sh

.desktopファイルをダブルクリックすると、There was an error launching the application.が表示されます

私のrun.shは:

#!/bin/sh
xulrunner-sdk/bin/xulrunner-stub --app xulrunner-sdk/bin/application.ini 2>~log.log

run.shをダブルクリックし、runをクリックすると、アプリケーションが正常に実行されます。 run.sh.desktopの両方が実行可能です。

この機能を使用するには、デスクトップファイルで何を変更する必要がありますか?

6
Kiksy

%kはデスクトップファイルのパスです。shとともに相対.desktopで使用します。

  • 現在の作業ディレクトリ(pwd)を変更すると、run.shとすべてのコマンドがそこから実行されます:

    [Desktop Entry]
    Type=Application
    Terminal=true
    Name=Run Me
    Exec=sh -c "cd `dirname %k`; run.sh"
    
  • それ以外の場合は、run.shにパラメーターとして渡し、run.sh内で必要なときに明示的に使用します。

    run.desktop

        [Desktop Entry]
        Type=Application
        Terminal=true
        Name=Run Me
        Exec=sh -c "`dirname %k`/run.sh `dirname %k`"
    

    run.sh

        #!/bin/sh
        $1/xulrunner-sdk/bin/xulrunner-stub --app $1/xulrunner-sdk/bin/application.ini 2>$1/~log.log
    

参照: 。desktopファイル内の 'Path'変数を、デスクトップファイルが配置されている場所に相対するように設定するにはどうすればよいですか

2
user.dz

あなたが尋ねたように、エラーが正確に何であるかを把握するには

この機能を使用するには、デスクトップファイルで何を変更する必要がありますか?

多くの調査の結果、このコマンドでデスクトップファイルを実際に検証できることがわかりました。

desktop-file-validate your-file-here.desktop

これは、私が何時間も探していた隠しコマンドでした。これ、私の一日を救った:-)

このコマンドは、間違った箇所に警告とエラーを表示します。クレジット: buntuforums

5
swapyonubuntu
  • / usr/share/app-install/desktopに移動します
  • 特定のアプリケーションを右クリック
  • プロパティに移動します
  • コマンドセクションをコピーする
  • 端末から同じを実行します
1