01.25
Kemahiran menulis shell skrip dlm linux adalah antara ciri penting untuk melayakkan seseorang menempatkan dirinya dlm golongan power user. Namun dengan pelbagai aplikasi gui dewasa ini membuatkan ramai yg memilih utk tidak cuba mempelajari asas yg penting ini. Saya termasuk salah seorang yg suka bergantung pada tikus dan saya akui ini melambatkan proses untuk mendalami dan memahirkan skil di persekitaran linux. Baru baru ini sy terjumpa satu skrip yg mudah untuk menukar wallpaper(gnome only) dan ia memberikan satu anjakan paradigma dan juga semangat utk mula mendalami semula bash skrip
. Harap rakan2 juga mendapat smgt baru.
Ok, lets work.
Ada beberapa langkah utk menjayakan skrip tersebut.
1- cipta satu folder dlm home dir.(/home/cperdana/gambar)
2- letakkan semua gambar yg anda inginkan utk wallpaper.
3- bina bash skrip berkenaan.
4- cuba larikan skrip tersebut.(dan pastikan ia berjaya sebelum langkah seterusnya)
5- cipta crontab utk melarikan skrip tersebut utk setiap minit/jam/hari…
Langkah 1 dan 2, jika anda gagal memikirkan sendiri bagaimana utk melalukukannya, sory to say..anda belum layak utk mencuba nasib utk masuk ke peringkat power user
.
Langkah 3
cipta satu fail di /home/cperdana/xbin/wallpaper.sh
(vi /home/cperdana/xbin/wallpaper.sh)
dan skrip adalah seperti dibawah.
just declare beberapa variable yg perlu, iaitu DIR, NUMBER, TOTAL
export DIR=’/home/cperdana/gambar/’
export NUMBER=$RANDOM
export TOTAL=0
Seterusnya dptkan jumlah bilangan fail yg ada dlm dir tersebut.
for f in `ls $DIR`
do
let "TOTAL += 1"
done
Looping akan berlaku utk do … done. ketika looping tamat, nilai variable TOTAL ialah bilangan fail yg terdapat dlm dir wallpaper.
Perlu diingatkan tanda koma di `ls $DIR` bukanlah tanda koma yg biasa.(butang di sebelah kiri nombor 1)
baris di atas memastikan variable NUMBER bernilai sama 0, 1,…TOTAL.
Seterusnya memilih fail berdasarkan variable NUMBER.
export CURRENT=0
for f in `ls $DIR`
do
if [ $CURRENT = $NUMBER ]
then
/usr/bin/gconftool-2 -t string -s /desktop/gnome/background/picture_filename $DIR$f
break
fi
let "CURRENT += 1"
done
Koding sekali lagi akan looping. Kali ini untuk menentukan fail mana yg perlu di paparkan di wallpaper.
gnome meyimpan konfigurasi desktopnya(cth. fail utk wallpaper) dlm satu database khas yang terdapat dlm folder .gconf dlm dir $HOME. Untuk memudahkan pengguna memanipulasi database ini, terdapat tool yg disediakan iaitu gconftool-2. contohnya utk setkan image bagi background desktop(wallpaper la..) ialah :
/usr/bin/gconftool-2 -t string -s /desktop/gnome/background/picture_filename /tmp/gambar.jpg
(arahan diatas adalah dlm satu baris yg sama.)Ia akan setkan wall paper kepada fail /tmp/gambar.jpg.
Selain itu the code speak fot itself.
Untuk mendapatkan manfaat yg maksimum, sila fahami setiap baris yg terdapat dlm skrip tersebut. Insyaallah anjakan paradigma akan berlaku bagi mereka yg berhasrat utk memulakan hidup sebagai linux heavy user…:)
Berikut adalah keseluruhan skrip :
#!/bin/bash
export DIR=’/home/cperdana/personal/wallpaper/’
export NUMBER=$RANDOM
export TOTAL=0
for f in `ls $DIR`
do
let "TOTAL += 1"
done
let "NUMBER %= TOTAL"
export CURRENT=0
for f in `ls $DIR`
do
if [ $CURRENT = $NUMBER ]
then
/usr/bin/gconftool-2 -t string -s /desktop/gnome/background/picture_filename $DIR$f
break
fi
let "CURRENT += 1"
done
Langkah 4
Cuba larikan skrip tersebut dan pastikan desktop anda bertukar wajah.
#cd /home/cperdana/xbin
#./wallpaper.sh
(gantikan cperdana dgn username anda)
Langkah 5
Cipta crontab utk larikan skrip diatas
#crontab -e
# m h dom mon dow command
* * * * * /home/cperdana/xbin/wallpaper.sh
CTRL + X utk exit, dan save fail anda. Konfigurasi diatas akan melarikan skrip anda pada setiap minit.
Jika anda hendak menukar gambar setiap 5 minit sekali:
*/5 * * * * /home/cperdana/xbin/wallpaper.sh
Selamat Berjaya.
No Comment.
Add Your Comment