Ubuntu で壁紙自動切り替え

単に壁紙を切り替えたかっただけですけど、標準では簡単な手段が用意されていないようで、試行錯誤した記録です。
ちなみにインストールに使ったイメージは Ubuntu-ja-12.04.2-desktop です。

結果

これでうまく行きました。

  • changewallpaper.sh
DISPLAY=localhost:0
DIR=$1
PERIOD=$2

while true
do
  for n in `ls $DIR | sort -R`
  do
    com="gsettings set org.gnome.desktop.background picture-uri \"file://$DIR/$n\""
#    echo $com;
    env DISPLAY=$DISPLAY $com
    sleep $PERIOD;
  done
done
  • 使い方
sh changewallpaper.sh /home/yoya/wallpaper 60

試行錯誤

駄目駄目尽くし。

crebs

ググると一番初めに出てくるのは、このツールです。

  • まず ppa:crebs/ppa はパッケージファイルが壊れていて(パッケージファイルのあるディレクトリが消えてる。多分ユーザディレクトリ毎)、ダメ。
  • 手動でインストール。といっても tarball を取ってきて setup.sh を実行するだけ。
  • crebs を起動して設定してみたけどダメ。
  • 一応、~/.crebs/ に XML ファイルが出来ている。
XML ファイル
  • 壁紙として画像ファイルでなく、この XMLファイルを指定すればスライドショーになるそうですが、ファイル選択で XML が出てきません。隠しファイルを表示する。にしてもダメです。
  • /usr/share/backgrounds/ に入れれば壁紙選択画面に初めから出ないかと、再起動までしましたがダメでした。
desktopnova
  • desktopnova-0.8.1 をコンパイル
    • apt-get install したもの一覧 > libtool, intlrool, libdbus-glib-1-dev, libxfconf-0-dev, libgconf2-dev
  • 動かして設定したけどダメでした。。
gbackground
gconftool-2

gbackground は /usr/share/gbackground/gbackgroundD を呼び出していて、中身を見たら gconftool-2 を呼んでいるだけでした。

gconftool-2 -t str -s /desktop/gnome/background/picture_filename /home/yoya/wallpaper/lebesgue.jpg

-g で見ると値は更新されるのですが、画面には反映されません。これもダメ。

最後に

なんでだろう。ググっても役に立たない情報ばかり出てくるのは。