web-dev-qa-db-ja.com

デスクトップアイコンでのスクリプトの開始

デスクトップに次の.desktopファイルがあります。

[Desktop Entry]
 Encoding=UTF-8
 Name=Robomongo
 Comment=Launch Robomongo
 Exec=/usr/local/robomongo-0.8.4-i386/bin/robomongo.sh
 Icon=/usr/local/robomongo-0.8.4-i386/share/icons/robomongo.png
 Type=Application
 Terminal=true

アプリケーションをターミナルウィンドウで起動する必要があります。クリックすると、ターミナルウィンドウが開きますが、スクリプトは実行されません。どうすれば設定できますか? 「Terminal = false」を作成すると、ターミナルウィンドウなしでプログラムが起動します。リンクを作成しようとしましたが、ターミナルウィンドウは表示されません。

このアイコンにも問題があります。 「無効なデスクトップエントリファイル: '/home/dev/Desktop/mongod-port-27007.desktop」エラーが引き続き表示されます。 mongodはシェルから動作します。

[Desktop Entry]
Encoding=UTF-8
Name=mongod-port-27007
Comment=Launch Robomongo
Exec=mongod
Icon=/usr/local/robomongo-0.8.4-i386/share/icons/robomongo.png
Type=Application
Terminal=false
3
user994165

あなたはこの方法を試すことができます:

[Desktop Entry]
Version=1.0
Type=Application
Hidden=false
NoDisplay=false
Terminal=false
Encoding=UTF-8
Exec=xfce4-terminal -x /usr/local/robomongo-0.8.4-i386/bin/robomongo.sh
Icon=/usr/local/robomongo-0.8.4-i386/share/icons/robomongo.png
Name=Robomongo
Comment=Launch Robomongo

Sudo chmod +x /usr/local/robomongo-0.8.4-i386/share/icons/robomongo.png && /usr/local/robomongo-0.8.4-i386/bin/robomongo.shで読み取り許可を与えます。

違いは、オプション-xで端末を実行することです。

「-x、-execute; -e、-command = comanda; --working-directory = directori;」

そして、私は追加しました

Hidden=false
NoDisplay=false
Terminal=false

私はgnomeデスクトップとlxdeデスクトップでそれらを実行しているスクリプトを持っているので、それがあなたにとってもうまくいくことを願っていますが、gnomeでは次を使用します。

Exec=gnome-terminal -x Sudo /usr/local/bin/donacion.sh

そして、lxdeまたはlubuntuの場合:

Exec=lxterminal -e Sudo /usr/local/bin/donacion.sh

うまくいったか教えてください、thx。

1
blkpws

同じデスクトップファイル定義を試しましたが、期待どおりに機能します。そのため、ランチャースクリプトに適切な権限があることを再確認してください。

chmod u+x /usr/local/robomongo-0.8.4-i386/bin/robomongo.sh

または、次のExecコマンドを試してください。

Exec=bash /usr/local/robomongo-0.8.4-i386/bin/robomongo.sh
1
Sylvain Pineau