Mit Zenity lassen sich schnell und einfach Menüs erstellen.
So kann es dann aussehen.
Ich wollte das Aufrufen von Befehlen und Starten von Scripts möglichst an einem Ort zusammenfassen. Und am Besten bequem aus einer GUI heraus.
Dazu reicht ein simples Script, dass schon fast selbsterklärend ist.
- zuerst Größe und Titel des Fensters
- dann die Spalten definieren - hier 3 Stück (--column )
- anschließend werden die drei Spalten befüllt
- von der ausgewählten Zeile wird der dritte Wert der Variablen "OUT" übergeben - was in diesem Beispiel der Befehl ist
- der gespeicherte Befehl in der Variablen "OUT" wird zum Schluss im Terminal (hier Gnome-Terminal) ausgeführt.
Bash
#!/bin/sh
OUT=$(zenity --title "Starter Menu" \
--width 1200 \
--height 600 \
--text "Wähle eine Zeile aus" \
--list \
--column Kategorie \
--column Beschreibung \
--column Befehl \
"System" "Systemauslastung - einfach" "top" \
"System" "Systemauslastung - ausführlich" "htop" \
"Laufwerke" "Festplattenbelegung" "df -TH" \
"Laufwerke" "Ausgabe fstab" "cat /etc/fstab" \
"Laufwerke" "Eingebundene Samba-Shares" "findmnt -t cifs" \
"Netzwerk" "Netzwerkkarte" "ip --color a " \
"Update" "Update" "sudo pacman -Syu" \
"Analyse" "Systemd-Timer auflisten" "systemctl list-timers" \
"Analyse" "Kernel-Meldungen: Fehler und Warnungen" "sudo dmesg -T -H --color=always --level=err,warn | more" \
"Analyse" "Kernel-Meldungen: nur seit Start dieses Befehls" "sudo dmesg -T -W" \
--print-column 3)
# Wenn keine Auswahl getroffen oder auf Abbrechen gedrückt wurde
if [[ -z "$OUT" ]]; then
exit
fi
gnome-terminal --maximize -- $OUT
exit 0
Display More
Damit das Gnome-Terminal sich nach einem Befehl nicht gleich wieder schließt, muss in den Einstellungen noch etwas vorgenommen werden.
Grundsätzlich lässt sich das auch mit Aliases realisieren, aber so mit GUI finde ich es cooler.