Zenity - Komut Satırında ve Kabuk Komut Dosyalarında Grafiksel (GTK+) İletişim Kutuları Oluşturur


GNU Linux, Linux adı verilen çok güçlü Çekirdek üzerine kurulu işletim sistemidir. Linux, komut satırı işlemleriyle ünlüdür. Linux'un günlük kullanımda ve Masaüstü bilgi işlemde icat edilmesiyle, Nix artık komut satırına karşı önyargılı kalmıyor, aynı derecede Grafiksel ve Grafiksel uygulama geliştirmek artık zor bir iş değil.

Bu makalede, "Zenity" adlı GTK+ uygulamasını kullanarak basit Grafiksel İletişim kutusunun oluşturulmasını ve yürütülmesini tartışacağız.

Zenit nedir?

Zenity, komut satırında GTK+ İletişim Kutularını görüntüleyen ve kabuk komut dosyaları kullanan, açık kaynaklı ve platformlar arası bir uygulamadır. Grafik Kutularında kabuğa/kabuktan bilgi sormaya ve sunmaya olanak tanır. Uygulama, komut satırında Grafik iletişim kutuları oluşturmanıza olanak tanır ve kullanıcı ile kabuk arasındaki etkileşimi çok kolaylaştırır.

Başka alternatifler de var, ama hiçbir şey Zenity'nin basitliğiyle kıyaslanamaz, özellikle de karmaşık programlamaya ihtiyacınız olmadığında. Zenity, mutlaka elinizin altında olması gereken bir araç.

Zenite Özellikleri

  1. FOSS Yazılımı
  2. Çapraz Platform Uygulaması
  3. GTK+ İletişim Kutusunun Yürütülmesine İzin Ver
  4. Komut Satırı Aracı
  5. Kabuk Komut Dosyası Desteği

Kullanışlılık

  1. Kolay GUI Oluşturma
  2. Diğer karmaşık Araçlara göre daha az özellik
  3. Kabuk komut dosyalarının GUI kullanıcılarıyla etkileşime girmesini sağlar
  4. Grafiksel kullanıcı etkileşimi için basit diyalog oluşturmak mümkündür

Zenity bilinen tüm büyük platformlarda mevcut olduğundan ve GTK+ kitaplığını temel aldığından, Zenity programı başka bir platforma/platformdan taşınabilir.

Zenity'nin Linux'a Kurulumu

Zentity varsayılan olarak kuruludur veya günümüzün çoğu Standart Linux dağıtımının deposunda mevcuttur. Aşağıdaki komutları uygulayarak makinenizde kurulu olup olmadığını kontrol edebilirsiniz.

ravisaive@tecmint:~$ zenity --version 

3.8.0
ravisaive@tecmint:~$ whereis zenity 

zenity: /usr/bin/zenity /usr/bin/X11/zenity /usr/share/zenity /usr/share/man/man1/zenity.1.gz

Yüklü değilse aşağıda gösterildiği gibi Apt veya Yum komutunu kullanarak yükleyebilirsiniz.

ravisaive@tecmint:~$ sudo apt-get install zenity		[on Debian based systems]

root@tecmint:~# yum install zenity				[on RedHat based systems]

Üstelik bunu kaynak dosyalardan da oluşturabilir, aşağıdaki bağlantıyı kullanarak en son Zenity kaynak paketini (yani mevcut sürüm 3.8) indirebilirsiniz.

  1. http://ftp.gnome.org/pub/gnome/sources/zenity/

Zenity Temel İletişim Kutuları

Doğrudan komut satırından çağrılabilen Zenity'nin temel İletişim Kutularından bazıları.

1. Hızlı bir takvim diyaloğuna ne dersiniz?
root@tecmint:~# zenity --calendar

2. Bir Hata İletişim Kutusu
root@tecmint:~# zenity --error

3. Genel Metin Girişi İletişim Kutusu
root@tecmint:~# zenity --entry

