Вопрос или проблема
У меня есть файл .bash_aliases
с несколькими псевдонимами, которые я использую для подключения к машинам под управлением Windows. Псевдонимы настроены следующим образом:
rdesktop -d domain -u username -p password -k fr-be -g 1920x1024 -T Customer-SupportPC -a 24 IP
Вчера соединение работало нормально, сегодня соединение выдает следующую ошибку:
ERROR: Не удалось открыть дисплей:
SSH-сессии не вызывают проблем, проблема только с rdesktop на Windows-сервер. Перенаправление X11 установлено в yes в /etc/ssh/sshd_config
У меня никогда не было удачи с программой rdesktop. У меня много удачи с пакетом remmina. Если вы не против, я предлагаю вам попробовать это и посмотреть, решит ли это вашу проблему.
Ответ или решение
Ошибка "ERROR: Failed to open display:" при использовании rdesktop может возникнуть по нескольким причинам, и важно внимательно рассмотреть возможные источники этой проблемы. Ниже представлены шаги по диагностике и решению данной проблемы, а также советы по использованию альтернативного программного обеспечения для удаленного рабочего стола.
1. Проверка X11 Forwarding
Поскольку вы используете SSH для подключения, убедитесь, что X11 Forwarding действительно включён как на стороне сервера SSH, так и на клиенте.
-
На сервере: Проверьте файл конфигурации
sshd_config
, где вы уже отметили, что у вас установленоX11Forwarding yes
. Убедитесь, что настройки применены, перезапустив службу SSH:sudo systemctl restart sshd
-
На клиенте: Когда вы устанавливаете соединение через SSH, убедитесь, что используете флаг
-X
или-Y
, чтобы включить перенаправление X11. Например:ssh -X username@remote_host
2. Установка необходимых компонентов X11
Для использования X11 Forwarding убедитесь, что у вас есть установленный X-сервер на клиентской машине. Если вы работаете на Linux, он, как правило, уже установлен. Если вы подключаетесь из Windows, вам потребуется установить X-сервер, например, Xming или Cygwin/X.
3. Проверка переменной окружения DISPLAY
После подключения через SSH проверьте значение переменной окружения DISPLAY
:
echo $DISPLAY
Если переменная не установлена (например, ваше уведомление будет пустым), это может быть причиной ошибки. Установите её вручную, если это необходимо:
export DISPLAY=:0
4. Проблемы с правами доступа
Существуют случаи, когда rdesktop не может получить доступ к X-серверу из-за недостатка прав. Используйте следующую команду для предоставления разрешений:
xhost +local:
Эта команда позволит всем локальным пользователям подключаться к X-серверу. Будьте осторожны, поскольку это может представлять опасность безопасности.
5. Альтернативы rdesktop
Если rdesktop продолжает вызывать проблемы, вы можете рассмотреть возможность использования других инструментов, таких как Remmina, которые вы упомянули. Remmina предоставляет более современный интерфейс и поддерживает различные протоколы подключения. Установка Remmina часто решает проблемы переподключения благодаря более лучшей совместимости.
sudo apt install remmina
Заключение
Основные шаги, которые вы можете предпринять для решения проблемы "ERROR: Failed to open display:" связаны с проверкой настроек X11 Forwarding, установкой компонентов X11, а также проверкой переменной окружения DISPLAY
. Если все вышеперечисленное не помогает, рассмотрите возможность перехода на более удобные решения, такие как Remmina. Убедитесь, что все изменения вы проверяете в безопасной среде, особенно при изменении прав доступа.