LINUX.ORG.RU
ФорумTalks

X протокол на медленных соединениях.


0

0

Когда начинают очередной *рач на тему ненужности X (или его тормознутости, или что его надо переписать, или т.п.), то очень часто защитники приводят аргумент «А зато X можно использовать через сеть без дополнительного софта».

Сегодня возникла необходимость удаленно запустить несколько X приложений. Интернет шириной в 1 Мбит.

Рассматривались возможности: X-over-ssh, VNC, FreeNX.
Попробовал первый вариант (Все же не зря же оно изначально сетевое) - посмотрел слайдшоу. Если при ключе -C (сжатие ssh) еще можно читать ЛОР в браузере, хотя и очень не комфортно, то без него этот самый браузер только открывается секунд 40, дольше полнейшее слайдшоу, более того, без ключа сжатия невозможно даже xterm'ом нормально пользоваться.

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

Для каких же соединений в X'ах сетевая прозрачность?
Мне думается что для хорошей локалки (чтобы без тормозов, гладко).

Будучи изначально сетевыми X'ы почему-то не предоставляют никаких средств для настройки параметров работы по сети. Почему?
Почему нету поддержки сжатия в самом X-протоколе, в libx11, почему нету расширения для X-сервера (Про NX знаю)?

Спрашивается, где эти самые сетевые возможности реально используются и какой супер-профит от их встроенности если для нормальной работы приходится прибегать к сторонним средствам (NX, VNC)?

Может как-то ускорить можно?

★★★★★

на 10 Mbit ( Wifi 54 Mbit / 16 Mbit real TCP) вполне комфортно

Sylvia ★★★★★
()

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

devl547 ★★★★★
()
Ответ на: комментарий от devl547

В то время когда его создавали (да и позже) сети были совсем не быстрые. Его использовали только локально? В лучшем случае по локалке при этом не используя ее для других нудж?

Как его использовали в «то время»? Через диалап или коаксиальный eth?
Что при этом запускали, xlogo, в лучшем случае xclock?

ls-h ★★★★★
() автор топика

> 1 Мбит

RDP на таком сказка как хорошо работает. VNC рабоатет сносно.

VladimirMalyk ★★★★★
()

Спасибо за инфу! Сам думал недавно пробивать эту тему, но никак не осиливал погуглить и затестить, заюзать!

А теперь собственно ответы на многочисленные и животрепещущие вопросы!

Почему?

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

Может как-то ускорить можно?

Совершенно не знаю точно можно ли или нет. Но чтото мне подсказывает что никак или гуглить искать говнопатчи.

Для каких же соединений в X'ах сетевая прозрачность?

Очевидно что для таких в которых работает большинство говнолокалок под линуксом.

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

Кста, когда то через 256килобит лазил спокойно в вендовый гуй через удавленный вендовый рабочий стол. Все летало как на раз два!

Santad
()

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

Вот если бы какой-нибудь Qt/GTK был на стороне X-сервера, а по сети гонялись бы вызовы для отрисовки виджетов на стороне сервера - польза была бы. Но ведь именно против этого X-фаны и выступают.

name_no ★★
()

Немного оффтопик: есть ли какие-нибудь данные анализа потери производительности из-за этой сетевой прозрачности в реальной работе? Хочется посмотреть на цифры.

aix27249
()
Ответ на: комментарий от Santad

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

ls-h ★★★★★
() автор топика

Добавлю еще немного. Есть проблема с кривостью libX11, сия либа умеет работать с запросами к серверу только синхронно, хотя сам протокол такого не требует. Асинхронно умеет xcb, но xcb еще очень мало где используется.

Deleted
()

X'ы развиваются уже много-много лет... Уже сделали композитность, а нормальною поддержку сети почему-то нет...

ls-h ★★★★★
() автор топика

>Для каких же соединений в X'ах сетевая прозрачность?

Для быстрых соединений.

X-протокол являет собой чистую реализацию протокола без всяких эвристик, кэширований и пр. Для медленных соединений надо использовать некий сжимающий, кэширующий прокси (NX, например). Этих алгоритмов сжатия может быть много разных придумано в общем случае, поэтому давать кому-то предпочтение и засовывать это в core X protocol было бы плохим решением. Засовывать эвристику в стандарт плохо! Такие дела.

Zubok ★★★★★
()
Ответ на: комментарий от Santad

спасибо, поржал! :)

Я лично думаю что устарел протокол. Учитывая что на то время, когда он создавался не было такой навороченной графики, как в наше время.