4. Bir Bilgi Diyaloğu
root@tecmint:~# zenity --info

5. Bir soru İletişim kutusu
root@tecmint:~# zenity --question

6. Bir ilerleme çubuğu
root@tecmint:~# zenity --progress

7. Ölçek İletişim Kutusu
root@tecmint:~# zenity --scale

8. Şifre Diyaloğu
root@tecmint:~# zenity --password

9. Bir Form İletişim Kutusu
root@tecmint:~# zenity --forms

10. Hakkında Bir Diyalog
root@tecmint:~# zenity --about

Kabuk Betiği Oluştur İletişim Kutusu

Şimdi burada basit kabuk komut dosyalarını kullanarak Zenity Dialog oluşturmayı tartışıyor olacağız. Zenity komutlarını doğrudan kabuktan çalıştırarak tek bir İletişim Kutusu oluşturabilsek de (yukarıda yaptığımız gibi), ancak daha sonra anlamlı bir sonuç elde etmek için iki İletişim kutusunu birbirine bağlayamayız.

Sizden girdi alan ve sonucu gösteren etkileşimli bir iletişim kutusuna ne dersiniz?

#!/bin/bash 
first=$(zenity --title="Your's First Name" --text "What is your first name?" --entry) 
zenity --info --title="Welcome" --text="Mr./Ms. $first" 
last=$(zenity --title="Your's Last Name" --text "$first what is your last name?" --entry) 
zenity --info --title="Nice Meeting You" --text="Mr./Ms. $first $last"

Bunu 'anything.sh' dosyasına kaydedin (geleneksel olarak) ve çalıştırılabilir hale getirmeyi unutmayın. anything.sh dosyasında 755 iznini ayarlayın ve komut dosyasını çalıştırın.

root@tecmint:~# chmod 755 anything.sh 
root@tecmint:~# sh anything.sh

Komut Dosyası Açıklaması Hakkında

Geleneksel shebang, diğer adıyla hashbang

#!/bin/bash

Aşağıdaki satırda 'ilk' bir değişkendir ve değişkenin değeri çalışma zamanında oluşturulmuştur.

    1. '–entry', Zenity'den bir metin Giriş kutusu oluşturmasının istendiği anlamına gelir.
    2. '– title=' oluşturulan metin kutusunun başlığını tanımlar.
    3. '—text=' metin Giriş kutusunda bulunan metni tanımlar.
first=$(zenity --title="Your's First Name" --text "What is your first name?" --entry)

Aşağıdaki komut dosyasının bu satırı, “Hoş Geldiniz” başlığı ve “Bay/Bayan.ilk” Metni ile Bilgi (–bilgi) İletişim kutusunun oluşturulması içindir.

zenity --info --title="Welcome" --text="Mr./Ms. $first"

Betiğin bu satırı, betiğin ikinci satırına benzer, ancak burada yeni bir 'son' değişkeni tanımlanmış.

last=$(zenity --title="Your's Last Name" --text "$first what is your last name?" --entry)

Betiğin bu son satırı yine betiğin üçüncü satırına benzer ve hem '$first' hem de '$last' değişkenlerini içeren bilgi İletişim kutusu üretir.

zenity --info --title="Nice Meeting You" --text="Mr./Ms. $first $last"

Kabuk komut dosyasını kullanarak özel iletişim kutularının nasıl oluşturulacağı hakkında daha fazla bilgi için aşağıdaki Zenity referans sayfasını ziyaret edin.

  1. https://help.gnome.org/users/zenity/stable/

Bir sonraki makalede, GUI kullanıcı etkileşimi için Zenity'yi daha fazla kabuk komut dosyasıyla entegre edeceğiz. O zamana kadar bizi izlemeye devam edin ve Tecmint'e bağlı kalın. Değerli görüşlerinizi yorum kısmında belirtmeyi unutmayın.