Cuadros de mensaje de GUI o cuadros de mensaje que se muestran dentro del terminal.
También sería interesante poder recibir una entrada simple del usuario, por ejemplo, sí / no o botones de radio.
Cuadros de mensaje de GUI o cuadros de mensaje que se muestran dentro del terminal.
También sería interesante poder recibir una entrada simple del usuario, por ejemplo, sí / no o botones de radio.
Respuestas:
Para un "cuadro alrededor de un mensaje" estándar, use boxes
:
echo 'This is a test' | boxes
boxes
se verá así (Primero. El segundo es una costumbre como cowsay
):
Si te refieres a un cuadro de alerta, usa notify-send
:
notify-send 'title' 'message'
notify-send
Se ve como esto:
También puede usar zenity
para una ventana emergente:
zenity --error --text="An error occurred\!" --title="Warning\!"
Zenity es más gráfico y tiene más opciones, como hacer que la ventana aparezca como una pregunta, usando:
zenity --question --text="Do you wish to continue/?"
o incluso barras de progreso, usando:
find /usr | zenity --progress --pulsate --auto-close --auto-kill --text="Working..."
zenity
Se ve como esto:
O use dialog
, para un cuadro de mensaje de línea de comandos solamente:
dialog --checklist "Choose OS:" 15 40 5 \
1 Linux off \
2 Solaris on \
3 'HP UX' off \
4 AIX off
dialog
Se ve como esto:
Otra opción es whiptail
:
whiptail --title "Example Dialog" --msgbox "This is an example of a message box. You must hit OK to continue." 8 78
whiptail
Se ve como esto:
Y si estás realmente loco, usa toilet
:
toilet -F border -F gay "CRAZY"
toilet
Se ve como esto:
zenity
a ponerme nervioso una vez al mes en el departamento de actualización y actualización ...
xmessage
Este es el abuelo de las alertas de GUI:
xmessage -center "Hello, World!"
Pura bondad retro.
También apuesto a que debería estar ampliamente disponible en los sistemas X11.
Hilo SO: ¿Cómo mostrar un cuadro de mensaje GUI desde un script bash en Linux? El | Desbordamiento de pila
Probado en Ubuntu 18.04.
xmessage
incluso está instalado en Ubuntu Server por defecto. Entonces puedo usar ssh -Y <host>
para iniciar sesión en la máquina mientras reenvío x conexiones y luego ejecutar some-command; xmessage "some-command is done"
para abrir una notificación en mi escritorio cuando finalice el comando de ejecución prolongada.
xmessage -timeout 10 "Goodbye in 10s!"
.
Y luego solo porque @ polym's completamente por encima de la respuesta superior perdió el mensaje clásico:
write <username> [<terminal>]
- Enviar un mensaje a otro usuario. Interactivamente o como parte de una tubería conecho "message" | write username
Y el complemento para escribir, wall
para enviar un mensaje a todos los usuarios.
Si está dispuesto a canalizar el texto a un contenedor Python, puede usar terminaltables
:
pip3 install colorclass
pip3 install terminaltables
Luego, en el repositorio de GitHub , puede usar uno de los ejemplos para escribir un contenedor de python.