Wyszukiwanie w witrynie

Zenity — tworzy graficzne okna dialogowe (GTK+) w skryptach wiersza poleceń i powłoki


GNU Linux, system operacyjny zbudowany na bardzo potężnym jądrze zwanym Linux. Linux słynie z operacji wykonywanych z wiersza poleceń. Wraz z wynalezieniem Linuksa w codziennej pracy i komputerach stacjonarnych, nix nie jest już bardziej zorientowany na wiersz poleceń, jest równie graficzny, a tworzenie aplikacji graficznych nie pozostaje już trudnym zadaniem.

W tym artykule omówimy tworzenie i wykonanie prostego graficznego okna dialogowego przy użyciu aplikacji GTK+ o nazwie „Zenity”.

Co to jest Zenit?

Zenity to aplikacja typu open source, wieloplatformowa, która wyświetla okna dialogowe GTK+ w wierszu poleceń i przy użyciu skryptów powłoki. Umożliwia zadawanie i prezentowanie informacji do/z powłoki w Oknach Graficznych. Aplikacja umożliwia tworzenie graficznych okien dialogowych w wierszu poleceń i bardzo ułatwia interakcję pomiędzy użytkownikiem a powłoką.

Istnieją inne alternatywy, ale nic nie może się równać z prostotą Zenity, szczególnie gdy nie potrzebujesz skomplikowanego programowania. Zenity, narzędzie, które musisz mieć w rękach.

Funkcje Zenity

  1. Oprogramowanie FOSS
  2. Aplikacja wieloplatformowa
  3. Zezwól na wykonanie okna dialogowego GTK+
  4. Narzędzie wiersza poleceń
  5. Wsparcie w skryptach powłoki

Przydatność

  1. Łatwe tworzenie GUI
  2. Mniej funkcji niż inne złożone narzędzia
  3. Umożliwia skryptom powłoki interakcję z użytkownikami GUI
  4. Możliwe jest tworzenie prostych okien dialogowych umożliwiających graficzną interakcję z użytkownikiem

Ponieważ Zenity jest dostępny na wszystkie znane główne platformy i opiera się na bibliotece GTK+, program Zenity można przenieść na/z innej platformy.

Instalacja Zenity w systemie Linux

Zentity jest domyślnie instalowany lub dostępny w repozytorium większości współczesnych dystrybucji Standard Linux. Możesz sprawdzić, czy jest zainstalowany na twoim komputerze, czy nie, wykonując następujące polecenia.

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

Jeśli nie jest zainstalowany, możesz go zainstalować za pomocą polecenia Apt lub Yum, jak pokazano poniżej.

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

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

Co więcej, możesz go także zbudować z plików źródłowych, pobierz najnowszy pakiet źródłowy Zenity (tj. aktualna wersja 3.8), korzystając z poniższego linku.

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

Podstawowe okna dialogowe Zenity

Niektóre z podstawowych okien dialogowych Zenity, które można wywołać bezpośrednio z linii poleceń.

1. Co powiesz na szybkie okno kalendarza?
root@tecmint:~# zenity --calendar

2. Okno dialogowe błędu
root@tecmint:~# zenity --error

3. Okno dialogowe wprowadzania tekstu ogólnego
root@tecmint:~# zenity --entry

4. Okno informacyjne
root@tecmint:~# zenity --info

5. Okno dialogowe z pytaniem
root@tecmint:~# zenity --question

6. Pasek postępu
root@tecmint:~# zenity --progress

7. Okno dialogowe Skala
root@tecmint:~# zenity --scale

8. Okno dialogowe hasła
root@tecmint:~# zenity --password

9. Okno dialogowe formularza
root@tecmint:~# zenity --forms

10. Okno dialogowe „O mnie”.
root@tecmint:~# zenity --about

Utwórz okno dialogowe skryptu powłoki

Teraz omówimy tutaj tworzenie Zenity Dialog przy użyciu prostych skryptów powłoki. Chociaż możemy stworzyć pojedyncze okno dialogowe, wykonując polecenia Zenity bezpośrednio z powłoki (tak jak zrobiliśmy powyżej), ale nie możemy wtedy połączyć dwóch okien dialogowych, aby uzyskać jakiś znaczący wynik.

Co powiesz na interaktywne okno dialogowe, które pobiera Twoje dane i pokazuje wynik.

#!/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"

Zapisz go w „anything.sh” (konwencjonalnie) i nie zapomnij uczynić go wykonywalnym. Ustaw uprawnienia 755 dla pliku anything.sh i uruchom skrypt.

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

O opisie skryptu

Konwencjonalny shebang, czyli hashbang

#!/bin/bash

W poniższym wierszu „pierwszy” znajduje się zmienna, a wartość zmiennej jest generowana w czasie wykonywania.

    1. –wpis” oznacza, że zenity jest proszony o wygenerowanie tekstowego pola wprowadzania.
    2. – title=” określa tytuł wygenerowanego pola tekstowego.
    3. —text=” definiuje tekst dostępny w polu wprowadzania tekstu.
first=$(zenity --title="Your's First Name" --text "What is your first name?" --entry)

Ta linia poniższego pliku skryptu służy do generowania okna dialogowego Informacje (–info) z tytułem „Witamy” i tekstem „Pan/Pani pierwsza”

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

Ta linia skryptu jest podobna do drugiej linii skryptu, z tą różnicą, że zdefiniowano tutaj nową zmienną „ostatnia”.

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

Ta ostatnia linia skryptu jest ponownie podobna do trzeciej linii skryptu i generuje okno dialogowe informacyjne, które zawiera zarówno zmienne „$first”, jak i „$last”.

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

Aby uzyskać więcej informacji na temat tworzenia niestandardowych okien dialogowych przy użyciu skryptu powłoki, odwiedź następującą stronę referencyjną Zenity.

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

W następnym artykule będziemy integrować Zenity z większą liczbą skryptów powłoki dla interakcji użytkownika z GUI. Do tego czasu bądź na bieżąco i połącz się z Tecmint. Nie zapomnij podzielić się swoją cenną opinią w sekcji komentarzy.