1

Как можно отправить сообщение на рабочий стол авторизованного пользователя через ssh? Я иногда подключаю компьютер моего друга, чтобы помочь ему, но мне нужно сообщение на его рабочий стол, а не использовать talk или ytalk .

Есть варианты, такие как notify-send , gmessage , xmessage . Но так как я подключен по SSH я не могу подключиться к их рабочему столу.

Установка переменной окружения DISPLAY также не работает.

Как мне это сделать?

1 ответ1

3

Просто установить $ DISPLAY недостаточно для xmessage, так как у вас нет необходимых данных аутентификации для подключения к серверу X11 другого пользователя - вам также необходимо скопировать $ XAUTHORITY. Для уведомления-отправки требуется только $ DBUS_SESSION_BUS_ADDRESS, но вам, скорее всего, будет отказано в доступе по политике DBus.

Используйте этот скрипт, чтобы легко копировать переменные среды, и используйте sudo для запуска команды под учетной записью вашего друга. Например:

pid=$(pgrep -x -u jon gnome-session)
sudo -u jon ./envcp $pid notify-send 'Hi'

(Вместо gnome-session может использоваться любой другой процесс этого пользователя.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .