remote_x

Отдалечена Х сесия

Започваме с простия начин на стартиране на приложение от отдалечен компютър върху локалния екран. Това може да е полезно при локални ограничения, които за отдалечената машина не важат (мрежови или хардуерни ограничения, ползване на слаба машина (Пентиум I,II) като Х терминал на мощен компютър). Необходимо е да имаме стартиран Х сървър на локалната машина, с поне един работещ терминален прозорец. В общия случай пускаме терминал (gnome-terminal,konsole,xterm) и правим ssh до другата машина с препращане на Х сесията.

ssh -X remoteuser@remotehost
ssh -Y remoteuser@remotehost

Първият вариант се използва в общия случай, втория - когато сесията е в доверителна мрежа, където сигурността не е от значение (например вашата домашна мрежа зад защитна стена). После стартирайте приложението:

firefox &
  • Забележка - Firefox не стартира от отдалечената машина, ако работи на локалната. Всичко завършва без грешка, като в края се оказвате прехвърлен във работещия прозорец на Firefox. За да работят двата браузъра от локалния и отдалечения компютър, вторият трябва да се пусне така:

firefox --no-remote &

Недостатък на този метод е, че не може да ползвате менютата за стартиране на приложение, всичко се пуска от команден ред.

Друг вариант е на локалния компютър да се пусне единствено Х сървър с xterm (или друг), а мениджъра на прозорци (window manager) да работи на отдалечения компютър. Така всички менюта на екрана са всъщност менютата на отдалечения компютър. Приложенията работят на отдалечената машина, като интерфейса им е върху локалната.

Стартираме само Х сървъра с един единствен терминален прозорец без мениджър на прозорци:

xinit /usr/bin/xterm -- :1 &

Това предполага, че има вече един стартиран Х сървър (gdm, kdm, xdm, startx и т.н.). Ако няма командата се опростява:

xinit /usr/bin/xterm &

Сега трябва да добавим права на тази сесия за отдалечения хост. Връзката може да се тунелира през SSH ако мрежата не е сигурна, но това води до понижена скорост. Ако мрежата е сигурна, може да стартирате доверителна Х сесия чрез xhost +remotehost.

Тунелиран SSH:

ssh -fY remoteuser@remotehost /usr/bin/wmaker

или директно:

xhost +remotehost
ssh -f remoteuser@remotehost /usr/bin/wmaker -display localmachine:1

При първата опция ако отдалечения SSH сървър го поддържа се използва локалната променлива DISPLAY и сесията се тунелира през SSH. Втората опция позволява на отдалечения remotehost да изпраща данни от X директно на локалния дисплей и стартира WindowMaker отдалечено, но го показва локално. Всички ваши действия се изпълняват на отдалечената машина, но се изобразяват локално.

  • Забележка: Вместо WindowMaker може да се ползва fluxbox, blackbox, twm, fvwm или друг мениджър на прозорци. Използването на Gnome или KDE е възможно, но не се препоръчва поради по-високите изисквания на последните към скорост. По-добре се ориентирайте към малък и лек мениджър на прозорци.

BulgarianDocumentation/Network/remote_x (last edited 2013-04-28 13:26:56 by ip192-154-149-21)