Unixでスライドショー: シェル編
画像と次々と見せるスライドショーツールは各OSにつきものだが、天狗はUnixのそこら辺にころがっているツールでやる。
FreeBSDのときはこうする:
xv -wait 3 /mnt/dcim/100msdcf/*.jpg
しかし、Ubuntuにはxvがない。もう古いプログラムなんで捨てられちゃったみたい。(そういう古いプログラムも提供し続けるbsdのportsはえらい)
vxにとって代る画像ビューアはgmとかgpicviewとか無数にあるけれど、xvの-waitオプションが無い。しかたないからシェルで-waitオプションをシミュレートする。
プログラムを3秒走らせて終了するシェルスクリプト briefly.sh
#!/bin/sh
gm display "$1" &
pid=$!
sleep 3
kill -9 $pid
あとはforループで回せばいい:
for ff in `find . -name '*.jpg'`; do echo $ff; ./briefly.sh $ff; done
xargsだと何故かうまくいかない、、
以前は似たようなことがfirefoxの-remoteで出来たんだけど、最近のは同じタブを再利用しないで次から次へと新しいタブを開くようになったので、スライドショーとしては使い辛い。
for ff in `find . -name '*.jpg' | head -20`; do \
firefox -a firefox -remote "openurl(file://`pwd`$ff)"; \
done
次回: Emacsによるスライドショー