У меня есть ssh-доступ к компьютеру моего соседа (Ubuntu 14.04). Я хочу отправить ей сообщение через ssh, поэтому я использую эту команду
export DISPLAY=:0 && notify-send "sample message"
Команда завершается с 0, но она не видит сообщения. С другой стороны, когда я использую , экспорт DISPLAY =: 0 и, например, xterm , xterm нормально открывается. libnotify установлен, когда я запускаю notify-send локально, он показывает. Кроме того, когда я пытаюсь выполнить эту команду через ssh на другом компьютере, она работает.
Есть идеи, почему это происходит, пожалуйста? Спасибо
уведомьте - отправляют потребности иметь учетные данные сессии, чтобы смочь отправить уведомления в Ваших друзьях сессия. Они хранятся в Переменных среды, включенных в сессию, когда Вы входите в систему, это предотвращает фоновые процессы жулика от того, чтобы портить Ваш рабочий стол.
простой способ сделать эти учетные данные сессии доступными (и ниспровергать безопасность рабочего стола полностью) состоит в том, чтобы иметь настольную сессию, запускают экранную сессию и затем фон это.
Вы можете затем ssh к нему, соединяться с экранной сессией, и затем Ваш уведомлять - отправляют, будет работать. Если Вы делаете это гарантирует, что Ваша соседка по квартире полностью осведомлена, что у Вас есть общий доступ к ее рабочему столу и файлам.
Для конфигурирования экранной сессии:
От тире запущенные 'Приложения Запуска'
щелчок добавляет, дает ему имя и вводит следующее в команду:
screen -dmS desktop_session
Затем, когда Вы соединяетесь через ssh
screen -r desktop_session
notify-send "Insecure message"
, можно затем выполнить любую команду и иметь ее вывод графических данных, появляются на той настольной сессии.
необходимо будет сделать это в интерактивном режиме, если Вы захотите сделать это нев интерактивном режиме, у Вас мог бы быть опрос сценария оболочки файл и когда это имеет данные, отправляют его для уведомления. или просто используйте мгновенный клиент сообщения.
Я должен был сделать подобную вещь - я выполню обновление на одном компьютере, но хотел уведомление - отправляют на другом компьютере. Я использовал sshpass
:
sshpass -p user_password ssh -X user_name@ip_address DISPLAY=:0 notify-send "The message"
, где Вы заменили бы user_password
, user_name
и ip_address
для Вашего определенного пользователя/машины.