
У меня нет никакого опыта работы с X. Из того, что я прочитал, следует, что X изначально создавался с нуля, чтобы позволить окнам в WM передавать данные через Интернет, не передавая при этом растровое изображение (или сжатое растровое изображение) всего экрана (что потребовало бы как минимум такой же пропускной способности, как видео на YouTube).
- Может ли графический интерфейс любого приложения Linux (использующего GTK или что-то еще) беспрепятственно работать через удаленное соединение?
- Значительно ли меньше «задержка» при использовании графического интерфейса удаленно, чем через VNC?
решение1
X отлично работает локально, в локальной и глобальной сетях.
Но он использует сеть, а X, как и все протоколы GUI-over-network, нетерпим к высоким задержкам.
Некоторые приложения менее дружелюбны к высокой задержке, чем другие. Firefox, вероятно, один из худших нарушителей, как с точки зрения того, сколько он делает, так и с точки зрения того, как мало усилий программисты вкладывают в производительность по сети (или, конечно, ЦП). Сравните его с xterm, который довольно близок к другому концу шкалы дружелюбия к сети.
Тем не менее, я регулярно использую Firefox через 54 Мбит/с WiFi-соединение с 100 Мбит/с LAN, и между этим и локальным Firefox едва ли есть разница. Очевидно, у @Marco есть другие проблемы с сетью, если Firefox тратит 2 минуты на запуск на их 1000 Мбит/с-соединении.
решение2
Да. По крайней мере, по большей части — у меня не было никаких проблем с приложениями GTK или Qt.
Нет. Я бы не сказал, что это невыносимо медленно (если у вас довольно быстрое соединение — скажем, 10+ Мбит/с — задержка практически не ощущается), но вам все равно лучше использовать NX или даже RDP.
решение3
X11 через ssh будет медленным. Это значительно увеличивается для чего-то вроде firefox. Простой способ ускорить это — включить сжатие "-C". Кроме того, вам нужно проверить, теряет ли ваша сеть много пакетов, и использование памяти/ЦП на удаленной системе. Если вы видите высокую загрузку ЦП, вы можете попробовать поиграть с используемой спецификацией шифра. В противном случае вам понадобится больше/лучше ЦП/память/сетевая работа.
Все это говорит о том, что лучшим решением будет что-то вроде nomachine, X2GO или vnc.