2012年2月22日 星期三

Lubuntu (LXDE) 定時自動更換桌布的方法



由於最近剛把桌面環境換成以LXDE為主的Lubuntu 11.10

以往在Ubuntu上習慣使用的一些花招(?),在LXDE上卻開始失效了,

定時自動更換桌布這個小機制就是其中一個,

廢了一些時間去找資料、換軟體,

最後找到了這個簡單的方法。

(雖然要自己建立script,比起無腦安裝,還是稍嫌麻煩。)

最後附上我自己在用的一些桌布,通通都是自己拍的照片喔!

Ref:
黑眼珠2 - openSUSE 12.1 的 LXDE

原理很簡單,

在Lubuntu裡面呢,可以透過PCMan File Manager來更換桌布,

pcmanfm --set-wallpaper xxx.jpg

就有外國人利用這個指令,寫了一個script來達到我們要個功能,

#!/bin/bash
DIR=/home/user/Pictures/Wallpapers
FLOOR=1
RANGE=`ls -1 "$DIR"/*.jpg | wc | awk '// {print $1}'`
number=0
while [ 1 -eq 1 ]; do
number=$RANDOM
while [ "$number" -le $FLOOR ]; do
      number=$RANDOM
done
let "number %= $RANGE"  # Scales $number down within $RANGE.
COUNTER=1
for X in "$DIR"/*.jpg
do
    if [ $number -eq $COUNTER ]; then
       pcmanfm --set-wallpaper "$X"
    fi
COUNTER=$(($COUNTER+1))
done
COUNTER=1
sleep 30m
done

只要開啟一個文字檔(如auto_change_wall.sh)將上面的script貼進去,

把資料夾路徑更改成自己放桌布檔的地方,

DIR=/home/user/Pictures/Wallpapers

如果要更改換桌布的間隔可以改這行,
(我設成跟Windows預設一樣30分鐘)

sleep 30m

接著更變這個文字檔為可執行文件,

$ chmod +x auto_change_wall.sh

把這個可執行文件放到~/.bin/,
(可以自己決定要放在哪,我的script是都藏在這個資料夾裡)


mv auto_change_wall.sh ~/.bin/

以上就已經完成script的部分,可以下指令測試看看,

$ ~/.bin/auto_change_wall.sh &

成功的話桌面應該馬上就會先換過一張喔!

再來要設定成登入桌面就自動啟動這個script,

LXDE的設定登入桌面自動啟動程式的方法,

是將捷徑檔(.desktop)放到~/.config/autostart/就可以了,

這個捷徑檔也是用文字編輯器來自己新增,內容如下:
(我將檔案命名為auto_change_wall.desktop)

[Desktop Entry]
Name=Auto-Change Wallpaper
Name[zh_TW]=自動變換桌布
Exec=auto_change_wall.sh

編輯完成之後放到該放的地方,

$ mv auto_change_wall.desktop ~/.config/autostart/

重新登出再登入桌面,應該就會有作用嘍!

希望大家的桌布都是可以很有變化的!

增添一點情趣(?) XD。


工商時間,替自己的相簿(Picasa)打個廣告,

美美的桌布,張張都是我自己拍的喔!

1. 1920x1080版本
2. 1680x1050版本
3. EXTRA Wallpapers!

2 則留言: