Не удается открыть файл в gedit из терминала, когда я вхожу в систему как root
Когда я пытаюсь открыть файл с именем tester.php
от gedit, войдя в систему как root, я вижу это:
[root@Feddy htdocs]# gedit tester.php
(gedit:4310): EggSMClient-WARNING **: Failed to connect to the session manager: None of the authentication protocols specified are supported
** (gedit:4310): WARNING **: Could not connect to session bus
Что это за сообщение и почему я получаю это?
ПРИМЕЧАНИЕ: я могу открыть файл по той же команде
gedit tester.php
когда я действую как обычный пользователь. (т.е. не root)
1 ответ
По умолчанию и по соображениям безопасности единственным пользователем, который взаимодействует с X-сервером, является зарегистрированный пользователь. Это означает, что вы не можете инициировать подключение к x-серверу от имени другого пользователя или, в вашем случае, от имени пользователя root, если вы не изменили настройку по умолчанию, чтобы разрешить различным пользователям / хостам подключаться к x-серверу. Таким образом, сообщение об ошибке, которое вы получаете, относится к x-серверу, поскольку любой другой пользователь не может подключиться к нему. Чтобы обойти это, у вас есть различные исправления, которые вы можете применить. То, что я обычно делаю, когда мне нужно запустить X-приложение от имени root, выглядит следующим образом.
- С обычного пользовательского терминала запускаю
xhost +
временно предоставить доступ всем пользователям - Затем я вхожу в систему как root с другого терминала и запускаю приложение X, т.е.
gedit tester.php
Чтобы сделать его постоянным (что я не предлагаю), отредактируйте /etc/profile
и добавьте следующую строку:
export XAUTHORITY=/root/.Xauthority