Pemrograman Sederhana Shell & Zenity (multi platform Linux)

Tempat nongkrong. Diskusi bebas di luar topik.
User avatar
ArzonLinus
Posts: 352
Joined: 22 Jan 2010, 09:49
Location: Anonymous
Contact:

Pemrograman Sederhana Shell & Zenity (multi platform Linux)

Postby ArzonLinus » 22 Jan 2012, 10:30

Image
Apa itu zenity?
zenity adalah dialog window script yang berbasis gtk utk membantu membuat program berbasis GUI, yang bisa berjalan pada berbagai platform distro linux. pada ubuntu yang berbasis gnome sudah terinstall sebagai default. sedangkan pada ubuntu dengan desktop lain seperti KDE/Xfce/LXDE harus menginstal-nya terlebih dahulu :
sudo apt-get install zenity.


ketik di terminal :

zenity --info --text="Ini percobaan"

zenity --error --text="Pesan error"

zenity --info --text="Informasi"

zenity --warning --text="Peringatan"

zenity --question --text="Bagaimana kabar anda hari ini ?"

zenity --calendar --title="Tanggal"

zenity --file-selection --title="Pilih File"

zenity --list --title="Contoh List Menu" --column="Col1" --column="Col2" --column="Col3" 1.1 2.1 3.1 1.2 2.2 3.2 1.3 2.3 3.3

zenity --entry --title="Isi data" --text="Isi Password Anda:"

Berikutnya saya akan membahas penggabungan zenity dialog window dengan shell programming.

buat file dengan extension .sh
lalu buka dengan gedit jika di gnome, trus isi sbb :

#!/bin/sh
#contoh zenity pertanyaan input data

isi=`zenity --entry --title="Isi Data" --text="Bagaimana kabar anda hari ini?"`
if [ "$isi" != "" ]; then
zenity --info --text=$isi
else
zenity --info --text="Anda tidak mengisi"
fi

cukup sekian dulu contoh dari saya, akan di lanjutkan lagi dilain waktu...

Latihan 2 : (update 23/1/2012)

script dialog box pertanyaan pilihan :


if `zenity --question --text="Sudahkah anda mandi hari ini ?"`; then
zenity --info --text="anda menekan YES"
else
zenity --info --text="anda menekan NO"
fi


penjelasan diatas adalah menampilkan dialog pilihan pertanyaan, YES atau NO, dan hasil ditampilkan dalam dialog box info sesuai dengan yang tombol yang ada tekan

melihat home user anda :
zenity --info --text="Directory anda adalah $HOME"

melihat username anda :
zenity --info --text="username anda adalah $USER"

Latihan 3 : (update 24/1/2012)

contoh Progress Dialog :

#!/bin/sh
(
echo "10" ; sleep 1
echo "# Updating mail logs" ; sleep 1
echo "20" ; sleep 1
echo "# Resetting cron jobs" ; sleep 1
echo "50" ; sleep 1
echo "This line will just be ignored" ; sleep 1
echo "75" ; sleep 1
echo "# Rebooting system" ; sleep 1
echo "100" ; sleep 1
) |
zenity --progress \
--title="Update System Logs" \
--text="Scanning mail logs..." \
--percentage=0

if [ "$?" = -1 ] ; then
zenity --error \
--text="Update canceled."
fi


contoh progress dialog pulsate ( bolak-balik )
biasanya menyajikan proses yang tidak bisa diukur berapa lama akan selesai.

contoh proses copy :

cp -Rfv $HOME/Documents $HOME/baru | zenity --progress --pulsate --auto-close --auto-kill --text="Mohon ditunggu...."
User avatar
lisnux
Posts: 1763
Joined: 02 Jan 2010, 16:26
Location: Samarinda
Contact:

