По умолчанию и по соображениям безопасности единственным пользователем, который взаимодействует с X-сервером, является зарегистрированный пользователь. Это означает, что вы не можете инициировать подключение к x-серверу от имени другого пользователя или, в вашем случае, от имени пользователя root, если только вы не изменили настройку по умолчанию, чтобы разные пользователи / хосты могли подключаться к x-серверу. Таким образом, сообщение об ошибке, которое вы получаете, относится к x-серверу, поскольку любой другой пользователь не может подключиться к нему. Чтобы обойти это, у вас есть различные исправления, которые вы можете применить. То, что я обычно делаю, когда мне нужно запустить X-приложение от имени root, выглядит следующим образом.
- Из обычного пользовательского терминала я запускаю
xhost +
чтобы временно предоставить доступ всем пользователям
- Затем я вхожу в систему как пользователь root с другого терминала и запускаю приложение X, т.е.
gedit tester.php
Чтобы сделать его постоянным (что я не предлагаю), отредактируйте /etc/profile
и добавьте следующую строку:
export XAUTHORITY=/root/.Xauthority