2014年7月24日 星期四

Linux Icewm 隨機自動換桌布

筆者使用 Debian Linux 的 GUI 為 icewm,下面為 shell script。

此 Shell Script 要修改幾個簡單變數,就可以使用了:
1. IMG_POSTION ,在06行,為你自己的桌圖目錄位置。
2. IMG_TYPE*.jpg 要修改, 在 12 行,該部份為你自己所擁的圖片副檔名,若只有 JPG 改 *.jpg,若有多種副檔名 (例如 JPG、PNG) 就改為 *.{jpg, png}。


  • 自動更換桌面,首先先安裝有 hsetroot,桌面布圖指令
sudo apt-get update && apt-get install hsetroot

  • 接下來,寫一個可以自動換圖的 Shell Script 
vi WallpaperChange.sh


  • My code
#!/bin/bash
# 2014/04/19    Author:Kai-Lin Liao
# Auto Change Wallpaper

# Parameter
IMG_POSITION=/home/lin/images/Wallpaper

# Change Director 
cd $IMG_POSITION

# Parameter
IMG_TYPE=`find *.jpg`
#IMG_TYPE=`find *.{jpg,png}`
IMG_AMOUNT=`find $IMG_TYPE -type f | wc -l`

# Test World
#echo "Image Type: $IMG_TYPE"
#echo "Wallpaper Postion: $IMG_POSITION, File Amount: $IMG_AMOUNT"

# Build Picture List
for N in $(seq 1 $IMG_AMOUNT)
do
        GET_IMG=`find $IMG_TYPE | sort | sed -n ${N}p`
        DeskPicture[${N}]=$GET_IMG
done

# Create RANDOM
LOW=1
HIGH=$IMG_AMOUNT
COUNT=$(($LOW + $RANDOM % $HIGH))
#echo $COUNT 

# Seting Wallpaper
echo "Wallpaper Change: ${DeskPicture[$COUNT]}"
hsetroot -fill $IMG_POSITION/${DeskPicture[$COUNT]}&


  • 測試、記得加入 x 權限
chmod +x WallpaperChange.sh
./WallpaperChange.sh 2> /dev/null

沒有留言:

張貼留言