Как исправить ошибку «DISPLAY не установлен» в xterm в Ubuntu

Убунту 20

В этой статье мы углубимся в проблему ошибки «DISPLAY is not set» в xterm в Ubuntu. Эта ошибка обычно возникает, когда вы пытаетесь запустить xterm или другие программы с графическим интерфейсом из сеанса терминала, который неправильно настроен для связи с сервером X11.

Чтобы исправить ошибку «DISPLAY is not set» в xterm в Ubuntu, вам необходимо убедиться, что в конфигурации SSH включена пересылка X11, использовать правильные флаги при подключении через SSH, при необходимости установить программу xauth и настроить среду DISPLAY. переменную в правильное значение.

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

Система X Window, также известная как X11, представляет собой оконную систему для растровых дисплеев, распространенную в Unix-подобных операционных системах. xterm — это эмулятор терминала для системы X Window. Ошибка «DISPLAY is not set» обычно указывает на то, что терминальный сеанс не знает, к какому дисплею X11 подключаться.

Переменная среды DISPLAY используется системой X Window для установления соединения с X-сервером. Если эта переменная установлена ​​неправильно, вы столкнетесь с ошибкой «DISPLAY is not set» при попытке запустить xterm или другие приложения с графическим интерфейсом.

Проверка конфигурации SSH

Первым шагом в решении этой проблемы является проверка конфигурации SSH на целевом компьютере. Откройте файл /etc/ssh/sshd_config и убедитесь, что для параметра X11Forwarding установлено значение «да». Эта строка позволяет SSH-серверу пересылать графические данные X11 с сервера на ваш локальный компьютер.

Также убедитесь, что для X11DisplayOffset установлено значение больше 0, обычно 10. Этот параметр резервирует отображаемые номера для удаленных подключений X11.

Включение пересылки X11

При подключении к целевой машине через SSH обязательно используйте флаг -X или -Y. Эти флаги включают пересылку X11. Например: ssh -X пользователь@сервер.

Проверка пересылки X11

Чтобы убедиться, что пересылка X11 работает правильно, запустите другой демон SSH на другом порту в целях отладки на целевом компьютере. Запустите команду /usr/sbin/sshd -d -p 222. Флаг -d предназначен для режима отладки, а -p 222 устанавливает номер порта.

Затем на исходном компьютере подключитесь к целевому компьютеру с подробным выводом, выполнив ssh -v -Y user@server -p 222. Флаг -v предназначен для подробного режима, -Y включает надежную пересылку X11, а -p 222 указывает номер порта.

Установка ксааута

Если вы видите сообщение об ошибке, связанное с переадресацией X11, например «Нет программы xauth; невозможно переслать с подменой», это означает, что на целевой машине отсутствует программа xauth. Программа xauth используется для редактирования и отображения информации авторизации, используемой при подключении к X-серверу.

Вы можете установить xauth в Ubuntu, запустив sudo apt-get install xauth.

Установка переменной среды DISPLAY

После подключения к целевой машине через SSH проверьте значение переменной среды DISPLAY, запустив echo $DISPLAY. Он должен отображать адрес сервера X11, например localhost:10.0.

Если переменная DISPLAY не установлена, вы можете установить ее вручную с помощью команды Export DISPLAY=:0. Эта команда устанавливает для переменной DISPLAY значение дисплея по умолчанию.

Запуск xterm

Убедившись, что пересылка X11 включена, программа xauth установлена ​​и переменная DISPLAY установлена ​​правильно, вы можете попробовать запустить xterm еще раз. Теперь все должно работать без ошибки «ДИСПЛЕЙ не установлен».

Заключение

Ошибка «DISPLAY не установлена» в xterm в Ubuntu — это распространенная проблема, которую можно решить, правильно настроив пересылку X11 и убедившись, что переменная среды DISPLAY установлена ​​правильно. Выполнив шаги, описанные в этой статье, вы сможете успешно запускать xterm и другие приложения с графическим интерфейсом из сеанса терминала.

xterm — это эмулятор терминала для системы X Window, обычно используемый в Unix-подобных операционных системах.

Ошибка «DISPLAY не установлена» возникает, когда сеанс терминала неправильно настроен для связи с сервером X11. Эта ошибка обычно возникает при попытке запустить xterm или другие программы с графическим интерфейсом без правильной отображаемой информации X11.

Вы можете проверить конфигурацию SSH, открыв файл /etc/ssh/sshd_config и убедившись, что для X11Forwarding установлено значение «да», а для X11DisplayOffset установлено значение больше 0, обычно 10.

Чтобы включить пересылку X11, используйте флаг -X или -Y при подключении к целевой машине через SSH. Например: ssh -X пользователь@сервер.

Если вы видите сообщение об ошибке, связанное с пересылкой X11, например «Нет программы xauth; невозможно переслать с подделкой», это означает, что программа xauth отсутствует на целевом компьютере. Вы можете установить xauth в Ubuntu, запустив sudo apt-get install xauth.

После подключения к целевой машине через SSH вы можете проверить значение переменной среды DISPLAY, запустив echo $DISPLAY. Если он не установлен, вы можете установить его вручную с помощью команды Export DISPLAY=:0.

Если вы правильно выполнили все шаги и по-прежнему сталкиваетесь с ошибкой, возможно, существует другая основная проблема. В таких случаях рекомендуется обратиться за дополнительной помощью или проконсультироваться на соответствующих форумах и сообществах для устранения неполадок.

Похожие записи

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *