written by adli
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.
written by cperdana
I decided to literally berhijrah to the latest stable kernel (2.6.19.2) on my Dell Latitude X1 yesterday. Migration is certainly needed as my deskmate at work (Yomud) has started using one of those Mac Powerbook.
adli@an-nahl:~$ uname -a
Linux an-nahl 2.6.19.2 #2 Fri Jan 19 19:46:49 MYT 2007 i686 GNU/Linux
Everything looks allright and you somehow get the feeling that your machine is faster (lol). The only weird thing is now my wifi interface is now called eth2_rename :
eth2_rename IEEE 802.11g ESSID:"kamen_rider"
Mode:Managed Frequency:2.442 GHz Access Point: 00:11:95:9E:9F:D8
Bit Rate:36 Mb/s Tx-Power=20 dBm Sensitivity=8/0
Retry limit:7 RTS thr:off Fragment thr:off
Encryption key:0987-6ABC-DE Security mode:open
Power Management:off
Link Quality=72/100 Signal level=-56 dBm Noise level=-87 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Initially I thought that I didn’t get the ipw2200 and ieee80211 sources compiled correctly. I didn’t have time to google this one yet, but if anyone out there have face similar situtation, please let me know
May the new year bring happiness and success for you in this world and the hereafter.
written by adli
Assalamualaikum…
‘TCP Wrappers’ boleh digunakan untuk membenarkan atau tidak membenarkan servis-servis tertentu dari mesin luar ke mesin milik anda.
Caranya tidak terlalu susah hanya sekadar melakukan sedikit pengubahsuaian pada fail berikut iaitu
/etc/hosts.allow
/etc/hosts.deny
Katakan, ada sebuah mesin luar yang mempunyai keinginan untuk melakukan ‘SSH’ atau ‘FTP’ ke mesin kepunyaan anda…. Apa yang berlaku pada mesin anda ialah
- Ia akan memeriksa terlebih dahulu fail /etc/hosts.allow dan melihat/memeriksa/memadankan arahan/peraturan yang berkaitan dengan servis tersebut. Jika ia padan, maka sambungan akan diteruskan. Jika tidak ada padanan ia akan ke langkah 2
- Ia akan memeriksa fail /etc/hosts.deny dan jika terdapat padanan, ia akan membatalkan servis dan sambungan tersebut
Camner/How/Wow……
Let say, saya ingin membenarkan servis ‘SSH’ ke mesin saya dari satu domain ( cth: libas.com) dan tidak membenarkan dari yang lain.. so… letaklah ayat dibawah pada /etc/hosts.allow
sshd: libas.com
dan pada fail /etc/hosts.deny , letakkan ayat di bawah
sshd: ALL
…. So ape yang berlaku ialah , domain libas.com boleh meng’SSH’ ke mesin anda tetapi domain selain libas.com tidak dibenarkan.
…. Selamat mencuba dengan jayanya….
Rujukan
written by apis
Recent Comments