Когда я пытаюсь открыть файл с именем 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 ответ1

2

По умолчанию и по соображениям безопасности единственным пользователем, который взаимодействует с X-сервером, является зарегистрированный пользователь. Это означает, что вы не можете инициировать подключение к x-серверу от имени другого пользователя или, в вашем случае, от имени пользователя root, если только вы не изменили настройку по умолчанию, чтобы разные пользователи / хосты могли подключаться к x-серверу. Таким образом, сообщение об ошибке, которое вы получаете, относится к x-серверу, поскольку любой другой пользователь не может подключиться к нему. Чтобы обойти это, у вас есть различные исправления, которые вы можете применить. То, что я обычно делаю, когда мне нужно запустить X-приложение от имени root, выглядит следующим образом.

  • Из обычного пользовательского терминала я запускаю xhost + чтобы временно предоставить доступ всем пользователям
  • Затем я вхожу в систему как пользователь root с другого терминала и запускаю приложение X, т.е. gedit tester.php

Чтобы сделать его постоянным (что я не предлагаю), отредактируйте /etc/profile и добавьте следующую строку:

export XAUTHORITY=/root/.Xauthority

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .