
Когда я пытаюсь открыть файл, названный 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-app ie
gedit tester.php
Чтобы сделать его постоянным (что я не предлагаю), отредактируйте /etc/profile
и добавьте следующую строку:
export XAUTHORITY=/root/.Xauthority