Вопрос или проблема
Я заметил задержку в одну секунду перед запуском Midnight Commander или mcedit
в Putty. У меня ушло время, прежде чем я понял, что это вызвано включенной пересылкой X11. mc -X
запускается сразу.
К сожалению, запуск любого X11 приложения имеет такую же задержку. Может быть, я придираюсь, но это сводит меня с ума. Особенно потому, что некоторые пользователи упомянули причину и решение: xming
не поддерживает безопасность X11, поэтому Linux должен ждать времени ожидания сети. У меня это занимает секунду, а у других – 30 секунд, согласно некоторым обсуждениям.
Решение – это доверенная пересылка X11, включенная с помощью параметра командной строки -Y
для ssh
. К сожалению, в Putty этого параметра нет. Есть ли какой-то другой способ включить доверенную пересылку в Putty?
Опция -Y или ForwardX11Trusted для клиента ssh отключает контроль доступа для удаленных X клиентов. Putty не предлагает это, но Xming, запущенный с -ac, также отключает контроль доступа.
Эта страница с советами по Xming описывает 2 способа отключения контроля доступа при запуске Xming: использование параметра -ac или модификация файла.
Стало ли лучше после перезапуска Xming с отключенным контролем доступа?
—-
Этот первый ответ оставлен для справки.
-C может замедлить связь в быстрой сети (смотрите страницу руководства ssh), поэтому я думаю, что это не поможет в вашей ситуации.
putty 0.67 имеет как -X (включает пересылку X11 в SSH), так и -C (включает сжатие), см. 3.8.3 Стандартные параметры командной строки в документации.
Сжатие улучшает производительность при использовании с ssh.
Следующая команда была протестирована с удаленным сервером:
PUTTY.EXE -X -C -ssh 10.0.0.2
Сообщите мне, стало ли лучше с обеими опциями -X и -C в вашей среде?
PuTTY достаточно безопасен с пересылкой X11. Обратите внимание, что может потребоваться установить xauth на вашем Linux. После входа в систему по SSH проверьте, определена ли переменная DISPLAY автоматически. Ее значение должно быть localhost:… или что-то подобное. Если нет, вам следует изменить конфигурацию на IPv4 только в вашем /etc/ssh/sshd_config, перезапустить службу ssh и попробовать снова.
Ответ или решение
Чтобы включить доверенную пересылку X11 через PuTTY с использованием Xming и устранить задержку в одну секунду при запуске X11 приложений, важно учитывать несколько ключевых аспектов и шагов. Ниже приведён исчерпывающий ответ, который поможет решить проблему.
1. Основные причины задержки
При использовании X11 пересылки в PuTTY с Xming вы можете заметить задержку перед запуском графических приложений, таких как Midnight Commander или mcedit. Как упоминалось, это связано с тем, что Xming по умолчанию использует механизмы контроля доступа, которые могут вызывать таймауты из-за отсутствия ответов от удалённого X11 сервера.
2. Включение доверенной пересылки X11
Хотя параметр -Y
(доверенная пересылка) не поддерживается напрямую в PuTTY, есть обходные пути для достижения аналогичного результата.
Шаги для настройки:
-
Запуск Xming с отключённым контролем доступа:
Вам необходимо запустить Xming с параметром
-ac
, который отключает контроль доступа для удалённых X-клиентов. Для этого:- Откройте командную строку (cmd) и выполните следующую команду:
Xming -ac
- Этот параметр позволяет всем клиентам подключаться без необходимости их предварительной авторизации, что с устранит задержку.
- Откройте командную строку (cmd) и выполните следующую команду:
-
Настройка PuTTY:
- Откройте PuTTY и перейдите в раздел
Connection > SSH > X11
. - Убедитесь, что флажок
Enable X11 forwarding
установлен. - Перейдите в
Session
и сохраните настройки.
- Откройте PuTTY и перейдите в раздел
-
Проверка установки xauth:
Убедитесь, что на удалённом сервере установлен пакет
xauth
, который требуется для управления авторизацией X11. Вы можете проверить его наличие с помощью команды:dpkg -l | grep xauth
Если его нет, установите его:
sudo apt install xauth
3. Проверка переменной окружения DISPLAY
После установки соединения проверьте, правильно ли установлена переменная окружения DISPLAY
на удалённом сервере. Это можно сделать с помощью команды:
echo $DISPLAY
Если значение переменной не начинается с localhost
, то вам может понадобиться изменить настройки в файле /etc/ssh/sshd_config
, добавив или изменив строку на:
X11UseLocalhost no
После внесения изменений перезапустите SSH сервис:
sudo systemctl restart sshd
4. Дополнительные рекомендации
- Использование опции
-C
для сжатия данных (Connection > SSH
в PuTTY) также может улучшить производительность. - Можно проверить, как работает комбинированное использование
-X
и-C
, особенно если у вас высокая пропускная способность.
Заключение
Следуя вышеуказанным шагам, вы сможете устранить задержку при запуске X11 приложений через PuTTY и Xming. Выполнение этих действий поможет создать более плавный и комфортный опыт работы с графическими программами на вашем удалённом сервере. Если после всех изменений задержка сохраняется, рассмотрите возможность использования других методов подключения, таких как VNC или RDP, которые могут быть более оптимальными для работы с графикой.