web-dev-qa-db-ja.com

.desktop構成ファイルを使用してシェルスクリプトを実行する方法はありますか

.desktopファイルを使用してシェルスクリプトを実行しようとしていますが、動作しないようで、各試行でThere was an error launching the applicationのエラーが発生します。 shおよび.desktopファイルで実行可能ファイルを設定しています。

。desktopファイル:

[Desktop Entry]
Name=Craftbukkit Server
Comment=run server
Exec="/home/ubuntu-gnome/Documents/Craftbukkit/run.sh"
Icon=/home/ubuntu-gnome/Documents/Craftbukkit/craftbukkit.png
Terminal=true
Type=Application

スクリプト:

#!/bin/bash
/usr/bin/Java -Xmx1024M -Xms1024M -jar /home/ubuntu-gnome/Documents/Craftbukkit/craftbukkit.jar -o false

すべてのパスが正しい。

試した方法:

  • Exec="/home/ubuntu-gnome/Documents/Craftbukkit/run.sh"
  • Exec='/home/ubuntu-gnome/Documents/Craftbukkit/run.sh'
  • Exec=/home/ubuntu-gnome/Documents/Craftbukkit/run
  • Exec="/home/ubuntu-gnome/Documents/Craftbukkit/run.sh"
  • Exec=gnome-terminal -e "/home/ubuntu-gnome/Documents/Craftbukkit/run.sh"
  • Exec=bash -c 'cd /home/ubuntu-gnome/Documents/Craftbukkit/ && ./run.sh'

顕著に、私は多くの方法を試しました。誰かがこれに対する解決策で私を助けることができますか?

2
user271219

助けてくれてありがとう。 .desktopファイルに何か問題があることに気付きました。 .desktopファイルのプロパティは、/usr/share/applicationsの他の.desktopファイルのプロパティとは異なり、説明、コマンド、またはコメントのテキスト領域は私のものではないことに気付きました。

Color Pickerの.desktopファイルをデスクトップに保存し、情報を置き換えて機能させました。

これが.desktopファイルのプロパティ->基本です。

properties

スクリプト

[Desktop Entry] 
Name=Minecraft-Server Comment=Run the Minecraft
Craftbukkit Server
Icon=/home/ubuntu-gnome/Documents/Craftbukkit/craftbukkit.png
Exec='/home/ubuntu-gnome/Documents/Craftbukkit/run.sh' 
Terminal=true
Type=Application 
Categories=Minecraft;Server;CraftBukkit;
0
user271219

いくつかの潜在的な問題:

  1. スクリプトの最初の行にシバンが必要です...次のようになります。

    #!/bin/bash
    /usr/bin/Java ...
    
  2. スクリプトを実行可能としてマークする必要があります。

    chmod +x /path/to/script.sh
    
  3. .desktopファイルalsoは実行可能である必要があります( セキュリティポリシーなど ):

    chmod +x /path/to/desktop-file.desktop
    
2
Oli

これは、「。desktop」ファイルの作成に使用するものです。

#!/usr/bin/env xdg-open    
[Desktop Entry]
Version=1.0
Type=Application
Name=MY APPLICATION NAME
Comment=THINGS I HAVE TO SAY ABOUT THE APPLICATION
Exec=sh -c "cd /PATH_TO_SH_FILE_FOLDER; FILENAME.sh"
Categories=ENGINERRING;GRAPHICS;ETC
Icon=/PATH_TO_ICON_IMAGE_FILE

上記の場合、コンテキストに合わせてコードのすべて大文字の部分を変更します(すべて大文字である必要はありません)。端末ウィンドウを表示する場合は、Terminal = trueを追加できます。

ここで関連する質問に私が与えた答えから変更されました: 。exeへのリンクはWineを起動しません

2
Ronald Chua

これらのスクリプトでは常に絶対パスを使用するようにしてください。 Java実行可能ファイルのパスを確認します。

which Java

次に、それをyoutスクリプトのパスとして使用します。

/path/to/Java -Xmx1024M -Xms1024M -jar /path/to/craftbukkit.jar -o false

craftbukkit.jarへの完全なパスも指定する必要があることに注意してください。

0
chaos