Entweder GUI-Meldungsfelder oder Meldungsfelder, die im Terminal angezeigt werden.
Es wäre auch interessant, wenn der Benutzer einfach Eingaben zurückholen könnte, z. B. Ja / Nein oder Optionsfelder.
Entweder GUI-Meldungsfelder oder Meldungsfelder, die im Terminal angezeigt werden.
Es wäre auch interessant, wenn der Benutzer einfach Eingaben zurückholen könnte, z. B. Ja / Nein oder Optionsfelder.
Antworten:
Verwenden Sie für ein Standard "Feld um eine Nachricht" boxes
:
echo 'This is a test' | boxes
boxes
wird so aussehen (Erste. Zweite ist ein Brauch wie cowsay
):
Wenn Sie ein Warnungsfeld meinen, verwenden Sie notify-send
:
notify-send 'title' 'message'
notify-send
sieht aus wie das:
Sie können auch zenity
für ein Popup-Fenster Folgendes verwenden:
zenity --error --text="An error occurred\!" --title="Warning\!"
Zenity ist grafischer und bietet mehr Optionen, z. B. das Anzeigen des Fensters als Frage. Verwenden Sie dazu:
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 aus wie das:
Oder verwenden Sie dialog
für ein Befehlszeilen-Meldungsfeld:
dialog --checklist "Choose OS:" 15 40 5 \
1 Linux off \
2 Solaris on \
3 'HP UX' off \
4 AIX off
dialog
sieht aus wie das:
Eine andere 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 aus wie das:
Und wenn Sie wirklich verrückt sind, verwenden Sie toilet
:
toilet -F border -F gay "CRAZY"
toilet
sieht aus wie das:
zenity
einmal im Monat in der Update- und Upgrade-Abteilung auf eigene Faust nerven ...
xmessage
Dies ist der Urvater der GUI-Warnungen:
xmessage -center "Hello, World!"
Reine Retro-Güte.
Ich wette auch, dass es auf X11-Systemen allgemein verfügbar sein sollte.
SO-Thread: Wie zeige ich ein GUI-Meldungsfeld in einem Bash-Skript unter Linux an? | Paketüberfluss
Getestet in Ubuntu 18.04.
xmessage
ist standardmäßig sogar auf Ubuntu Server installiert. So kann ich mich ssh -Y <host>
beim Weiterleiten von x-Verbindungen am Computer anmelden und dann some-command; xmessage "some-command is done"
eine Benachrichtigung auf meinem Desktop anzeigen, wenn der Befehl für lange Ausführung abgeschlossen ist.
xmessage -timeout 10 "Goodbye in 10s!"
.
Und dann, nur weil @polyms Antwort völlig übertrieben ist, hat er die klassische Botschaft verpasst:
write <username> [<terminal>]
- Senden Sie eine Nachricht an einen anderen Benutzer. Entweder interaktiv oder als Teil einer Pipe mitecho "message" | write username
Und die Ergänzung zu schreiben, wall
um eine Nachricht an alle Benutzer zu senden
Wenn Sie bereit sind, den Text an einen Python-Wrapper weiterzuleiten, können Sie Folgendes verwenden terminaltables
:
pip3 install colorclass
pip3 install terminaltables
Dann können Sie in GitHub Repo eines der Beispiele verwenden, um einen Python-Wrapper zu schreiben.