Производительность и ограничения удаленного использования X GUI?

Производительность и ограничения удаленного использования X GUI?

У меня нет никакого опыта работы с X. Из того, что я прочитал, следует, что X изначально создавался с нуля, чтобы позволить окнам в WM передавать данные через Интернет, не передавая при этом растровое изображение (или сжатое растровое изображение) всего экрана (что потребовало бы как минимум такой же пропускной способности, как видео на YouTube).

  1. Может ли графический интерфейс любого приложения Linux (использующего GTK или что-то еще) беспрепятственно работать через удаленное соединение?
  2. Значительно ли меньше «задержка» при использовании графического интерфейса удаленно, чем через VNC?

решение1

X отлично работает локально, в локальной и глобальной сетях.

Но он использует сеть, а X, как и все протоколы GUI-over-network, нетерпим к высоким задержкам.

Некоторые приложения менее дружелюбны к высокой задержке, чем другие. Firefox, вероятно, один из худших нарушителей, как с точки зрения того, сколько он делает, так и с точки зрения того, как мало усилий программисты вкладывают в производительность по сети (или, конечно, ЦП). Сравните его с xterm, который довольно близок к другому концу шкалы дружелюбия к сети.

Тем не менее, я регулярно использую Firefox через 54 Мбит/с WiFi-соединение с 100 Мбит/с LAN, и между этим и локальным Firefox едва ли есть разница. Очевидно, у @Marco есть другие проблемы с сетью, если Firefox тратит 2 минуты на запуск на их 1000 Мбит/с-соединении.

решение2

  1. Да. По крайней мере, по большей части — у меня не было никаких проблем с приложениями GTK или Qt.

  2. Нет. Я бы не сказал, что это невыносимо медленно (если у вас довольно быстрое соединение — скажем, 10+ Мбит/с — задержка практически не ощущается), но вам все равно лучше использовать NX или даже RDP.

решение3

X11 через ssh будет медленным. Это значительно увеличивается для чего-то вроде firefox. Простой способ ускорить это — включить сжатие "-C". Кроме того, вам нужно проверить, теряет ли ваша сеть много пакетов, и использование памяти/ЦП на удаленной системе. Если вы видите высокую загрузку ЦП, вы можете попробовать поиграть с используемой спецификацией шифра. В противном случае вам понадобится больше/лучше ЦП/память/сетевая работа.

Все это говорит о том, что лучшим решением будет что-то вроде nomachine, X2GO или vnc.

Связанный контент