Jak tworzyć proste graficzne skrypty powłoki z Zenity w systemie Linux
Zenity dodaje graficzne interfejsy do skryptów powłoki za pomocą jednego polecenia. Skrypty powłoki to świetny sposób na automatyzację powtarzalnych zadań, ale zwykle są one ograniczone do terminala - Zenity przenosi je z terminala i na pulpit.
W przeszłości przedstawiliśmy wprowadzenie do skryptów powłoki. Nie musisz być programistą, aby zacząć skrypty powłoki - wymagają one niewiele więcej niż znajomości poleceń terminala systemu Linux.
Pierwsze Zenity
Zenity domyślnie jest dostarczane z Ubuntu. Jeśli używasz pochodnej Ubuntu, takiej jak Kubuntu, być może będziesz musiał zainstalować ją ręcznie za pomocą następującego polecenia:
sudo apt-get install zenity
Zenity jest częścią GNOME, więc powinna już być zawarta w dystrybucjach Linuksa korzystających z pulpitu GNOME. Sprawdź swojego menedżera pakietów dla zenity pakiet, jeśli go nie masz.
Korzystanie z Zenity
Możesz bawić się z Zenity z terminalu. Załóżmy, że chcesz utworzyć okno błędu, gdy wystąpi problem ze skryptem powłoki. Oto przykładowe polecenie, którego możesz użyć:
zenity -error -title = "Wystąpił błąd" -text = "Wystąpił problem podczas uruchamiania skryptu powłoki."
Uruchom polecenie, a zobaczysz okno z komunikatem.
Umieść to pojedyncze polecenie w swoim skrypcie powłoki we właściwym miejscu, a otrzymasz graficzny komunikat o błędzie. Można również użyć zmiennych, aby zawrzeć więcej informacji o błędzie.
Powiedzmy, że chcesz zadać pytanie "tak" lub "nie". Możesz użyć polecenia podobnego do tego:
zenity -question -title = "Zapytanie" -text = "Czy chcesz uruchomić skrypt?"
Możesz złapać odpowiedź "tak" lub "nie" w swoim skrypcie powłoki i wykonać różne polecenia w zależności od tego, który przycisk kliknie użytkownik.
Istnieje również okno dialogowe wprowadzania tekstu:
zenity -entry -title = "Ulubiona strona internetowa" -text = "Jaka jest twoja ulubiona strona?"
Złap dane wejściowe użytkownika w skrypcie powłoki i możesz zapisać je jako zmienną.
Dostępny jest także selektor plików, kalendarz i inne rodzaje okien dialogowych. Aby uzyskać pełną listę typów okien dialogowych i ich opcji, zapoznaj się z podręcznikiem użytkownika Zenity.
Przykładowy skrypt
Spróbujmy użyć Zenity, aby stworzyć prosty graficzny skrypt powłoki. Dzięki trzem komendom możemy stworzyć graficzny program czasowy:
#! / bin / bash
# Ten skrypt prosi użytkownika o pewien czas, czeka określoną ilość
# czasu i pokazuje okno alertu.TIME = $ (zenity -entry -title = "Timer" -text = "Podaj czas trwania timera. \ N \ n Użyj 5s przez 5 sekund, 10 minut przez 10 minut lub 2 godziny przez 2 godziny.")
spać $ TIME
zenity -info -title = "Timer zakończony" -text = "Czasomierz się skończył. \ n \ n To był CZAS.".
Używamy tutaj kilku dodatkowych trików. Otrzymujemy wartość zmiennej TIME z pierwszego polecenia zenity i przekazujemy ją do polecenia sleep. Używamy również / n do tworzenia nowych linii tekstu w oknach dialogowych zenity.
Po zapisaniu skryptu powłoki i uruchomieniu chmod + x polecenie, aby nadać mu uprawnienia do wykonywania, możemy je uruchomić.
Wprowadź czas trwania, a skrypt użyje standardu sen polecenie odliczania w tle. Po zakończeniu działania polecenia sleep polecenie skrypt wyświetli komunikat informacyjny zenity.
Można utworzyć skrót do pulpitu lub panelu dla tego skryptu i uruchomić go bez dotykania terminala.
To tylko zarysowanie powierzchni tego, co można zrobić z zenity; można go użyć do stworzenia znacznie bardziej skomplikowanych programów. Jeśli szukasz więcej informacji na temat skryptów powłoki, zapoznaj się z naszym przewodnikiem dotyczącym używania pętli w skryptach powłoki.