引き続きRhythmbox を弄ってるんだが、Rhythmbox-client という、コマンドラインで動作するものが有るので、それとcrontab を組み合わせてラジオを朝流すようにできるのか試してみる。コマンドはここ。ただ、何故かstream を巧く受信出来ないんだよねこれ。まぁ別に無くても良いけど。
Rhythmbox は、少なくともpodcast は再生できる。最新のpodcast を確認すると勝手にDL する"はず"なので、特に手動でDL をする必要は無いと思う。だけど、この日記を書いてる段階だと確認できないので、もし駄目だった追記しようと思う。
# rhythmbox-client --play-uri=http://downloads.bbc.co.uk/podcasts/worldservice/globalnews/rss.xml # rhythmbox-client --play
ただし、crontab で運用するためにシェルスクリプトを書くと、ちょっと話しが変わってくる。Rhythmbox を別のシェルで起動している状態で、シェルスクリプトを実行するとハングアップする時があるかも知れない。その場合は、--no-present を--play-uri= の前に追加すると解決するかも知れない。検索したけど、余りこのコマンドについて詳しく説明しているサイトが無いので、これで合ってるのかどうか良く解らんのだけど。あと、sleep も3秒入れておくと、play が早すぎる時でも大丈夫。それともしVNC で普段ログインしてるんだけど、シェルスクリプトを再生するときにssh でログインして、とかで問題になる時は、export DISPLAY=:1.0 && rhythmbox --play とかすると解決する可能性がある。あとexport DBUS_SESSION_BUS_ADDRESS とかも指定すると良いかも知れない。そこらへんの詳しい話しはここにある。あと、ここ。このサイトに沿ってスクリプトを組むとちゃんと動いた。
# /bin/bash PID=$(pgrep -u $LOGNAME -o -x rhythmbox) if [ -n $PID ] ; then PID=$(pgrep -u $LOGNAME -o -x notification-da) fi DBUS_SESSION_BUS_ADDRESS=`grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ 2>/dev/null` export $DBUS_SESSION_BUS_ADDRESS rhythmbox-client --play-uri=http://downloads.bbc.co.uk/podcasts/worldservice/globalnews/rss.xml sleep 3 rhythmbox-client --play