Привет!
Я реализую решение для резервного копирования, и мне нужно получить доступ к дисплею X11 для получения пароля от пользователя и отображения информации о состоянии. Я попытался установить для $ DISPLAY в скрипте значение: 0.0 (жестко запрограммировано), но xhost и misc жалуются, что не могут открыть дисплей. Что мне делать?
PS: Скрипт здесь: http://dpaste.com/109435/





Вам нужна информация об аутентификации X. Я не верю, что xhost может "ворваться" в X-сеанс и разрешить доступ без него (вам нужно, чтобы пользователь сделал это за вас), и если он у вас есть, то нет необходимости использовать xhost вообще .
Пытаться
export DISPLAY=:0.0
export XAUTHORITY=/home/user/.Xauthority
а затем запустите свои команды.
Как указано выше, пользователь должен разрешить вам доступ к своему дисплею. Им нужно выполнить команду xhost +. На самом деле не стоит просто открывать свой дисплей кому-либо!
Вам было бы лучше заставить их бежать
xhost +jeeger
или как там работает ваш пользователь.
HTH
ваше здоровье,
Роб
Спасибо, вы привели меня на правильный путь. Теперь я выполняю xhost + local: в моем .xinitrc, и это позволяет мне получить доступ к дисплею X11 (когда я экспортирую DISPLAY).
Я не согласен с этим, так как это подрывает безопасность. Как я сказал в своем комментарии, используйте файлы cookie авторизации X вместо xhost.