Ich habe eine Minimalinstallation mit xfce als Standard-Fenstermanager. Ist es irgendwie möglich, ein Shell-Skript mit einfachen GUI-Elementen zu schreiben? Oder muss ich etwas anderes installieren (was ich nur ungern tue, da ich die Anzahl der installierten Pakete (Größe) auf ein Minimum beschränken möchte).
Antwort1
Probieren Sie Zenity aus:
" Zenity allows you to display GTK+ dialogs from shell scripts".
Es ist ziemlich minimalistisch, hier sind die Abhängigkeiten, viele davon sollten auf einem Xfce-System bereits vorhanden sein:
Depends: libc6 (>= 2.4), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.24.0), libgtk-3-0 (>= 3.0.0), libnotify4 (>= 0.7.0), libpango1.0-0 (>= 1.14.0), libwebkitgtk-3.0-0 (>= 1.3.10), libx11-6, zenity-common (= 3.2.0-0ubuntu1)
Antwort2
Eine weitere Option istyad
YAD is a program that will display GTK+ dialogs, and return (either in
the return code or on standard output) the users input. This allows you
to present information, and ask for information from the user, from all
manner of shell scripts.
YAD is the fork of Zenity program.
YAD (Yet Another Dialog) ist ein Fork von Zenity mit vielen Verbesserungen, wie benutzerdefinierten Schaltflächen, zusätzlichen Dialogen, Popup-Menüs im Benachrichtigungssymbol und mehr. Im Grunde ist das meiste, was Sie jemals in Zenity tun wollten, in YAD verfügbar: Sie können so viele Schaltflächen haben, wie Sie möchten, jede mit dem gewünschten Text, ein wirklich schöner Symboldialog.
YAD hat nicht alle Dialoge wie --error, --info, --question oder --warning - stattdessen hat es einen --form-Dialog, zu dem Sie beliebige Nachrichten, Schaltflächen und Symbole hinzufügen können. Es enthält auch den --notification-Dialog, um ein Symbol im Benachrichtigungsbereich anzuzeigen. Hilfe zur Verwendung von YAD finden Sie in den Beispielabschnitten in seinem [Wiki] (https://code.google.com/archive/p/yad/wikis/Examples.wiki)
yad
ist in den Repositories für alle derzeit unterstützten Versionen von Ubuntu verfügbar, obwohl Sie wie bei vielen dieser nützlichen PaketeAktivieren Sie das Universe-Repositorywenn es nicht bereits vor dem Installationsversuch aktiviert wurde.
Quellen:
man yad
http://www.webupd8.org/2010/12/yad-zenity-on-steroids-display.html