Re: Pemrograman Sederhana Shell & Zenity (multi platform Lin

Postby lisnux » 22 Jan 2012, 11:05

wow keren :D
Ada tutorial yang lengkapnya ndak bro arzon ?
User avatar
ArzonLinus
Posts: 352
Joined: 22 Jan 2010, 09:49
Location: Anonymous
Contact:

Re: Pemrograman Sederhana Shell & Zenity (multi platform Lin

Postby ArzonLinus » 22 Jan 2012, 11:24

lisnux wrote:wow keren :D
Ada tutorial yang lengkapnya ndak bro arzon ?


ditunggu kelanjutan trit ini aja :grin:
User avatar
lisnux
Posts: 1763
Joined: 02 Jan 2010, 16:26
Location: Samarinda
Contact:

Re: Pemrograman Sederhana Shell & Zenity (multi platform Lin

Postby lisnux » 22 Jan 2012, 11:33

sip2, ditunggu ..... :D
User avatar
deny26
Posts: 2450
Joined: 03 Jan 2010, 09:24
Location: ubuntu-indonesia.com

Re: Pemrograman Sederhana Shell & Zenity (multi platform Lin

Postby deny26 » 22 Jan 2012, 12:30

mantap nie.. pengen belajar juga..
ditunggu kelanjutannya mastah :D
pesan tempat dulu :grin:
User avatar
aptfast
Posts: 3847
Joined: 03 Jan 2010, 23:38
Location: Jakarta, Indonesia
Contact:

Re: Pemrograman Sederhana Shell & Zenity (multi platform Lin

Postby aptfast » 22 Jan 2012, 13:34

waaaa.....sangat bermanfaat juragan :D
User avatar
thrvers
Posts: 4458
Joined: 01 Jan 2010, 13:28
Location: Jombang, Indonesia
Contact:

Re: Pemrograman Sederhana Shell & Zenity (multi platform Lin

Postby thrvers » 22 Jan 2012, 15:03

'
mantab kang arzon.

script sederhana bash bisa lebih keren nih :D

THX
User avatar
BudaSuyasa
Posts: 246
Joined: 22 Nov 2010, 22:04
Location: Denpasar, Indonesia
Contact:

Re: Pemrograman Sederhana Shell & Zenity (multi platform Lin

Postby BudaSuyasa » 22 Jan 2012, 20:10

Inponya keren mastah..
Tengkyu..
Langsung dicoba...
User avatar
pupil
Posts: 458
Joined: 08 Jan 2012, 06:24
Location: /home/pupil
Contact:

Re: Pemrograman Sederhana Shell & Zenity (multi platform Lin

Postby pupil » 22 Jan 2012, 23:23

Jadi, belajar bahasa kerang dengan GUI???
User avatar
agus_sintang
Posts: 150
Joined: 28 Jun 2011, 16:47
Location: Surabaya, Indonesia
Contact:

Re: Pemrograman Sederhana Shell & Zenity (multi platform Lin

Postby agus_sintang » 23 Jan 2012, 01:56

mantab dah... :)
User avatar
ArzonLinus
Posts: 352
Joined: 22 Jan 2010, 09:49
Location: Anonymous
Contact:

Re: Pemrograman Sederhana Shell & Zenity (multi platform Lin

Postby ArzonLinus » 23 Jan 2012, 17:46

update tutorial 23/01/2012
User avatar
buzzing_bee
Posts: 1971
Joined: 29 Dec 2010, 21:53
Location: /home/buzzing_bee
Contact:

Re: Pemrograman Sederhana Shell & Zenity (multi platform Lin

Postby buzzing_bee » 24 Jan 2012, 11:11

hmm..berarti variabelnya diisi dengan zenity to, hehe :D
bisa untuk server ndak bro arzon??
User avatar
ArzonLinus
Posts: 352
Joined: 22 Jan 2010, 09:49
Location: Anonymous
Contact:

Re: Pemrograman Sederhana Shell & Zenity (multi platform Lin

Postby ArzonLinus » 24 Jan 2012, 13:37

buzzing_bee wrote:hmm..berarti variabelnya diisi dengan zenity to, hehe :D
bisa untuk server ndak bro arzon??


bisa asal servernya bukan under cli saja, kan zenity berbasis GUI berjalan di xdesktop
User avatar
buzzing_bee
Posts: 1971
Joined: 29 Dec 2010, 21:53
Location: /home/buzzing_bee
Contact:

Re: Pemrograman Sederhana Shell & Zenity (multi platform Lin

Postby buzzing_bee » 24 Jan 2012, 21:55

ArzonLinus wrote:
buzzing_bee wrote:hmm..berarti variabelnya diisi dengan zenity to, hehe :D
bisa untuk server ndak bro arzon??


bisa asal servernya bukan under cli saja, kan zenity berbasis GUI berjalan di xdesktop


wakakak...hehe, berarti ndak bisa yah, soalnya mau tak terapkan di kantor gitu :grin:
di kantor basis cli semua..hehehe
User avatar
saa7_go
Posts: 464
Joined: 21 Jan 2011, 23:37
Contact:

Re: Pemrograman Sederhana Shell & Zenity (multi platform Lin

Postby saa7_go » 25 Jan 2012, 06:04

buzzing_bee wrote:wakakak...hehe, berarti ndak bisa yah, soalnya mau tak terapkan di kantor gitu :grin:
di kantor basis cli semua..hehehe

mungkin bisa pake whiptail atau dialog. tapi aku lum coba sendiri sih. hehehe
User avatar
ArzonLinus
Posts: 352
Joined: 22 Jan 2010, 09:49
Location: Anonymous
Contact:

Re: Pemrograman Sederhana Shell & Zenity (multi platform Lin

Postby ArzonLinus » 26 Jan 2012, 22:27

Latihan 4 (26/01/2012)

menampilkan list directory & file :

ls -la | zenity --text-info --width 530

Pilihan RadioList :

pilih=$(zenity --list --text "Linux apa yang anda gunakan" --radiolist --column "Pilih satu" --column "Jenis Distro" TRUE Debian/Ubuntu FALSE Slackware FALSE "Mandriva" FALSE "PCLinuxos"); echo $pilih
User avatar
buzzing_bee
Posts: 1971
Joined: 29 Dec 2010, 21:53
Location: /home/buzzing_bee
Contact:

Re: Pemrograman Sederhana Shell & Zenity (multi platform Lin

Postby buzzing_bee » 13 Feb 2012, 23:22

@linuxer: aku ndak biasa pake zenity, ini tak modif dikit, tak tambahin dikit siih..belom tak coba :grin:

Tampilkan

Code: Select all

#/bin/sh

if [ "`whoami`" != "root" ];
then
echo "You are not ROOT"
echo "Please run with SUDO"
exit 1

apt-get install cheese compiz-plugins-main-dev compiz-plugins compiz-dev compiz-fusion-plugins-main compiz-plugins-main ubuntu-restricted-extras ubuntu-restricted-addons assaultcube nexuiz hedgewars && apt-get install -f && apt-get update && apt-get upgrade && apt-get dist-upgrade


kalo pake script yg ada zenity nya, ada bug nya, kalo di cancel ndak otomatis close windownya :D jadi harus klik "x" buat close nya :D

kalo script yg diatas, itu langsung jalan di terminal :D hehe
kalo ditambahin zenity aku masih blom paham zenity :grin:
User avatar
linuxers_cilik
Posts: 306
Joined: 24 Nov 2011, 22:45
Location: Medan, Indonesia

Re: Pemrograman Sederhana Shell & Zenity (multi platform Lin

Postby linuxers_cilik » 14 Feb 2012, 18:57

rencananya mau nambahin command berikut di akhiran script

Code: Select all

spd-say -l id "proses instalasi sudah selesai"


bagaimana pendapat abang, keren gak?

mohon bang koreksi jika peletakannya salah :smile:
User avatar
ArzonLinus
Posts: 352
Joined: 22 Jan 2010, 09:49
Location: Anonymous
Contact:

Re: Pemrograman Sederhana Shell & Zenity (multi platform Lin

Postby ArzonLinus » 14 Feb 2012, 20:06

linuxers_cilik wrote:rencananya mau nambahin command berikut di akhiran script

Code: Select all

spd-say -l id "proses instalasi sudah selesai"


bagaimana pendapat abang, keren gak?

mohon bang koreksi jika peletakannya salah :smile:


atur pitchnya juga biar ga terlalu cepat atau lambat dalam pelafalan.
pake espeak juga bisa.
User avatar
linuxers_cilik
Posts: 306
Joined: 24 Nov 2011, 22:45
Location: Medan, Indonesia

Re: Pemrograman Sederhana Shell & Zenity (multi platform Lin

Postby linuxers_cilik » 14 Feb 2012, 23:50

ini hasilnya
aplikasi buat betulin dependensi rusak sekaligus update
kalau mau dioprek lagi silahkan

Code: Select all

#!/bin/sh

spd-say -r -10 -p 17 -l id -i 100 -t male2 "proses pembaharuan akan dimulai"
sleep 1
(
sudo -S apt-get install -f && sudo -S apt-get update && sudo -S apt-get upgrade
) |
zenity --progress --pulsate --title="Proses Pembaharuan" --text="Mohon tungggu.... :)" --auto-close --auto-kill
spd-say -r -10 -p 17 -l id -i 100 -t female2 "proses pembaharuan sudah selesai"


copy tulisan diatas dan tulis dan save dengan nama (terserah).sh
lalu agar lebih mirip aplikasi di ubuntu, copy text ini

Code: Select all

[Desktop Entry]
Name=(terserah)
Comment=(terserah)
Encoding=UTF-8
Exec=sh /home/ubuntu (sesuaikan direktori dengan file script-nya)
Icon=info (suka hati)
NotShownIn=KDE
Terminal=false
Type=Application
StartupNotify=true
Categories=System


lalu save tulisan diatas dengan nama sukahati.desktop lalu letakkan file save tadi di /usr/share/applications
lalu test buka aplikasinya di dash bagian System dan buka aplikasinya

Cuocok?

Return to “Pembicaraan Bebas”

Who is online

Users browsing this forum: MichxealSnuby and 51 guests