Wie kann ich ein Meldungsfeld über die Befehlszeile erstellen, entweder GUI-Meldungsfelder oder im Terminal angezeigte Meldungsfelder?
Es wäre auch interessant, eine einfache Eingabe vom Benutzer zurückbekommen zu können, zum Beispiel eine Eingabe, die mit Radiobuttons (Ja/Nein, OK usw.) gegeben wurde.
Akzeptierte Antwort:
Verwenden Sie für einen standardmäßigen „Rahmen um eine Nachricht“ boxes
:
echo 'This is a test' | boxes
boxes
sieht so aus (Erstes. Zweites ist ein Brauch wie cowsay
):
Wenn Sie eine Warnbox meinen, verwenden Sie notify-send
:
notify-send 'title' 'message'
notify-send
sieht so aus:
Sie können auch zenity
verwenden für ein Popup-Fenster:
zenity --error --text="An error occurred!" --title="Warning!"
Zenity ist grafischer und hat mehr Optionen, wie z. B. das Fenster als Frage erscheinen zu lassen, mit:
zenity --question --text="Do you wish to continue/?"
oder sogar Fortschrittsbalken mit:
find /usr | zenity --progress --pulsate --auto-close --auto-kill --text="Working..."
zenity
sieht so aus:
Oder verwenden Sie dialog
, für ein reines Befehlszeilen-Meldungsfeld:
dialog --checklist "Choose OS:" 15 40 5
1 Linux off
2 Solaris on
3 'HP UX' off
4 AIX off
dialog
sieht so aus:
Eine weitere Option ist whiptail
:
whiptail --title "Example Dialog" --msgbox "This is an example of a message box. You must hit OK to continue." 8 78
whiptail
sieht so aus:
Und wenn Sie wirklich verrückt sind, benutzen Sie toilet
:
toilet -F border -F gay "CRAZY"
toilet
sieht so aus:
- Quelle für Boxen
- Quelle für Dialog 1
- Quelle für Dialog 2
- Quelle für Zenity 1
- Quelle für Zenity 2
- Quelle für Whiptail 1
- Quelle für Whiptail 2
- Quelle für Toilette