If-Koubou

Jak tworzyć proste graficzne skrypty powłoki z Zenity w systemie Linux

Jak tworzyć proste graficzne skrypty powłoki z Zenity w systemie Linux (Jak)

Zenity dodaje graficzne interfejsy do skryptów powłoki za pomocą jednego polecenia. Skrypty powłoki są świetnym sposobem na automatyzację powtarzalnych zadań, ale zwykle są 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żesz 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 również 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 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ło $ TIME."

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 tworzyć nowe linie tekstu w oknach dialogowych zenity.

Po zapisaniu skryptu powłoki i uruchomieniu chmod + x polecenie, aby nadać mu uprawnienia do wykonywania, możemy go uruchomić.

Wprowadź czas trwania, a skrypt użyje standardu sen polecenie odliczania w tle. Po zakończeniu działania komendy 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.