web-dev-qa-db-ja.com

デスクトップエントリ、または複数のステートメントを実行するためのその他のわかりやすいが安全な方法、

Ubuntu 15.4でGnomeを実行しています。

一度に2つ以上のアクションを実行したいのですが、2つ試してみましょう。

  • 須藤pm-suspend
  • gnome-screensaver-command -l

pm-suspendが追加され、以下を指定することでパスワードを提供せずに実行できるようになりました。

%Sudo ALL = (root) NOPASSWD: /usr/sbin/pm-suspend`

ドキュメント-Exec 、および exec変数/アクション は、複数のExecを使用できる場合は参照を持ちませんが、残念ながら:

[Desktop Entry]
_Name=Sleep and logout
_GenericName=Sleep and logout

#Exec=gnome-screensaver-command -l & Sudo pm-suspend # does not work

#Exec=gnome-screensaver-command -l
#Exec=Sudo pm-suspend                                # does not work either

Terminal=false
Type=Application
Categories=System;Security;

次の場合を除き、特定の機能を実現する方法は他にもあります。

  • スクリプトを作成し、それをSudoまたは類似のものとして実行します-この安全でないことに基づいたソリューションを検討します。
  • gnome電源スイッチまたは呼び出されるもの(右上隅)を使用します-私には中断するオプションがありません

また、私は上記のことを喜んでいますが、複数の異なるコマンドを起動する方法(スクリプト/独自のバイナリなどをコンパイルせずに)を言う答えがあればもっと幸せです他のアクションをバンドルして自動化するのが好きです。

6
JustMe

1つのランチャーで複数のコマンドを実行するには、次の構文を使用する必要があります。

Exec=/bin/bash -c "command_1 & command_2"

または、2番目のものが最初のものが正常に終了するのを待つ必要がある場合:

Exec=/bin/bash -c "command_1 && command_2"

または、Bytecommanderが示唆するように(完了に感謝!)、command_2command_1の終了を待つが、command_1が正常に終了したかどうかに関係なく実行する場合:

Exec=/bin/bash -c "command_1 ; command_2"
5
Jacob Vlijm