Можно ли показывать настенные сообщения пользователям настольных компьютеров?

Допустим, я нахожусь вдали от дома и пишу на свой домашний компьютер. По какой-то причине мне это нужно перезагрузить.

# shutdown -r +10

Это отправляет предупреждающее сообщение каждую минуту через wall , которое совершенно невидимо для обычного использования на рабочем столе, скажем, моими родителями.

Есть ли какой-нибудь способ wall сообщения попасть на рабочий стол, скажем, через уведомление.

9
задан 11 November 2010 в 15:21

4 ответа

Внутренние части wall и так заблокированы и древние, что на самом деле нет никакого способа извлечь сообщение из него, как только оно там окажется.

Единственная реальная идея, выдвинутая для этого ( проблема обсуждалась ранее , много раз), заключается в изменении сценариев shutdown и reboot, чтобы они либо делали что-то доступным через dbus, либо ( поскольку мы имеем дело только с одним компьютером и одним исправлением), вы можете просто отправить ему сообщение-уведомление.

Они являются просто сценариями, так что вы можете просто взломать их. Но я думаю, что это, вероятно, причина, которую стоит настаивать. Отправьте сообщение об ошибке в Ubuntu и добавьте свои патчи (просто убедитесь, что они могут работать, не отправляя уведомление, если X-среды нет). Именно такой юзабилити нам и нужен.

Я никогда не слышал о gxmessage раньше, но я бы использовал notify-send.

Полное решение должно было бы учитывать возможность использования нескольких дисплеев (например, нескольких головок, удаленных пользователей и т. Д.), Но, к счастью, вчера я написал некоторый код для этого бита:

for display in `ps aux | grep -oE "/usr/bin/X\s[^ ]+" | cut -d " " -f 2`; do
    DISPLAY=$display notify-send -u critical 'Shutdown notice' 'Save all your work. THE SYSTEM IS GOING DOWN!!' -i /usr/share/pixmaps/gnome-computer.png
done

(I ' я использую экспорт вместо флага -display или --display, потому что я не знаю, что notify-send принимает либо)

0
ответ дан 11 November 2010 в 15:21

Вы должны быть в состоянии написать сценарий, который создает ptty и прослушивает написанные сообщения (от записи или стены), а затем перенаправляет их на выход GUI.

0
ответ дан 11 November 2010 в 15:21

Вы можете отправить сообщение вручную, используя zenity

zenity --warning --text "badp's about to restart the computer" --display=:0

Конечно, вы можете включить это в скрипт.

0
ответ дан 11 November 2010 в 15:21

AFAIK, X-клиент для команды wall не отображает эти сообщения в графической среде. Вы можете использовать приложение gxmessage для отображения всплывающих окон, но тогда вам придется написать скрипт самостоятельно.

0
ответ дан 11 November 2010 в 15:21

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

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