Caselle di messaggi della GUI o caselle di messaggi visualizzate all'interno del terminale.
Sarebbe anche interessante poter ottenere un semplice input dall'utente, ad es. Sì / no o pulsanti di opzione.
Caselle di messaggi della GUI o caselle di messaggi visualizzate all'interno del terminale.
Sarebbe anche interessante poter ottenere un semplice input dall'utente, ad es. Sì / no o pulsanti di opzione.
Risposte:
Per una "casella attorno a un messaggio" standard, utilizzare boxes
:
echo 'This is a test' | boxes
boxes
sarà simile a questo (il primo. Il secondo è un tipo personalizzato cowsay
):
Se intendi una casella di avviso, utilizza notify-send
:
notify-send 'title' 'message'
notify-send
Somiglia a questo:
È inoltre possibile utilizzare zenity
per una finestra popup:
zenity --error --text="An error occurred\!" --title="Warning\!"
Zenity è più grafico e ha più opzioni, come far apparire la finestra come una domanda, usando:
zenity --question --text="Do you wish to continue/?"
o persino barre di avanzamento, usando:
find /usr | zenity --progress --pulsate --auto-close --auto-kill --text="Working..."
zenity
Somiglia a questo:
O utilizzare dialog
, per una finestra di messaggio solo da riga di comando:
dialog --checklist "Choose OS:" 15 40 5 \
1 Linux off \
2 Solaris on \
3 'HP UX' off \
4 AIX off
dialog
Somiglia a questo:
Un'altra opzione è whiptail
:
whiptail --title "Example Dialog" --msgbox "This is an example of a message box. You must hit OK to continue." 8 78
whiptail
Somiglia a questo:
E se sei veramente pazzo, usa toilet
:
toilet -F border -F gay "CRAZY"
toilet
Somiglia a questo:
zenity
una volta al mese nel reparto aggiornamento e aggiornamento ...
xmessage
Questo è il nonno degli avvisi della GUI:
xmessage -center "Hello, World!"
Pura bontà retrò.
Scommetto anche che dovrebbe essere ampiamente disponibile sui sistemi X11.
Discussione SO: Come mostrare una finestra di messaggio della GUI da uno script bash in Linux? | Stack Overflow
Testato su Ubuntu 18.04.
xmessage
è persino installato su Ubuntu Server per impostazione predefinita. Quindi posso usare ssh -Y <host>
per accedere alla macchina mentre inoltro x connessioni e quindi eseguire some-command; xmessage "some-command is done"
per visualizzare una notifica sul mio desktop al termine del comando di lunga durata.
xmessage -timeout 10 "Goodbye in 10s!"
.
E poi solo perché @ polym è completamente al di sopra della risposta più alta del classico messaggio:
write <username> [<terminal>]
- invia un messaggio a un altro utente. O interattivamente o come parte di una pipe conecho "message" | write username
E il complemento da scrivere, wall
per inviare un messaggio a tutti gli utenti
Se sei disposto a reindirizzare il testo a un wrapper Python, puoi utilizzare terminaltables
:
pip3 install colorclass
pip3 install terminaltables
Quindi in GitHub Repo , puoi usare uno degli esempi per scrivere un wrapper Python.