Soit des boîtes de message GUI, soit des boîtes de message qui s'affichent à l'intérieur du terminal.
Il serait également intéressant de pouvoir obtenir une entrée simple de l'utilisateur, par exemple oui/non ou boutons radio.
Pour une "boîte autour d'un message" standard, utilisez boxes
:
echo 'This is a test' | boxes
boxes
ressemblera à ceci (le premier. Le second est un personnalisé comme cowsay
):
Si vous voulez dire une boîte d'alerte, utilisez notify-send
:
notify-send 'title' 'message'
notify-send
ressemble à ça:
Vous pouvez également utiliser zenity
pour une fenêtre contextuelle:
zenity --error --text="An error occurred\!" --title="Warning\!"
Zenity est plus graphique et propose plus d'options, comme faire apparaître la fenêtre sous forme de question, en utilisant:
zenity --question --text="Do you wish to continue/?"
ou même des barres de progression, en utilisant:
find /usr | zenity --progress --pulsate --auto-close --auto-kill --text="Working..."
zenity
ressemble à ceci:
Ou utilisez dialog
, pour une boîte de message en ligne de commande uniquement:
dialog --checklist "Choose OS:" 15 40 5 \
1 Linux off \
2 Solaris on \
3 'HP UX' off \
4 AIX off
dialog
ressemble à ceci:
Une autre option est whiptail
:
whiptail --title "Example Dialog" --msgbox "This is an example of a message box. You must hit OK to continue." 8 78
whiptail
ressemble à ceci:
Et si vous êtes vraiment fou, utilisez toilet
:
toilet -F border -F gay "CRAZY"
toilet
ressemble à ceci:
xmessage
Voici le grand-père des alertes GUI:
xmessage -center "Hello, World!"
Pure bonté rétro.
Je parie également qu'il devrait être largement disponible sur les systèmes X11.
Fil SO: Comment afficher une boîte de message GUI à partir d'un script bash sous linux? | Stack Overflow
Testé dans Ubuntu 18.04.
Et puis juste parce que @ polym a complètement dépassé la réponse la plus courante:
write <username> [<terminal>]
- envoyer un message à un autre utilisateur. Soit de manière interactive, soit dans le cadre d'un tuyau avec echo "message" | write username
Et le complément pour écrire, wall
pour envoyer un message à tous les utilisateurs
Si vous êtes prêt à diriger le texte vers un wrapper Python, vous pouvez utiliser terminaltables
:
pip3 install colorclass
pip3 install terminaltables
Ensuite, dans le GitHub Repo , vous pouvez utiliser l'un des exemples pour écrire un wrapper python.