Широковещательное сообщение от терминала до локально вошло в систему пользователь

Вот то, что я пытаюсь сделать. Дети находятся на кино просмотра поля Ubuntu, YouTube, и т.д. Я нахожусь на своем поле окон, делающем безотносительно. Так как детям имплантировали наушники в их уши, я хочу войти в терминал и отправить какое-то широковещательное сообщение им, чтобы привлечь их внимание или дать им сообщение. Я уже знаю, как войти в терминал удаленно для работы над полем, в то время как они играют вокруг.

Я видел несколько опций как "Стена" или "Запись", но, они только, кажется, работают над терминальными логинами. Я могу послать сообщения на свой тестовый счет, в который входят через терминал, но, ничто не выходит к локальному пользователю, сидящему перед монитором.

Каковы мои опции? По большей части я хотел бы, чтобы окно открылось с любым сообщением, которое я пытаюсь передать, который прервет то, что они делают, когда YouTube или независимо от того, что полный экран.

Мысли? Предложения? Совет?

5
задан 24 August 2015 в 20:19

3 ответа

Предоставьте доступ

xhost +local:

или отключите управление доступом, клиенты могут соединиться от любого хоста (плохая идея, но, кажется, в порядке в Вашей сети)

xhost +

Теперь, можно сделать это от удаленного соединения:

DISPLAY=:0 xmessage -center " THIS IS A TEST MESSAGE"

Bellow является небольшой демонстрацией. У меня есть сеанс совместной работы между терминалом GUI и TTY1. Как Вы видите, нет никакого набора переменной окружения для DISPLAY, таким образом тот терминал - то, как будто я работал в TTY1. Команда выше временно устанавливает DISPLAY, переменная, таким образом делая xmessage появляется на xserver экземпляре на том дисплее.

enter image description here

я пытался делать ту же самую вещь с notify-send однако, который, казалось, не работал.

РЕДАКТИРОВАНИЕ

xmessage является немного маленьким. То, что я предпочел бы, должно использовать zenity диалоговое окно. Например,

DISPLAY=:0 zenity --info --text=" THIS IS ZENITY INFO DIALOG "

1
ответ дан 23 November 2019 в 10:36

Так как Вы хотите создать всплывающее окно на их экране, было бы самым легким:

1) Запускают программу (я использовал бы сценарий Perl), когда Ваши дети входят в систему. Поместите его в фоновом режиме. Сценарий Perl должен прислушаться TCP соединение на некотором неиспользуемом порте выше 1024 и ниже 65536, сказать порт 12345. Когда это получает сообщение (более чем TCP порт 12345), это может генерировать всплывающее окно и ожидать следующей строки.

2) В Windows, используйте putty, чтобы соединиться с портом TCP 12345 на сервере Ubuntu и ввести Ваше сообщение.

1
ответ дан 23 November 2019 в 10:36

Если 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/.

0
ответ дан 23 November 2019 в 10:36

Другие вопросы по тегам:

Похожие вопросы: