Ускорение удаленных сессий X

16

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

Хост remote.example.com
 ForwardX11 да
 ФорвардX11Доверенный да

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

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

Александр Гладыш
источник
Вы пытались включить сжатие при вызове приложения?
Подмастерье Компьютерщик
1
Благодарю. Как видно из моей .ssh/configцитаты, нет, я не сделал. Я добавил Compression yesи CompressionLevel 9к конфигурации хоста. Кажется, немного быстрее, но все еще недостаточно для комфортного использования. Что-нибудь еще, что я могу сделать?
Александр Гладыш
@AlexanderGladysh Какая у тебя скорость вверх по течению ?
EKW
scpпри загрузке или загрузке на этот удаленный компьютер говорит 1,2 МБ / с , что более или менее соответствует числу, которое рекламирует мой провайдер.
Александр Гладыш
1
Если это возможно, использование sshfs или какой-либо другой сетевой файловой системы и локальное выполнение вашего приложения могут быть более быстрыми (если только ваше git-репо не является действительно массовым).
Eroen

Ответы:

15

В статье « Лучшие параметры 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

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

harrymc
источник
1
AES, arcfour и blowflish не являются сжатием; они криптография. Обратите внимание, что переходя от AES, вы снижаете безопасность соединения; так что это может быть неосуществимо в некоторых случаях. -CВариант является ключевым здесь, хотя, потому что это сжатие. Следите за настройкой уровня компрессии, убедитесь, что он
измерен, так
Кроме того, некоторые процессоры имеют аппаратное ускорение для шифрования AES.
ограбить
6

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

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

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

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

amcnabb
источник
Не то чтобы я не хотел использовать удаленный рабочий стол, но я хотел бы сначала попытаться оптимизировать соединение с X11 :-) Спасибо, я посмотрю на NX.
Александр Гладыш