2010年1月26日火曜日

ubuntuで壁紙をランダムに切り替える。

 起動時にランダムに壁紙を変更していきます。
 毎回同じ壁紙だと飽きてくるし、かといって手動でいちいち切り替えるのも億劫になってきまして(^_^;)


 まず、ランダムに変える壁紙を入れたディレクトリを決めておきます。壁紙となる画像ファイルはあらかじめ gimp などのフォトレタッチソフトを使ってサイズを統一しておきましょう。その方がいろいろと面倒じゃなくなるので。

● icewm の場合

 以下を random-wallpaper-icewm.sh という名前で ~/bin あたりに保存します。保存したら、chmod +x random-wallpaper-icewm.sh として実行属性を付けるのを忘れずに。
 pref は ~/.icewm/preferences の場所です。
 WALLPAPERS は壁紙のあるディレクトリを指定します。
 それぞれ御自分の環境に合わせて修正してください。

#!/bin/bash
# last updated : 2010/01/21 21:13:37 JST
#
# icewm用ランダム壁紙チェンジャー
#

pref='/home/ユーザー名/.icewm/preferences'
WALLPAPERS="$HOME/MyPictures/Wallpapers"
ALIST=( `ls -w1 $WALLPAPERS` )
RANGE=${#ALIST[*]}
SHOW=$(( $RANDOM % $RANGE ))

sed --in-place=.bak -e \
's:^DesktopBackgroundImage=.*$:DesktopBackgroundImage="'"${WALLPAPERS}/${ALIST[$SHOW]}"'":' $pref
icewmbg -r
 修正して保存し終えたら、~/.icewm/startup の最後の方に追記します。
 以上で次回以降、icewmにログインする度に壁紙がランダムで変更されます。


● GNOME の場合

 以下を random-wallpaper-gnome.sh という名前で ~/bin あたりに保存します。保存したら、chmod +x random-wallpaper-gnome.sh として実行属性を付けるのを忘れずに。
 WALLPAPERS は壁紙のあるディレクトリを指定します。
 自分の環境に合わせて修正してください。

#!/bin/bash
# last updated : 2010/01/26 15:13:17 JST
# Set Random Wallpapers for GNOME.
#

WALLPAPERS="$HOME/MyPictures/Wallpapers"
ALIST=( `ls -w1 $WALLPAPERS` )
RANGE=${#ALIST[*]}
SHOW=$(( $RANDOM % $RANGE ))

gconftool-2 --type string --set "/desktop/gnome/background/picture_filename" $WALLPAPERS/${ALIST[$SHOW]}
gconftool-2 --type string --set "/desktop/gnome/background/picture_options" "centered"
 保存し終えたら、メインメニューのシステム設定自動起動するアプリ を起動します。

 起動したら追加ボタンを押して追加メニューを出し、登録していきます。


 これで次回以降ログインする度に壁紙がランダムに設定されて表示されます。

● openbox の場合

 以下を random-wallpaper.sh という名前で ~/bin あたりに保存します。保存したら、chmod +x random-wallpaper.sh として実行属性を付けるのを忘れずに。
 WALLPAPERS は壁紙のあるディレクトリを指定します。
 自分の環境に合わせて修正してください。
 feh というコマンドを使いますので、あらかじめ
sudo apt-get install feh
として入れておいて下さい。

#!/bin/bash
# last updated : 2010/01/05 15:12:05 JST
#
# SET random Wallpapers for background.
#

WALLPAPERS="$HOME/MyPictures/Wallpapers"
ALIST=( `ls -w1 $WALLPAPERS` )
RANGE=${#ALIST[*]}
SHOW=$(( $RANDOM % $RANGE ))

feh --bg-scale $WALLPAPERS/${ALIST[$SHOW]}
 修正して保存し終えたら、~/.config/openbox/autostart.sh の最後の方に追記します。
 以上で次回以降、openboxにログインする度に壁紙がランダムで変更されます。

0 件のコメント: