web-dev-qa-db-ja.com

.desktopアプリランチャーからgnomeデスクトップ通知を送信するにはどうすればよいですか?

Gnome .desktopファイル内でシェルスクリプトを実行して、ディスクを外部ディスクにバックアップし、ルートとして実行しています。

Exec:gksu /home/nhiton/bin/sync_home_to_alpha.bash

ただし、スクリプトが正常に終了したかどうかを知るために何もすることはできません。私は次を試しました:

  1. スクリプトの最後にスリープを追加して、結果を確認する時間を確保し、すぐに終了する
  2. 別のスクリプトを実行して、gksuの部分をnotify-sendから分割してみました:

Exec:/home/nhilton/bin/test_sync.bash

# test_sync.bash
gksu sync_home_to_alpha.bash

if [ $? -eq 0 ]; then
    notify-send "SUCCESS"
else
    notify-send "FAILURE"
fi

どの組み合わせも、スクリプトの終了ステータスを通知することができないようです。

助けて!

1
Nick

Exec行を作成します。

Exec=bash -c "/home/nhilton/bin/test_sync.bash && notify-send Success || notify-send Fail"

全体のポイントは、if&&の構造体がシェル構文であるため、実際にそれらを理解するにはシェルが必要です。したがって、bash -cの使用

一重引用符と二重引用符に注意し、.desktopファイルの他のパラメーターを再確認してください

1