Либо окна сообщений графического интерфейса, либо окна сообщений, которые отображаются внутри терминала.
Также было бы интересно иметь возможность получить простой ввод от пользователя, например, да / нет или переключатели.
Либо окна сообщений графического интерфейса, либо окна сообщений, которые отображаются внутри терминала.
Также было бы интересно иметь возможность получить простой ввод от пользователя, например, да / нет или переключатели.
Ответы:
Для стандартного «окна вокруг сообщения» используйте 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 более графичен и имеет больше опций, таких как отображение окна в виде вопроса, используя:
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.
SO thread: Как показать окно сообщения GUI из скрипта bash в linux? | Переполнение стека
Проверено в Ubuntu 18.04.
xmessage
по умолчанию даже установлен на Ubuntu Server. Таким образом, я могу 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 вы можете использовать один из примеров для написания оболочки Python.