So erstellen Sie einfache grafische Shell-Skripts mit Zenity unter Linux
Zenity fügt Shellskripten mit einem einzigen Befehl grafische Oberflächen hinzu. Shell-Skripts eignen sich hervorragend für die Automatisierung sich wiederholender Aufgaben. Normalerweise sind sie jedoch auf das Terminal beschränkt - Zenity bringt sie aus dem Terminal heraus und auf Ihren Desktop.
Wir haben in der Vergangenheit eine Einführung in Shell Scripting gegeben. Sie müssen kein Programmierer sein, um mit Shell-Skripten zu beginnen - sie erfordern wenig mehr als Kenntnisse der Linux-Terminalbefehle.
Zenity bekommen
Zenity wird standardmäßig mit Ubuntu geliefert. Wenn Sie ein Ubuntu-Derivat wie Kubuntu verwenden, müssen Sie es möglicherweise manuell mit dem folgenden Befehl installieren:
sudo apt-get install zenity
Zenity ist Teil von GNOME und sollte daher bereits in Linux-Distributionen enthalten sein, die den GNOME-Desktop verwenden. Überprüfen Sie Ihren Paketmanager für die Zenit Paket, wenn Sie es nicht haben.
Zenity verwenden
Sie können mit Zenity vom Terminal aus spielen. Angenommen, Sie möchten ein Fehlerfenster erstellen, wenn ein Problem mit Ihrem Shell-Skript auftritt. Hier ein Beispielbefehl, den Sie verwenden könnten:
zenity -error -title = "Ein Fehler ist aufgetreten" -text = "Beim Ausführen des Shell-Skripts ist ein Problem aufgetreten."
Führen Sie den Befehl aus und Sie sehen ein Fenster mit der Nachricht.
Wenn Sie diesen einzelnen Befehl an der richtigen Stelle in Ihr Shellskript einfügen, wird eine grafische Fehlermeldung angezeigt. Sie können auch Variablen verwenden, um weitere Informationen zum Fehler hinzuzufügen.
Angenommen, Sie möchten eine Ja- oder Nein-Frage stellen. Sie könnten einen Befehl wie diesen verwenden:
zenity -question -title = "Query" -text = "Möchten Sie das Skript ausführen?"
Sie können die Ja- oder Nein-Antwort in Ihrem Shell-Skript abrufen und verschiedene Befehle ausführen, je nachdem, auf welche Schaltfläche der Benutzer klickt.
Es gibt auch einen Texteingabedialog:
zenity -entry -title = "Favorite Website" -text = "Was ist Ihre Lieblings-Website?"
Erfassen Sie die Benutzereingaben in einem Shell-Skript, und Sie können sie als Variable speichern.
Es gibt auch eine Dateiauswahl, einen Kalender und andere Arten von Dialogen. Eine vollständige Liste der Dialogtypen und ihrer Optionen finden Sie auf der Handbuchseite von Zenity.
Ein Beispielskript
Versuchen Sie es mit Zenity, um ein einfaches grafisches Shellskript zu erstellen. Mit nur drei Befehlen können wir ein grafisches Zeitprogramm erstellen:
#! / bin / bash
# Dieses Skript fragt den Benutzer eine Zeit lang, wartet den angegebenen Betrag
Zeit und zeigt einen Alarmdialog an.TIME = $ (zenity-entry-titel = "Timer" -text = "Geben Sie eine Dauer für den Timer ein. \ N \ n Verwenden Sie 5 Sekunden für 5 Sekunden, 10 Minuten für 10 Minuten oder 2 Stunden für 2 Stunden.")
Schlaf $ TIME
zenity -info -title = "Timer Complete" -text = "Der Timer ist beendet. \ n \ n Es war $ TIME."
Wir verwenden hier einige zusätzliche Tricks. Wir erhalten den Wert der TIME-Variablen vom ersten Zenity-Befehl und geben ihn an den Sleep-Befehl weiter. Wir benutzen auch / n um neue Textzeilen in den Zenity-Dialogen zu erstellen.
Nach dem Speichern des Shell-Skripts und dem Ausführen von chmod + x Befehl, um es ausführbare Berechtigungen zu geben, können wir es starten.
Geben Sie eine Dauer ein und das Skript verwendet den Standard schlafen Befehl zum Abwärtszählen im Hintergrund. Wenn der Timer des Sleep-Befehls beendet ist, zeigt das Skript die Zenity-Informationsnachricht an.
Sie können eine Desktop- oder Bedienfeldverknüpfung für dieses Skript erstellen und ausführen, ohne das Terminal zu berühren.
Dies ist nur ein Kratzer an der Oberfläche dessen, was Sie mit Zenity erreichen könnten. Sie könnten damit wesentlich kompliziertere Programme erstellen. Wenn Sie nach weiteren Informationen zum Shell-Scripting suchen, lesen Sie unsere Anleitung zur Verwendung von for-Schleifen in Shell-Scripts.