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 holt sie aus dem Terminal heraus und auf Ihren Desktop.

Wir haben in der Vergangenheit eine Einführung in das Shell-Scripting gegeben. Sie müssen kein Programmierer sein, um mit Shell-Skripts zu beginnen - sie benötigen nur etwas 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 ist ein Beispielbefehl, den Sie verwenden könnten:

zenity –error –title=”An Error Occurred” –text=”A problem occurred while running the shell script.”

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 Shell-Skript 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=”Would you like to run the script?”

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=”What is your favorite website?”

Erfassen Sie die Benutzereingaben in einem Shell-Skript und speichern Sie sie als Variable.

Es gibt auch eine Dateiauswahl, einen Kalender und andere Arten von Dialogen. Eine vollständige Liste der Dialogtypen und ihrer Optionen finden Sie in der Handbuchseite von Zenity.

Ein Beispielskript

Versuchen wir Zenity zu verwenden, um ein einfaches grafisches Shellskript zu erstellen. Mit nur drei Befehlen können wir ein grafisches Zeitprogramm erstellen:

#!/bin/bash # This script asks the user for a time, waits the specified amount # of time, and shows an alert dialog.

TIME=$(zenity –entry –title=”Timer” –text=”Enter a duration for the timer. Use 5s for 5 seconds, 10m for 10 minutes, or 2h for 2 hours.”)

sleep $TIME

zenity –info –title=”Timer Complete” –text=”The timer is over. It has been $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 abgeschlossen 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.

Top-Tipps:
Kommentare: