sshで接続した先のRaspberryPiからHDMIで繋がったテレビに画像を表示したい。fbi(Frame Buffer Imageviewer)コマンドを使えばできる。こうなる。
$ sudo fbi -T 1 -d /dev/fb0 -noverbose Alexandros_ワタリドリ.mkv.mp3.jpg
なんて便利。サイネージに使えそう。
RaspberryPi3で動かすまでの手順を残しておく。まずはこのへんの記事を参考にコマンド「fbi」をインストールする。
# sudo apt-get -y install fbi
インストール完了。
動くか確認。
# fbi
よし。
画像を表示させてみる。
$ sudo fbi -T 1 -d /dev/fb0 -noverbose Alexandros_ワタリドリ.mkv.mp3.jpg
素晴らしい。
ただ、fbiで表示した画像を消すには、プロセスをkillするだけじゃ足りないようで(プロセスは死んでも画像は表示されたままになる)、kill後に別の画像を表示してやる必要があるみたい。
・fbiで画像表示
・プロセスをkill
・次の画像を表示(または真っ黒な画像を表示)で消える
ということは、例えばこういう3枚の画像があるとして
forループで回してやれば順番にテレビに表示することができるわけだ。
# for i in aimyon*jpg Alex*jpg; do echo "$i"; sudo kill -9 $(ps aux | grep -v grep | grep fbi | awk '{print $2}'); sudo fbi -T 1 -d /dev/fb0 -noverbose "$i"; sleep 5; done
実行すると
1枚目が表示され
5秒経つと
2枚目が表示され
さらに5秒経つと
3枚目が表示されて
画面にはその画像が残ったままになる、という動作をする。
実行結果
最高すぎ。
このforループにomxplayerで音楽再生のコードを入れてやればテレビで観賞できるカバー画像付き簡易音楽プレイヤーになるわけだ。
コピペ用
for i in aimyon*jpg Alex*jpg; do echo "$i"; sudo kill -9 $(ps aux | grep -v grep | grep fbi | awk '{print $2}'); sudo fbi -T 1 -d /dev/fb0 -noverbose "$i"; sleep 5; done
aimyon_MG.mp3.jpg