Cosmicman ★★
()
Ответ на: комментарий от Zubok

Тогда зачем в X'ах сетевая прозрачность? Есть отдельные решения для работы по сети (VNC,RDP) которые работают гораздо быстрее, есть быстрые графические интерфейсы (графика на винде и маке, например), которые работают с с этими отдельными решениями и при этом все работает быстро и проблем не возникает.
В чем профит, если приходится прибегать к сторонним средствам?

ls-h ★★★★★
() автор топика

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

ls-h ★★★★★
() автор топика

Интересно, почему все говорят о ширине канала, а не о латентности? Для отрисовки важна латентность и даже на 100 Мбит через океан общаться хуже, чем на 512 кбит в локалке.

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

ping
rtt min/avg/max/mdev = 82.428/396.390/535.684/71.885 ms

ls-h ★★★★★
() автор топика

Вообще действительно странно, что в лялихе не идет искаропки что-то вроде NX. А VNC, под который искаропки надо отдельный пароль ставить, вместо использования учеток - это вообще песня.

При том что FreeNX есть, и клиент опенсорсный на qt к нему тоже есть.

Еще до недавнего времени было совсем хреново с аналогов вендового «памошника». Только в последних релизах у empathy появилась возможность шарить доступ к десктопу. Но опять только через VNC.

Vit ★★★★★
()
Ответ на: комментарий от ls-h

Цитируем ls-h

Тогда зачем в X'ах сетевая прозрачность? Есть отдельные решения для работы по сети (VNC,RDP)

А запуск отдельных приложений (seamless — костыль), а не десктопов?

sdio ★★★★★
()

vnc и rdp не так удобны, лично я на таблетке могу делать то, о чем в винде имечтать нельзя, могу запускать и удобно работать с кучей софта, даже виндового через wine.

Novell-ch ★★★★★
()
Ответ на: комментарий от ls-h

Цитируем ls-h

VNC на том же канале в любом случае быстрее в разы

Сравнивай с NX.

sdio ★★★★★
()
Ответ на: комментарий от ls-h

Я вот тебе сейчас пишу из древней-древней Мозиллы, которая в Москве, а я сам — в Канаде. Почти 8000 км. Запускалось действительно долго, но работать можно.

RDP я тестил на этом канале. Быстрее, но не в разы. Про VNC вообще не верю — это тормоз.

//annoynimous

annoynimous ★★★★★
()

Хм... Я на полмегабита спокойно ковырялся в графическом ясте на удаленном серваке.

Ещё удобно форвардинг иксов использовать, когда рядом стоят нетбук и десктоп и хочется одновременно и оттуда, и оттуда что-нибудь открыть на одном экране.

Yareg ★★★
()
Ответ на: комментарий от ls-h

Ты смеешься? На одном конце 10 Мбит, на другом — 100 и черт знает что in between

annoynimous ★★★★★
()

Со старющщей машины запускал фаерфокс на сервере помощнее.

Он просто летал. По локалке правда.

mclaudt
()

Во времена создания протокола X11 тулкиты не гоняли по нему растр, как это делают сейчас.

В принципе, ты можешь заснифить трафик и посмотреть, скажем, в wireshark, что происходит.

linuxfan
()

До просветления:

http://en.wikipedia.org/wiki/X_Window_System_core_protocol

http://en.wikipedia.org/wiki/X_Window_System

Ъ:

Сжатие, шифрование и прочие прелести не забота X-протокола. Так было задумано изначально.

К вопросу асинхронности:

In the X Window System core protocol, only four kinds of packets are sent, asynchronously, over the network: requests, replies, events, and errors. Requests are sent by a client to the server to ask it to perform some operation (for example, create a new window) and to send back data it holds. Replies are sent by the server to provide such data. Events are sent by the server to notify clients of user activity or other occurrences they are interested in. Errors are packet sent by the server to notify a client of errors occurred during processing of its requests. Requests may generate replies, events, and errors; other than this, the protocol does not mandate over a specific order in which packets are sent over the network. Some extensions to the core protocol exist, each one having its own requests, replies, events, and errors.

gh0stwizard ★★★★★
()
Ответ на: комментарий от ls-h

Потому что в этом нет необходимости. Есть NX, который и является компрессором, кешем и оптимизатором протокола. В отличие от vnc он как раз используюет заложенные изначально в X возможности сетевой прозрачности:)

ixrws ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.