Membuat Alarm di Linux (Bash Scripting Dengan Kdialog)

Release Code: Alarm

By: KillFinger & aW^

Haloo..... Linux mania. Kali ini kami akan mencoba membagikan kode sumber (Source Code) dari salah satu applikasi buatan kami yang berjalan di Linux.
Applikasi Alarm versi 0.1. Bagi teman-teman di /bsp, mungkin pernah melihat alarm komputernya Eddo (D-12) yang bisa membangunkan tetangga sebelah (Applikasi Windows). Nah alarm yang kami buat ini adalah versi Linuxnya.

Ok, langsung aja kite kemon......

Pembukaan:

Program ini dibuat dengan script "bash" yang dipadu dengan Kdialog. Bagi anda yang belum mengenal KDIALOG, silahkan buka http://developer.kde.org/documentations/tutorials/kdialog/t1.html. Kdialog adalah salah satu applikasi dari KDE yang mampu membuat suatu bentuk gui dengan pemrograman bash script.

Requirements:

1. Linux OS
2. KDE 3.X
3. crond
4. kdialog
5. xmms
6. mp3 file
7. Speaker Aktif

Cara pakai:

Copy & Paste program di bawah ini.
Simpan dengan nama Alarm (atau terserah anda).
Lalu set attributnya supaya bisa di execute dengan perintah "chmod +x alarm" tanpa tanda kutip di konsol anda.
Ingat, sebelum melakukan perintah tersebut anda harus sudah berada di direktori tempat anda menyimpan file tersebut.
Lalu jalankan dengan perintah "./alarm" tanpa tanda kutip.
Syarat yang cukup penting yaitu komputer anda harus nyala 24 jam, dan volume speaker aktif di set secukupnya. Ikuti petunjuknya.

Program telah di test di:

1. Fedora Core 2
2. Slackware 9.1
3. Mandrake 10
4. SecretColonyX

Berikut snapshot dari program tersebut (diambil dari Fedora Core 2):

Opening Option

Hour SettingMinutes Setting

Song Option

Confirmation

Reset


Selamat mencoba. Silahkan di kembangkan jika diperlukan

Berikut kode sumber (source code) program Alarm mulai dari tanda "#" dibawah ini:

 
############################################################################
#    Copyright (C) 2004 by KillFinger & aW^                                #
#    [email protected]  || aW^ of /bsp/mnt                              #
#                                                                          #
#    This program is free software; you can redistribute it and#or modify  #
#    it under the terms of the GNU General Public License as published by  #
#    the Free Software Foundation; either version 2 of the License, or     #
#    (at your option) any later version.                                   #
#                                                                          #
#    This program is distributed in the hope that it will be useful,       #
#    but WITHOUT ANY WARRANTY; without even the implied warranty of        #
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         #
#    GNU General Public License for more details.                          #
#                                                                          #
#    You should have received a copy of the GNU General Public License     #
#    along with this program; if not, write to the                         #
#    Free Software Foundation, Inc.,                                       #
#    59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             #
############################################################################
#!/bin/bash
# $Id: Alarm,v 0.1 2004/11/14 22:38:11 Source Code Publish Exp $
# Alarm - Copyright (C) 2004 KillFinger ([email protected]) & aW^ of /bsp/mnt

kdialog --title "SecretColony Lab n Research"  --warningcontinuecancel "Selamat, anda sedang menggunakan file \
konfigurasi alarm. \nCode by: \nKillFinger of \"SecretColony\"   ---   aW^ of \"/bsp/mnt\""

if [ $? = 0 ]
  then
    std=`kdialog --menu "Silahkan Pilih option dibawah ini" a "Baca help file" b "konfigurasi ke system" c "Reset alarm"`

    case $std in 
    a)
        echo "Read me
	Program alarm ini dibuat oleh KillFinger & aW^ dalam rangka pengembangan penggunaan linux ke tingkat 
	yang lebih dari sekedar buka-tutup applikasi saja. Dengan Linux anda bisa memanfaatkan imajinasi 
	menjadi suatu yang nampak nyata. Syaratnya: kemauan. Requirement: Linux OS, KDE 3.X, crond, xmms, mp3 file, 
	kdialog, speaker aktif. Publisher: SecretColony Lab n Research (www.geocitites.com/killfinger)." > /tmp/read.txt
	
	kdialog --textbox /tmp/read.txt 800 600
	kdialog --title "Konfirmasi" --yesno "Apakah anda ingin melanjutkan pemakaian program?"
	if [ $? = 0 ]
          then
	    ./`basename $0`
	  else 
	    exit $?	
	fi
	;;
	

    b)
        kdialog --msgbox "Anda melanjutkan proses konfigurasi."
	jam="`kdialog --title "Alarm Konfigurasi" --inputbox "Masukkan jam alarm anda. Range: 0-23" "5"`"
	menit="`kdialog --title "Alarm Konfigurasi" --inputbox "Masukkan menit alarm anda. Range: 0-59" "0"`"
	kdialog --msgbox "Lanjutkan dengan memilih lagu alarm anda."
	lagu="`kdialog --getopenfilename . "*.mp3"`"
	xhost + localhost
	crontab -l > /tmp/crondata
	cat /tmp/crondata | grep "*" > /tmp/cronfile; rm -rf /tmp/crondata
        chmod 600 /tmp/cronfile; cp /tmp/cronfile /var/tmp/cronfile
	echo -e "#!/bin/bash" > /tmp/cronsong
        echo -e "export DISPLAY=:0.0" >> /tmp/cronsong
        echo -e "/usr/bin/xmms -p $lagu &" >> /tmp/cronsong
	chmod +x /tmp/cronsong
	echo -e "$menit $jam * * * /tmp/cronsong" >> /tmp/cronfile
        crontab /tmp/cronfile
	kdialog --msgbox "Anda telah mengkonfigurasi alarm pada: \nJam = $jam \nMenit ke = $menit \nLagu = $lagu.\n\n\n -= SecretColony Lab n Research =-"
	rm -rf /tmp/cronfile
	;;
    c)
        kdialog --title "Konfirmasi" --yesno "Apakah anda ingin mereset alarm?"
	if [ $? = 0 ]
          then
	    crontab /var/tmp/cronfile
	    rm -rf /var/tmp/cronfile
	    rm -rf /tmp/cronfile
	    kdialog --msgbox "Alarm sudah di reset."
	  else
	   kdialog --msgbox "Anda tidak mereset alarm."
	fi
	exit $?
	;;
    esac
  else
    kdialog --msgbox "Anda tidak melanjutkan proses konfigurasi.\n -= SecretColony Lab n Research =-"
    exit $?
fi

exit 0
Hosted by www.Geocities.ws

1