1

Довольно свежая установка Debian 6.0.3 с Gnome 2.30.2. В корневом терминале, когда я пытаюсь открыть что-нибудь связанное с Gnome, я получаю эту ошибку:

unable to open display ":0.0"

Иногда это начинается с префикса:

No protocol specified

Я добавил свое имя хоста в xhost и поместил xhost +[myhostname] в bashrc рута, но это просто не удается, когда я открываю корневой терминал. Помогите?

РЕДАКТИРОВАТЬ: Единственный способ заставить это работать, полностью отключив контроль доступа, но я знаю, что должно быть лучшее решение.

1 ответ1

1

« No protocol specified » обычно означает, что вам отказано в доступе к дисплею X11. Есть несколько способов сделать то, что вы хотите:

  • Укажите $XAUTHORITY на ваш файл Xauthority. Иногда это ~/.Xauthority в вашем домашнем каталоге; с GNOME это временный файл в глубине /var . Следующие методы будут работать в обоих случаях:

    • Просто скопируйте переменную окружения в ваш корневой терминал, используя echo $XAUTHORITY и export XAUTHORITY=...

    • Сделайте su сделав копию Xauthority, добавив pam_xauth в его конфигурацию PAM.

    • Используйте sudo -s и настройте его так, чтобы в его параметре XAUTHORITY « env_keep ».

    • Используйте gksu gnome-terminal для запуска корневого терминала.

  • Добавьте root к разрешенным пользователям, запустив xhost +si:localuser:root с обычного терминала. Это сделает Xauthority ненужным.

Не добавлять имя хоста компьютера к xhost так как это не надежные (вопросы RDNS), не будет работать с локальными связями (только TCP), и небезопасно (позволяет любому пользователю подключиться к дисплею).

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