LINUX.ORG.RU

Удаленное X-соединение


0

1

Доброго времени суток.
Возможно, тема стара как мир, но имеющейся инфы мало.

Интересу ради захотелось попробовать использовать старый комп для вывода графики с нового, то есть запустить на старом X-сервер и подключаться к нему с нового компа. Пробовал напрямую и через ssh (в том числе с компрессией) - результат в обоих случаях есть, но довольно тормозной. Отрисовка идет довольно медленно, особенно хорошо это заметно на игрушке hex-a-hop,отрисовка экрана занимает несколько секунд. При этом системный монитор (на новом компе убунта) показывает скорость сети порядка метра в секунду. Примерно соответствует возможностям старого компа - там сеть 10 мегабит.

В качестве полумеры пробовал снизить число цветов в Х-сервере, но какой-то приемлемой скорости работы все равно не ощутилось. Виндовский radmin на порядок быстрее.

Дополнительно вылез интересный баг. В силу того, что работаю в локалке за роутером, безопасность X-соединения в общем-то не актуальна. Запускаю на старой машине «X &» и начинаются пляски с xhost: если сделать «xhost +» в том же текстовом терминале, откуда были запущены иксы, xhost пишет, что все сработало, но на деле настройки остаются прежними (xhost без параметров по прежнему показывает, что подключение к X-серверу возможно только с локалхоста). Если же сделать «xhost +» из xterm, запущенного под иксами, все работает как надо, и можно запускать на X-сервере графику с другого компа, но до тех пор, пока не закрою xterm. В итоге приходится запускать «X -ac &», чтобы отключить проверку хостов вообще. При этом /etc/X*.hosts отсутствует напрочь, откуда берутся дефолтные настройки xhost и как их поменять - непонятно.

P.S. Да, я знаю, что xhost - небезопасный колхоз

Ответ на: комментарий от s_m

Виноват, совсем закопался :)

Вопроса два:
1) Как добиться комфортной работы удаленной Х-сессии на 10-мегабитной локалке? То, что есть, работает вяло и существенно проигрывает по скорости, к примеру, виндовскому радмину.
2) Где лежат дефолтные настройки xhost?

P.S. Запустил то же фокус через XDMCP, сначала через xdm, потом через gdm. Работает, но так же медленно. К примеру, видео в mplayer не показывается вообще, просто черный экран (или я чего-то не понимаю?).

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

> 1) Как добиться комфортной работы удаленной Х-сессии на 10-мегабитной локалке?

Сменить на 100-мегабитную

К примеру, видео в mplayer не показывается вообще

Для 720p видео нужна 100-мегабитка. Если арифметику за 2-й класс помнишь - посчитай и удостоверься.

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

На сетевые возможности X’ов положили давным давно, и уже во всю пытаются выпилить т.к. от них только тормоза.

Для более-менее удобоваримой работы можешь попробовать NX.

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

>> На сетевые возможности X’ов положили давным давно, и уже во всю пытаются выпилить т.к. хомячкам они не нужны.

Исправлено)

Да, и скорость работы иксов зависит не столько от ширины канала, сколько от времени отклика.

sergej ★★★★★ ()

Не очень понял, что у тебя за пляски с xhost

На старой машине: «X -ac -query ip_новой_машины»
Возможно, на «новой машине» может понадобится настроить твой логин-менеджер([x]dm).

По поводу 10мбит - можно поробовать FreeNX, он ест меньше трафика, HD-кино ты все равно не посмотришь.

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

>> На сетевые возможности X’ов положили давным давно, и уже во всю пытаются выпилить т.к. хомячкам они не нужны.

Еще б были нужны, при таких тормозах то.

anonymous ()
Ответ на: комментарий от sergej

> Да, и скорость работы иксов зависит не столько от ширины канала, сколько от времени отклика.

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

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

Я регулярно пользуюсь в 100Мбит локальной сети, все работает быстро.

видео не посмотришь, в 3д игрушки не поиграешь, но обычный гуй работает почти также как и локально.

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

>На сетевые возможности X’ов положили давным давно, и уже во всю пытаются выпилить т.к. хомячкам они не нужны
Обидно. Очень часто тот же VNC не нужен, хватает обычного изкоробочного ssh X11-forwarding.

Еще б были нужны, при таких тормозах то.

