Wie man diese alten GUIs erstellt (wie das Debian / Arch-Installationsprogramm)


13

Ich habe in letzter Zeit viele Installationen durchgeführt und wenn möglich, wähle ich normalerweise die Textinstallation über das GRUB-Menü der Live-CD. Die meisten Installer sehen so aus:

Bildbeschreibung hier eingeben

Ich dachte immer, dass diese GUIs (wenn man sie so nennen kann) wirklich großartig und leicht sind. Da sie von vielen Anwendungen / Distributionen verwendet werden, muss es sich um eine gemeinsam genutzte Bibliothek handeln, oder was? Gibt es eine Möglichkeit, solche Sachen zu machen?


Es sollte beachtet werden, dass die meisten Sysinstaller für Linux und BSD eine schreckliche Darstellung der Benutzeroberfläche mit Flüchen in Bezug auf die Schaltflächen OK und Abbrechen haben: Es ist selten klar, wann der Benutzer sie hervorgehoben hat. Bei der Implementierung mit Flüchen ist es am besten, diese Installationsprogramme nicht als Entwurfsbeispiel zu verwenden. Sehen Sie sich stattdessen die alten DOS-Programme wie Lotus 123 an, um festzustellen, wie gut ANSI-Grafik-GUIs in Bezug auf die Benutzeroberfläche funktionieren sollten. Es ist ungefähr so: [Ok] ist hell, aber nicht hervorgehoben, bis es vom Benutzer ausgewählt wird.
Jonathan Cline IEEE

Antworten:



14

Ich weiß nichts über Arch und Debian, aber häufig werden diese GUIs mit erstellt dialog(1), die eine Reihe von Befehlszeilenargumenten benötigen und dann einen Dialog mit rendern ncurses. Zum Beispiel sieht der Linux-Kernel menuconfig so aus:

Screenshot von menuconfig

Eine Beispielverwendung dialogist:

$ dialog --title "Hello" --infobox "Hello there Unix and Linux Stack Exchange" 20 100

Was in ... endet:

Screenshot des Dialogs (1)


Das ist einfach fantastisch, also verwendet der Dialog ncurses, um auf das Terminal zu zeichnen? Einfacher geht es nicht. Vielen Dank
Nr.

8

Auf einer höheren Ebene verwenden diejenigen, die genau so aussehen, normalerweise so etwas wie Newt / Whiptail oder Dialog . Das besondere sieht aus wie Newt / Whiptail, da Dialog dazu neigt, einen Rahmen um Steuerelemente wie dieses Listenfeld zu ziehen. In einem anderen Beispiel verwendet die Linux-Kernelkonfiguration eine reduzierte benutzerdefinierte Version des Dialogfelds (ohne zusätzliche Funktionen, die nicht verwendet werden, und ich würde mir vorstellen, dass das Kontrollkästchen Ja / Nein / Modul eine benutzerdefinierte Funktion ist).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.