Або поля графічних повідомлень GUI, або поля повідомлень, які відображаються всередині терміналу.
Також було б цікаво отримати можливість простого введення даних від користувача, наприклад, так / ні або кнопки радіо.
Або поля графічних повідомлень GUI, або поля повідомлень, які відображаються всередині терміналу.
Також було б цікаво отримати можливість простого введення даних від користувача, наприклад, так / ні або кнопки радіо.
Відповіді:
Для стандартного "поля навколо повідомлення" використовуйте boxes
:
echo 'This is a test' | boxes
boxes
буде виглядати приблизно так (Перший. Другий - такий, як на замовлення cowsay
):
Якщо ви маєте на увазі вікно попередження, використовуйте notify-send
:
notify-send 'title' 'message'
notify-send
виглядає так:
Ви також можете використовувати zenity
для спливаючого вікна:
zenity --error --text="An error occurred\!" --title="Warning\!"
Зеніт є більш графічним і має більше варіантів, як, наприклад, вікно з’являється як питання, використовуючи:
zenity --question --text="Do you wish to continue/?"
або навіть смужки прогресу, використовуючи:
find /usr | zenity --progress --pulsate --auto-close --auto-kill --text="Working..."
zenity
виглядає так:
Або використовуйте dialog
для вікна повідомлення лише командного рядка:
dialog --checklist "Choose OS:" 15 40 5 \
1 Linux off \
2 Solaris on \
3 'HP UX' off \
4 AIX off
dialog
виглядає так:
Ще один варіант whiptail
:
whiptail --title "Example Dialog" --msgbox "This is an example of a message box. You must hit OK to continue." 8 78
whiptail
виглядає так:
А якщо ви справді божевільний, використовуйте toilet
:
toilet -F border -F gay "CRAZY"
toilet
виглядає так:
zenity
на власні нерви раз на місяць у відділі оновлень та оновлень ...
xmessage
Це сповіщення прадіда GUI:
xmessage -center "Hello, World!"
Чисте ретро добро.
Я також думаю, що він повинен бути широко доступним у системах X11.
Так нитка: Як показати вікно повідомлення графічного інтерфейсу зі скрипту bash в Linux? | Переповнення стеку
Тестовано в Ubuntu 18.04.
xmessage
навіть встановлено на сервері Ubuntu за замовчуванням. Тож я можу використовувати ssh -Y <host>
для входу в машину під час пересилання x з'єднань, а потім запустити, some-command; xmessage "some-command is done"
щоб спливати сповіщення на робочому столі, коли команда тривалої роботи закінчена.
xmessage -timeout 10 "Goodbye in 10s!"
.
І тоді лише тому, що повністю у верхній відповіді @ polym пропущено класичне повідомлення:
write <username> [<terminal>]
- надіслати повідомлення іншому користувачеві. Або інтерактивно, або як частина труби зecho "message" | write username
І додаток написати, wall
відправити повідомлення всім користувачам
Якщо ви готові передати текст на обгортку Python, ви можете використовувати terminaltables
:
pip3 install colorclass
pip3 install terminaltables
Потім в GitHub Repo ви можете використовувати один із прикладів для написання обгортки пітона.