Główna » jak » Jak tworzyć proste graficzne skrypty powłoki z Zenity w systemie Linux

    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.