Руки выпрями. Без обид, но у меня тормоза были только с Qt4 на 10Мбитной локалке. Что ОНО там так люто отрисовывало в Psi я так и не понял...

обычный гуй работает почти также как и локально

полностью согласен.

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

>Я регулярно пользуюсь в 100Мбит локальной сети, все работает быстро. видео не посмотришь, в 3д игрушки не поиграешь, но обычный гуй работает почти также как и локально.

Руки ровняй. Видео не тормозит и Quake 3 на дохлом бездисковом клиенте с P3 500MHz + 64M RAM + Radeon 7000 показывает те же комфортные fps'ы, что и непосредственно на «толстой машине», с которой транслируется

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

>Есть подозрение, что это сильно зависит от кол-ва народа в этой 100мбитной сетке, а не от рук)

Есть уверенность, что именно от рук

Led ★★★☆☆ ()

Для начала прочитать в википедии про протоколы удаленной работы:
- rdp
- vnc
- nx
- xdmcp

Затем набрать в «менеджере пакетов» эти слова, увидишь:
- xrdp (сервер); rdesktop, tsclient - клиенты
- vnc4server, xvnc4veiwer
- freenx (https://help.ubuntu.com/community/FreeNX)

radmin хоть и работает без проблем под wine, должен умереть, т.к. имеет свой закрытый (следовательно, мертвый) протокол.

xdmcp самый капризный и тормозной. Например, если сеть на секунду прервалась, то все X-приложения «вываливаются». у других протоколов при переподключении ты возвращаешься в сессию.

По скорости работы, по убыванию: nx, xrdp, vnc, xdmcp.
Сам пробовал xdmcp, vnc и xrdp. На практике юзал rdp, т.к. работает из под всего (даже с сотовых телефонов) и вполне быстр.

Но народ говорит что nx - самый быстрый. Вобщем, пробуй.

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

Ну и еще пару замечаний.

vnc хорош тем, что он перехватывает управление существующей сессии, аналогично radmin. Его я использовал для администрирования клиентских рабочих станций. В виндах в этос случае ставил tightvnc - маленькая и бесплатная программка.

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

Nordman ()
Ответ на: комментарий от Led

>> Есть уверенность, что именно от рук

А можно подробнее? Что я мог сделать не так?

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

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

На старой машине: «X -ac -query ip_новой_машины»

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

Возможно, на «новой машине» может понадобится настроить твой логин-менеджер([x]dm).

С этим проблем нет. Настроился как xdm, так и gdm. Другие ставить просто лень, да и смысла особого нету. Правда gdm отзывается только на -query, бродкаст игнорирует.

Для 720p видео нужна 100-мегабитка. Если арифметику за 2-й класс помнишь - посчитай и удостоверься.

Видео гонялось в разрешении 320х240. За идиота держать не надо :)

Погонял еще немного. Запускал gnome-session и xfce4-session с «нового» компа через ssh X-forwarding, как с компрессией так и без - особой разницы не заметил. Также пробовал запуск hex-a-hop (игрушка знатно подтормаживает при запуске, плавно отрисовывая менюшку) - тот же эффект.
Аналогично пробовал запускать сессию через XDMCP - результаты по скорости те же самые, ну может самую малость быстрее.

Дистры:
ubuntu 9.10 на новой машине (C2D E6600 2.4 GHz, 2 GB RAM, GF GTX 260), софт:
-X.Org X Server 1.6.4 Release Date: 2009-9-27
-gdm свою версию выдавать отказался, установлен пакет версии 2.28
-xdm 1.1.8
-Openssh 1:5.1p1
ASP 10 на старой (Celeron 333 MHz, 128 MB RAM, TNT 16 MB), софт:
-X Window System Version 6.8.1 Release Date: 17 September 2004, Build Operating System: Linux 2.4.21-20.EL.aspsmp i686 [ELF], Current Operating System: Linux localhost 2.6.9-1.667asp #1 Fri Nov 12 22:29:40 EET 2004 i686
-xdm свою версию не выдал, установлена rpm-ка xorg-x11-xdm-6.8.1-12.FC3.1 (все, что нашлось по команде rpm -qa|grep xdm)
-OpenSSH 3.8.1p1

В настройках sshd стоит вторая версия протокола на обоих машинах, X-forwarding работает в обе стороны. Подключение со старого компа на новый идет с приличной задержкой (думает несколько секунд перед тем как спросить пароль), с нового на старый почти мгновенно.

