ちょくちょくあるんですよ、n分後にアラートして欲しいとか、何かしらの処理が終了したら通知して欲しいとか。 そこでnotify-sendとmplayerでいい感じに通知してもらえたのでメモ。
例えば下記の場合、3分経ったら上の画像のようなアラートを表示して音楽を流してくれます。
$ sleep 3m && notify-send -i /your/icon/path/terminal.png 'noodle !!' && mplayer /your/music/path/notify.ogg > /dev/null 2> /dev/null
長いコンパイル、デカいファイルのコピーなんかの時に仕込んでおくと便利そう。いい感じのaliasを設定しときたいですね。
cygwin
cygwinの場合は、growl for windowsがインストールされてい(てかつgrowlが常駐して)れば下記のようにできる。$ sleep 3m ; /cygdrive/c/Program\ Files/Growl\ for\ Windows/growlnotify.exe /i: "c:\your\icon\path\notify.png" /t:"hoge" 'Ha!!'
参考
- Tech Tip: Get Notifications from Your Scripts with notify-send | Linux Journal
- ubuntuでもGrowlのようなnotificationが使いたい。 - podhmoの日記
- Growl for Windows
追記
alertって名前でshellスクリプト書いてみた。sh -x ./alert でtrace情報っぽいのが出るんですね。!/bin/sh ICON="/your/icon/path/icon.png" MUSIC="/your/music/path/music.png" while getopts s:m: OPT do case $OPT in "s" ) FLG_SLEEP="TRUE" ; VALUE_SLEEP="$OPTARG" ;; "m" ) FLG_MESSAGE="TRUE" ; VALUE_MESSAGE="$OPTARG" ;; esac done if [ "$FLG_SLEEP" = "TRUE" ]; then sleep $VALUE_SLEEP fi if [ "$FLG_MESSAGE" = "TRUE" ]; then notify-send -i $ICON "$VALUE_MESSAGE" fi mplayer $MUSIC > /dev/null 2> /dev/null
以下のように実行すると、3秒後に音楽とともにgrowlっぽいものが表示される。
$ alert -s 3 -m 'Hello, world !!'
0 件のコメント:
コメントを投稿