Вот то, что я пытаюсь сделать. Дети находятся на кино просмотра поля Ubuntu, YouTube, и т.д. Я нахожусь на своем поле окон, делающем безотносительно. Так как детям имплантировали наушники в их уши, я хочу войти в терминал и отправить какое-то широковещательное сообщение им, чтобы привлечь их внимание или дать им сообщение. Я уже знаю, как войти в терминал удаленно для работы над полем, в то время как они играют вокруг.
Я видел несколько опций как "Стена" или "Запись", но, они только, кажется, работают над терминальными логинами. Я могу послать сообщения на свой тестовый счет, в который входят через терминал, но, ничто не выходит к локальному пользователю, сидящему перед монитором.
Каковы мои опции? По большей части я хотел бы, чтобы окно открылось с любым сообщением, которое я пытаюсь передать, который прервет то, что они делают, когда YouTube или независимо от того, что полный экран.
Мысли? Предложения? Совет?
Предоставьте доступ
xhost +local:
или отключите управление доступом, клиенты могут соединиться от любого хоста (плохая идея, но, кажется, в порядке в Вашей сети)
xhost +
Теперь, можно сделать это от удаленного соединения:
DISPLAY=:0 xmessage -center " THIS IS A TEST MESSAGE"
Bellow является небольшой демонстрацией. У меня есть сеанс совместной работы между терминалом GUI и TTY1. Как Вы видите, нет никакого набора переменной окружения для DISPLAY
, таким образом тот терминал - то, как будто я работал в TTY1. Команда выше временно устанавливает DISPLAY
, переменная, таким образом делая xmessage появляется на xserver экземпляре на том дисплее.
я пытался делать ту же самую вещь с notify-send
однако, который, казалось, не работал.
РЕДАКТИРОВАНИЕ
xmessage
является немного маленьким. То, что я предпочел бы, должно использовать zenity
диалоговое окно. Например,
DISPLAY=:0 zenity --info --text=" THIS IS ZENITY INFO DIALOG "
Так как Вы хотите создать всплывающее окно на их экране, было бы самым легким:
1) Запускают программу (я использовал бы сценарий Perl), когда Ваши дети входят в систему. Поместите его в фоновом режиме. Сценарий Perl должен прислушаться TCP
соединение на некотором неиспользуемом порте выше 1024
и ниже 65536
, сказать порт 12345
. Когда это получает сообщение (более чем TCP
порт 12345
), это может генерировать всплывающее окно и ожидать следующей строки.
2) В Windows, используйте putty
, чтобы соединиться с портом TCP 12345 на сервере Ubuntu и ввести Ваше сообщение.
Если it’s короткое простое сообщение, что Вы хотите, Вы могли использовать notify-send
. Это создаст недолгое аварийное сообщение на верхнем правом из экрана (в том же стиле, что использование Thunderbird для предупреждения Вас к новой почте или использованию Filezilla, чтобы предупредить Вас, что продолжительная операция завершена).
notify-send "message text here"
или
notify-send "title here" "message text here"
или, если Вы действительно хотите их внимание,
notify-send "title here" "message text here" -i face-angry
, который поместит сердитую поверхность (there’s удивление!) перед сообщением. Существуют различные значки, которые можно использовать. Для наблюдения списка, доступного на компьютере, войдите ls /usr/share/icons/gnome/32x32/emotes/
.