Терминал в сессии XRDP. Как решить ‘Требуется авторизация, но протокол авторизации не указан’?

Вопрос или проблема

Существовал похожий вопрос, но он касался Cygwin. Мой вопрос касается RDP. Я установил XRDP на компьютере с Linux и использовал удаленное соединение рабочего стола Windows для подключения к нему. Внутри окна RDP я открыл терминал и ввел sudo nautilus, чтобы запустить файловый менеджер от имени root. Но я получил следующее.

Требуется авторизация, но протокол авторизации не указан

(org.gnome.Nautilus:75012): Gtk-WARNING **: 08:40:24.020: не удается открыть
дисплей: :10.0

Принятый ответ на вышеупомянутый вопрос заключался в следующем: $ DISPLAY=:0.0 xhost <remote_hostname_or_ip>, но когда я попробовал DISPLAY=:0.0 xhost localhost, я получил

xhost: не удается открыть дисплей “:0.0”

Если я попытаюсь DISPLAY=:10.0 xhost localhost, я получаю

Требуется авторизация, но протокол авторизации не указан

xhost: не удается открыть дисплей “:10.0”

Есть ли способ решить эту проблему XRDP? Проблема с появлением запроса пароля для sudo была самой большой головной болью, и, похоже, никто не знает решения.

У меня была такая же проблема (по крайней мере, я так думаю), и я верю, что найденное мною решение может помочь тем, кто ищет решение. Проблема была связана с сервером отображения Wayland, под которым запуск графического приложения с правами root завершается неудачей. Простой способ решения — добавить root в xhost. Выполните следующую команду (от вашего имени, т.е. без sudo).

xhost si:localuser:root

Некоторые справедливо утверждают, что этот подход немного хакерский для модели безопасности Wayland, и они предлагают решение с временным изменением (смотрите #594183).

Я использую Fedora и занимался работой с openGL, когда столкнулся с этой ошибкой. Использование ответа Арсения не решило мою проблему.

Мое решение заключалось в перезапуске моего дисплейного менеджера:

sudo systemctl restart display-manager

Ответ или решение

Решение проблемы "Authorization required, but no authorization protocol specified" в сессии XRDP

При использовании XRDP для подключения к Linux-системе с помощью Remote Desktop Connection из Windows, часто возникают проблемы с авторизацией при попытке запустить графическое приложение с привилегиями root, например, при использовании команды sudo nautilus. Одним из типичных сообщений об ошибках является "Authorization required, but no authorization protocol specified".

Причины проблемы

  1. Проблемы с дисплей-сервером:

    • В современных дистрибутивах Linux может использоваться Wayland вместо X11, что влияет на выполнение GUI-приложений с правами root.
    • На XRDP сессиях дисплей может быть недоступен или неправильно настроен.
  2. Проблемы с переменной DISPLAY:

    • Разные дисплей-сессии могут иметь разные номера DISPLAY, что требует точной настройки для передачи соответствующих прав.

Шаги по устранению

1. Настройка прав доступа с помощью xhost

Для устранения проблемы с доступом лучше всего использовать утилиту xhost, чтобы разрешить доступ для пользователя root:

  1. Подключитесь к вашей Linux системе через XRDP.
  2. Откройте терминал и выполните следующую команду:

    xhost si:localuser:root

Эта команда добавляет пользователя root в список разрешенных для доступа к текущему дисплею. Обратите внимание, что такая настройка может быть не оптимальна с точки зрения безопасности, особенно в условиях Wayland. Имейте это в виду перед применением.

2. Переменная окружения DISPLAY

Убедитесь, что переменная DISPLAY настроена правильно. Для XRDP сессий она может быть установлена в значение :10 или другое, в зависимости от настройки вашей системы. Для этого попробуйте выполнить:

echo $DISPLAY

Если значение отличается, попробуйте явно установить его перед запуском nautilus:

export DISPLAY=:10
sudo nautilus

3. Перезапуск дисплей-менеджера

Если проблема не решается, одним из вариантов является перезапуск дочернего дисплей-менеджера:

sudo systemctl restart display-manager

Этот шаг может помочь сбросить настройки и восстановить доступ к дисплею.

Дополнительные рекомендации

  • Проверка системных журналов: Если все перечисленные решения не дали результата, рекомендуется проверить системные журналы на предмет ошибок, связанных с XRDP, Wayland или X11.

  • Смена GUI-приложений: Если nautilus продолжает вызывать проблемы, рассмотрите возможность использования других файловых менеджеров или командной строки для выполнения задач с правами root.

Заключение

Проблема с ошибкой "Authorization required, but no authorization protocol specified" в сессии XRDP может быть решена несколькими способами, начиная от конфигурации xhost до перезапуска дисплей-менеджера. Понимание контекста использования может помочь в более точной настройке и избежать лишних проблем в будущем.

Оцените материал
Добавить комментарий

Капча загружается...