Kita semua tahu bahwa skrip bash Linux adalah kekuatan nyata dari Linux. Seringkali kita ingin menampilkan antarmuka pengguna grafis (GUI) dalam skrip kita untuk mempermudah interaksi dengan pengguna. GUI membuat skrip apa pun lebih ramah pengguna dan indah.
Untuk GTK dalam skrip shell, ada banyak opsi dan alat yang tersedia di Linux.
Dalam artikel ini, kami akan menunjukkan cara menggunakan Zenity untuk menampilkan dialog GUI di skrip Bash.
Zenity adalah aplikasi open-source untuk menampilkan GUI sederhana dalam skrip shell. Itu membuat skrip lebih ramah pengguna dengan menampilkan dialog GTK+. Zenity adalah alat baris perintah yang berguna untuk skrip shell modern. Zenity mudah digunakan dan merupakan aplikasi lintas platform.
Prasyarat
Pengguna sudo dengan hak akses root.
Instal Zenity
Zenity adalah bagian dari desktop GNOME dan secara default, itu diinstal pada sebagian besar distribusi Linux. Anda dapat memverifikasi instalasi Zenity di sistem Anda dengan menjalankan perintah berikut ke terminal.
zenity --version
Jika Zenity tidak terinstal di sistem Anda, Anda dapat menginstalnya menggunakan Apt , dnf atau pacman perintah.
Untuk sistem berbasis Ubuntu/Debian:
sudo apt-get install zenity
Untuk sistem berbasis RedHat :
dnf install zenity
Untuk sistem berbasis Arch:
pacman -S zenity
Opsi Zenity General
Ada beberapa opsi Umum yang dapat digunakan dengan Zenity secara mandiri. Opsi umum adalah --title, --window-icon, --width, --height, --timeout
Anda dapat menggunakan ---title option untuk menentukan judul untuk jendela dialog.
Anda dapat menggunakan opsi --window-icon untuk menentukan ikon yang akan digunakan sebagai ikon untuk Kotak Dialog Zenity.
Tidak hanya itu, Anda dapat mengatur lebar dan tinggi untuk Kotak Dialog Zenity dengan mengatur opsi --width dan --height di perintah Zenity.
Dengan menggunakan opsi --timeout Anda dapat mengatur batas waktu dialog, setelah itu kotak dialog akan tertutup secara otomatis.
Kotak Pesan Zenity
Anda dapat membuat beberapa dialog pesan GUI dasar dan bagus menggunakan perintah Zenity sederhana dari terminal.
Empat jenis dialog Pesan tersedia di Zenity.
- Informasi
- Kesalahan
- Pertanyaan
- Peringatan
1. Kotak Dialog Informasi
Anda dapat membuat Kotak Dialog informasi dengan menjalankan perintah berikut di terminal:
zenity --info --text="Software Update Available." --width=500
2. Kotak Dialog kesalahan
Jalankan perintah berikut untuk menampilkan kotak dialog kesalahan
zenity --error --text="Error In Installation" --title="Error" --width=500 --width=200
3. Kotak Dialog Pertanyaan
Anda dapat dengan mudah menanyakan Yes of no question dengan menjalankan perintah berikut:
zenity --question --text="Do you want to reboot pc?" --width=200
Anda dapat menggunakan Dialog Pertanyaan Zenity dalam skrip shell seperti ini:
#/bin/bash
touch demo.txt
if zenity --question --title="Confirm deletion" --text="Are you sure you want to demo.txt file?" --no-wrap
then
rm demo.txt
zenity --info --title="Success" --text="demo.text was removed" --no-wrap
fi
4. Kotak Dialog Peringatan
zenity --warning --title="Update Available" --text="OS Update required" --width=200
Pemberitahuan
Anda dapat menampilkan Notifikasi menggunakan Zenity.
zenity --notification --text "Good Morning"
Kotak Masukan Zenity
Menggunakan Zenity Anda dapat membuat kotak dialog sederhana yang mengambil input dari pengguna dan menampilkannya sebagai output standar.
Berikut adalah beberapa kotak masukan:
Kalender
Kotak Dialog Kalender menampilkan kalender dan mengembalikan tanggal yang dipilih pengguna sebagai keluaran standar.
zenity --calendar
Output:
17/04/21
Dialog Entri Teks
Anda dapat menggunakan opsi --entry untuk membuat dialog entri teks. Ini sangat berguna ketika Anda ingin meminta pengguna untuk memasukkan beberapa teks.
zenity --entry --title "User Info" --text "Please enter your name"
Daftar Dialog
Anda dapat menggunakan opsi --list untuk membuat dialog multi-kolom, Di sini Anda perlu memasukkan Data untuk dialog daftar kolom demi kolom, baris demi baris. Anda dapat menggunakan checkbox atau rediobox dengan kotak dialog list seperti di bawah ini:
zenity --list --title "Choose Processor" --radiolist --column "ID" --column="Name" 1 AMD 2 Intel
Anda juga dapat memberikan kotak centang dengan opsi --list untuk beberapa pilihan.
zenity --list --title "Packages" --list --text "select packages you want to install" --checklist --column "id" --column "Name" 1 "Google Chrome" 2 "VLC" 3 "Firefox" 4 "GIMP"
Output
Google Chrome|VLC|Firefox
Dialog Pemilihan Warna
Anda dapat menggunakan opsi --color-selection untuk mengambil nilai pemilihan warna dari pengguna.
zenity --color-selection --show-palette
Dialog Pemilihan File
Anda dapat menggunakan opsi --file-selection untuk menangkap file atau direktori yang dipilih sebagai output standar. Anda juga dapat menyimpan file menggunakan opsi --file-selection.
zenity --file-selection --multiple --filename "/"
Dialog Kemajuan
Anda dapat membuat bilah kemajuan yang bagus menggunakan opsi --progress. Ini berguna berkali-kali, di mana Anda ingin menampilkan bilah kemajuan penyelesaian aplikasi atau skrip Anda kepada pengguna.
Perintah di bawah ini menunjukkan bilah kemajuan unduhan.
(wget -r --no-parent patch -A.tar.gz http://157.245.99.119/latest/ -P /tmp 2>&1 ) | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9.]\+.\) \(.*\)/\1\n# Downloading at \2\/s, ETA \3/' | zenity --progress --title="Downloading File..." --percentage=1 --pulsate
Untuk opsi kemajuan lebih lanjut, jalankan perintah berikut ke terminal
zenity --help-progress
Untuk opsi Zenity lainnya, Anda dapat menggunakan man Zenity dan Zenity --help .
Kesimpulan
Dalam panduan di atas, Anda mempelajari bagaimana Anda dapat menulis skrip bash untuk menampilkan dialog GUI menggunakan Zenity dan membuat skrip Bash lebih ramah pengguna. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.