Ubuntuで自動壁紙更新
Windows 7でも、自動で壁紙を切り替えるシステムが搭載されたらしい。
一方のUbuntuはどうかというと、簡単なようで実に面倒臭い。
色々試してはみたが、結局以下の方法で落ち着いたのでメモ
フォルダにある画像ファイルを選択
基本的には壁紙の変更はgconftool-2を使えばできる。ただ自動更新するにはそれを時間毎に実行する必要がある。
まずランダムに選択する方法だが、前提として、ファイルが数千を越えているので、毎度走査しているようでは処理が非常にもたついてしまう。
従って、予めファイルリストを作り、そこへ放り込んでおく。-vでファイルリストの更新を掛けるようなPythonスクリプトを書いてみた。
○分毎に更新をかける
というタイトルを見てcron使えばいいんですね!と思う人は実にLinux的発想だが、残念ながらUbuntuではうまくいかない。どうもバグらしい。以下に書いてある。が、英語苦手なので、きちんと読んでない。
https://bugs.launchpad.net/ubuntu/+source/cron/+bug/327190
あまり優雅ではないが、常駐させることにする。こんなのでどうだろう?
#!/bin/sh secs=300 while true; do $HOME/etc/wp/wall.py $1 $HOME/etc/wp sleep ${secs} done exit 0
私としては一応ちゃんと動いているのでこれでいいかなとか。あとは起動時にこのスクリプトを動かすようにしておけばOK。