Команда xhost в скрипте завершается ошибкой при выполнении initctl
По какой-то причине я должен выполнить xhost +SI:localuser:root
разрешить графический интерфейс для root
пользователь. Я поместил эту команду в сценарий оболочки, который будет выполняться при запуске upstart
, Когда я выполняю эту команду или этот скрипт вручную как другой пользователь, он работает нормально. Но когда этот скрипт выполняется upstart
эта команда не работает.
Я также попытался выполнить эту команду, кроме root
пользователь в скрипте как
sudo -H -s otheruser xhost +SI:localuser:root
Это также не работает.
Как я могу позволить графический интерфейс root
пользователь при запуске системы?
Спасибо за ваше время!
1 ответ
"GUI для root
Пользователь "считается вредным *, но вот объяснение вашей проблемы:
xhost
сообщает X-серверу, что он может / не может принимать соединения от других хостов.
когда upstart
запускает ваш скрипт, ни один пользователь не вошел в систему и не запустил X-сервер. Следовательно, xhost
не с кем поговорить
Вам нужно отложить исполнение вашего xhost
Команда, пока вы не вошли в систему. xhost
также необходимо определение DISPLAY
переменная окружения (чтобы он мог найти X-сервер). man X
показывает формат DISPLAY
: hostname:displaynumber.screennumber
,
Ответ: вы не можете бежать xhost
через upstart
- контекст не правильный.
root
всесильный, и графические программы не показывают вам все, что они делают.