Небольшой оффтоп:
Запуск X-сервера на машине с убуной выдает следующее:
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection ":1.87" is not allowed to own the service «org.x.config.display2» due to security policies in the configuration file)
Повисев некоторое время с черным экраном, X-сервер таки одумывается и показывает положенный «крестик», после чего уже получает xdm со старой машины.
В чем косяк?

umod47 ()
Ответ на: комментарий от Nordman

>Для начала прочитать в википедии про протоколы удаленной работы:

- rdp

- vnc


- nx


- xdmcp


...



Спасибо, поиграюсь на досуге с этими вещами. Но пока хочется попробовать то, что есть (установка софта в этот древний asp - то еще мучение, проще переставить его целиком).

umod47 ()
Ответ на: комментарий от madcore

>кде3 на глаз быстрее кде4 видно даже локально.

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

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

>Так ты фильм по ssh -X гонял?
Фильмы гонялись через XDMCP. В запущенной сессии запускался mplayer -vf scale=320:240 <filmname>, вылезало окно, звук шел через колонки «новой» машины (как и положено), вместо видео черный экран, без просветов. Постановка на паузу не помогала.

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

UPD: попробовал запустить mplayer через ssh. В 320х240 весьма вяло, но играет. В оригинальном размере (1280x720) выдает кадр секунды за 2-3. Смущает, что разница между ssh -C и просто ssh не ощущается вообще никак. Впрочем, возможно, видеоряд сам по себе хорошо ужат.

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

scale не нужен. увеличивай до 100 мбит - на 10-ке ничего у тебя не получится.

звук шел через колонки «новой» машины (как и положено)

Почему «так положено»? Звук должен быть там, где и изображение (man pulseaudio/esound/nas)

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

>scale не нужен. увеличивай до 100 мбит - на 10-ке ничего у тебя не получится.

Да ну, не верю :) В тырнете читал тесты, по которым даже КДЕшная сессия укладывалась в 5 мегабит (попозже найду ссылку). Значит что-то я не так делаю.

Почему «так положено»? Звук должен быть там, где и изображение (man pulseaudio/esound/nas)

Пульс выпилен нахрен еще давно за тормознутостью и глючностью.

Опять же, что с компрессией ssh? Такое ощущение, что ее нет вообще.

umod47 ()
Ответ на: комментарий от Led

Виноват. Сижу дома на больничном, вот и сказывается :)

http://www.vanemery.com/Linux/XoverSSH/X-over-SSH2.html
(смотрим таблицу «X over SSH traffic chart»)

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

До остальных приведенных протоколов руки пока не дошли...

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

>Больше даже интересует, почему применение компрессии в SSH не дает никакого эффекта

Потому что видеоконтент практически не сжимается zlib'ом

Потому что на слабенькой машинке разжимать SSH-поток - очень накладно

Потому что бездисковый клиент с 32M памяти и с процессором 200MHz отлично показывает 720p видео на полный экран и СО ЗВУКОМ.

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

Да, пожалуй ты был прав. Попробовал те же фокусы с ноута (там тоже бунта 9.10, только 32-битная), видео в 320х240 играет, кушая около 2 метров в секунду. В оригинальных 720p тормоза, пропускной способности вайфая не хватает.
Впрочем, solarwolf пошел через ssh только с компрессией, без нее опять же тормоза. Эффект таки есть. В том же видео, кстати, в 320х240 с компрессией звук и видео синхронны, без - звук убегает вперед. Но теперь уперся в скорость 2 метра в секунду и абзац...
Старая машина не успевает разжимать на лету - top показывает, что ssh жрет до 80% проца.

Все равно правда непонятно, откуда взялись тогда числа в статье.

Потому что бездисковый клиент с 32M памяти и с процессором 200MHz отлично показывает 720p видео на полный экран и СО ЗВУКОМ.

Просвяти, как именно ты это делал и с какой скоростью при этом работает сеть.

(ушел проклинать бунту и пытаться запустить в ней Х-сервер руками)

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

>Просвяти, как именно ты это делал

Я делал ALTSP

и с какой скоростью при этом работает сеть.

100 мбит. При этом 720p фильм выедает ок. 70-80% пропускной способности сети. Естественно, никакого SSH

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