16

У меня есть удаленный компьютер с сервером Ubuntu 11.10, к которому я подключаюсь через SSH из OS X 10.7.3:

Host remote.example.com
 ForwardX11 yes
 ForwardX11Trusted yes

Иногда я хочу запустить там приложение с графическим интерфейсом (особенно gitk). Но интерфейс довольно медленный. И удаленный компьютер, и мой собственный Mac имеют хорошее интернет-соединение. Пинг между ними составляет около 55 мс, и нет потери пакетов. Что я могу сделать, чтобы ускорить процесс?

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

2 ответа2

14

В статье « Лучшие параметры SSH для пересылки X11» рекомендуется использовать вместо стандартного шифра AES шифры arcfour и blowfish, которые работают намного лучше.

Поэтому следует использовать:

ssh -c arcfour,blowfish-cbc -XC host.com

Технические примечания Seb (если сайт недоступен, есть архивная версия), рекомендуется:

ssh -Y -C -o CompressionLevel=9 -c arcfour,blowfish-cbc user@hostname

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

5

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

NX (NoMachine), вероятно, ваш лучший выбор. Он по-прежнему использует ssh, поэтому не нужно слишком много дополнительных усилий по сравнению с другими настольными протоколами, которые могут потребовать изменения настроек брандмауэра и т.д. Существуют пакеты NX для Fedora, поэтому я предполагаю, что они также доступны для Ubuntu.

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

РЕДАКТИРОВАТЬ: Чтобы выяснить, почему X11 поверх ssh никогда не будет быстрым: протокол X имеет дело с рисованием низкого уровня, таким как линии и круги, и с событиями низкого уровня, такими как «мышь переместилась на 3 пикселя влево». Современные инструменты GUI, такие как GTK и Qt, не рисуют линии, они рисуют изображения. Когда X11 переходит SSH, он должен постоянно посылать данные изображения и события мыши низкого уровня. Протокол высокого уровня, такой как NX, VNC или Удаленный рабочий стол, может уменьшить пропускную способность и задержку, зная, как работают наборы инструментов. Например, они могут избежать необходимости отправлять события мыши, они могут избежать тысяч перерисовок при перемещении окон и могут кэшировать области экрана, такие как меню. Если производительность даже незначительна, raw X11 - всегда неправильный выбор. К счастью, существует множество быстрых альтернатив, которые легко настроить и использовать.

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