mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

Linux Mint - notify-send でポップアップ通知!

[ pc_tips ] [ LinuxMint ]

こんばんは。

Linux デスクトップ上でポップアップ通知する機能をコマンドラインから使用する方法についてです。

Mac なら Growl でしょうか。

以下、備忘録です。

0. 前提条件

  • Linux Mint 14 (64bit) での作業を想定。
  • 「ポップアップ通知の設定」で、テーマを「Nodoka」、位置を「右上隅」と設定していることを想定。
    (環境により選択できるテーマは異なるかもしれない)
  • その他、環境により異なる部分があるかもしれない。

1. notify-send のインストール

Linux Mint の場合は “libnotify0.4-cil” をインストールすれば notify-send コマンド使用できるようになる。
未インストールなら、以下のようにしてインストールする。Synaptic パッケージマネージャでインストールしてもよい。

1
2
3
4
$ sudo apt-get install libnotify0.4-cil

$ notify-send -v
notify-send 0.7.5

2. 使用方法

notify-send --help で使用方法・オプションは確認できる。
書式は以下の通り。(SUMMARY, BODY 内に半角スペースが入る場合はクォーテーションでくくる)

1
$ notify-send [OPTION...] <SUMMARY> [BODY]

その他、よく使用するであろうオプションについて記録しておく。

  • -u, --urgency=LEVEL … 緊急レベルを low, normal(デフォルト), critical で指定。
    (黒い色調のテーマでは、違いがわかりにくいかもしれない)
  • -t, --expire-time=TIME … 表示されたポップアップが消えるまでの時間をミリ秒単位で指定。(10秒なら10000)
  • -i, --icon=ICON[,ICON...] … ポップアップ内に表示するアイコン画像を指定。アイコン画像は “/usr/share/pixmaps/” ディレクトリ配下の XPM, PNG, JPEG, SVG 形式の画像で、拡張子を除外して指定。

ちなみに、SUMMARY, BODY には「Pango Text Attribute Markup Language」というマークアップ言語が使用できるので、フォントを変更したりできる。(ただし、当方の環境では「標準」、「Slider」のテーマでは機能しなかった)

3. 使用例

以下のように実行してみる。
ポップアップ通知位置が「右上隅」に設定されている場合、前に表示されたポップアップが消える前に次のポップアップを表示させると、新しい方が上に表示される。ポップアップ通知位置が「左下隅」、「右下隅」に設定されている場合は、新しい方が下に表示される。

1
2
3
$ notify-send -u low -i nobody -t 10000 '<span color="blue">Popup TEST 1</span>' ポップアッ プ通知のテスト1です。
$ notify-send -i mate-about-logo -t 10000 '<big>Popup TEST 2</big>' '<span color="blue">ポップ アップ通知のテスト2です。</span>'
$ notify-send -u critical -i language-selector -t 10000 '<big><span color="red">Popup TEST 3</span></big>' '<span background="blue" foreground="yellow">ポップアップ通知のテスト2です。</span>'

LINUX_NOTIFY_SEND

参考サイト


シェルスクリプトや cron で利用すれば、便利なものができるのではないでしょうか。

ちなみに当方は、時報を鳴らすシェルスクリプトに notify-send でポップアップする機能も追加して、 cron で毎正時に起動させいています。(cron で起動する場合は、環境変数 DISPLAY=:0 の設定が必要)

以上。

Comments