Távoli Linux desktop elérése Windowsról

A Unix/Linux szerverek üzemeltetése wikiből
(Változatok közti eltérés)
(X-Server a windows-os gépen)
(Cygwin/X)
77. sor: 77. sor:
 
* egy már futó linuxos window managerhez csatlakozni XDMCP-vel
 
* egy már futó linuxos window managerhez csatlakozni XDMCP-vel
 
* plusz lehetőség: egy Cygwin-es window managert futtatni a windowsos gépen - pl. twm, mwm (lesstif package része), fvwm2, openbox, aewm++, WindowMaker
 
* plusz lehetőség: egy Cygwin-es window managert futtatni a windowsos gépen - pl. twm, mwm (lesstif package része), fvwm2, openbox, aewm++, WindowMaker
  +
  +
Személyes véleményem, hogy a Cygwin-es megoldás kényelmetlenebb az Xmingesnél. Esetleg jól jöhet, ha még több terhet le akarunk venni a linuxos gépről, és egy szép Windows Managert futtatni a Windowst futtató gépen.
   
 
== X-Server a linuxos gépen ==
 
== X-Server a linuxos gépen ==

A lap 2012. szeptember 30., 16:35-kori változata

Írta: Pálinkás Endre
Utolsó jelentős módosítás: 2012. szeptember

Néha felmerülhet, hogy Linux operációs rendszeren futó grafikus kezelőfelülettel rendelkező programjainkat egy távoli, Windows alapú rendszerről irányítsuk. Ez a szócikk erre a feladatra gyűjt össze pár megoldást, tapasztalatokkal, és segítséggel a beállításhoz.

Tartalomjegyzék

1 X Window System

Ahhoz, hogy a témával foglalkozni tudjunk, és kiválasztani a sok távoli asztal elérés megoldás közül a nekünk megfelelőt, nem árt megismerni az X Window System alapjait.

...

2 Tesztkörnyezet

A teszthez használt Linuxos rendszer Debian disztribúciót futtatott, de más disztribúciót futtató felhasználóknak is segítség lehet a szócikk, hiszen nagy eltérések nincsenek. A lentiek közül egyes megoldások a Linuxon kívül más UNIX alapú rendszereken is léteznek, erre a szócikk nem tér ki.

3 X-Server a windows-os gépen

Tehát ha egy linuxos gép előtt ülünk, és a grafikus felületen dolgozunk billentyűzettel, egérrel, akkor az X Server a Linuxon fut. Ha csak távolról, a windowsos gépünkről akarjuk a grafikus felülettel rendelkező linuxos programokat irányítani, az X Server akár a Windows gépen is futhat. És X Window Managerre sincs feltétlenül szükség. Ez nagy előny lehet, ha minimalista megoldást keresünk, a linuxos gépen kevés a memória, gyenge a processzor, és sok tárhelyet sem akarunk használni.
Hátránya viszont, hogy az elindított linuxos programok (X kliensek) rendszerint meghalnak, ha elveszítik a kapcsolatot a távoli X Serverrel. Tehát ha megszakad a helyi hálózati/internetes kapcsolat a két gép között, a használt program lehal, és a munkánk is elveszhet. Ettől még a megoldás nem rossz. Ha nem okoz gondot a futtatandó alkalmazásnál, ha alkalmanként meghal, és a kapcsolat elég stabil, akkor használható megoldás.

3.1 Xming X Server

  • Szükséges hozzá:
    • Windows: Xming X Server (Putty Link-et is felteszi a könyvtárba)
    • Linux: sshd

Az Xming egy pár perc alatt összehozható megoldás. Az Xming X Server most már donationware, tehát adakozni kell a szoftver készítőjének, ha a legújabb változatokat szeretnénk letölteni. A régi változatok is tökéletesen működnek, elérhetők az Xming SourceForge-ról.

(thumbnail)
Xming egy ablakos mód window manager nélkül. A távoli linuxos szerveren futó két alkalmazás "ablaka" nem méretezhető, mozgatható.
(thumbnail)
Xming egy ablakos mód fapados twm window managerrel - ablakok már méretezhetőek, mozgathatóak

Miután elindítottuk az Xming X Server programot a Windows-on, SSH-n keresztül (pl. Puttyval) kell a Linuxhoz csatlakozni, X11 Forwarding (putty beállítás) segítségével a localhost:0 displayt a Windows-ra irányítva. Ezek után elindítunk egy GUI-s programot a linuxos gépen - pl. "iceweasel" böngészőt. Mivel az adott SSH sessionben a display forwardolva a Windowsra, az ablak a Windowsos gépen fog megnyílni, az Xming gyermekeként.

A fentiek segítik megérteni a működést - valójában egyszerűbb a dolgunk, nem kell a puttyval bűvészkednünk. Az Xming X Server-hez tartozik egy XLaunch alkalmazás, melyben begépelhetjük a linuxos gép elérhetőségét (IP, felhasználónév, jelszó), és a futtatandó programot, és már meg is jelenik az alkalmazás ablaka a gépünkön. Nem gond, ha speciális SSH paramétereket szeretnénk (pl. privát kulcs fájl), egy mentett putty session-re is hivatkozhatunk a nevével. Az XLaunch ugyancsak lehetőséget nyújt arra, hogyan jelenjenek meg a Windows-on a linuxos alkalmazások. A lehetőségek:

  • Multiple Windows: minden alkalmazás külön Windows ablakban nyíljon meg
  • One Window: egy főablak, és azon belül jelenik meg minden alkalmazás
  • One Window Without Titlebar: mint az előző, csak nem lesz ablakkerete az Xming főablaknak
  • Fullscreen: teljes képernyős megjelenítés

3.1.1 Egy ablakos mód

Az első lehetőséget leszámítva (ahol minden alkalmazásnak külön Windows ablaka lesz), minden elindított linuxos alkalmazás ugyanabba az Xming ablakba kerül, alapból egymást eltakarva, a méretezés és mozgatás lehetősége nélkül. Ha több alkalmazást futtatunk e 3 megjelenítési mód egyikében, és szeretnénk ablakokat méretezni, mozgatni, kell egy külső window managert is futtatnunk a linuxos gépen. A Desktop Environmenteknek (Gnome, KDE, Xfce stb.) mind saját Window Managere van, ha fent van az egyik, használhatjuk azt. De egyáltalán nincs szükségünk egy teljes desktop environment telepítésére a linuxunkra, elegendő egy fapados window manager telepítése, mint például a twm. Természetesen vannak szebbek is, nézzünk körül itt.

Ha megvan a window managerünk, két lehetőségünk van.
1. Indítsuk el a window managert, ugyanúgy, mint bármely más alkalmazást, melynek a kimenetét a Windows-on szeretnénk látni. Máris tudjuk az ablakokat mozgatni az Xming főablakon belül. (érdemes a háttérben indítani, "twm &")
2. XDMCP mód, ekkor egy speciális, UDP alapú protokollal kommunikál az X Server és a távoli X Window Manager. Ezt a módot Xming fejlesztője is problémás esetnek titulálja, és a protokoll alapból nem is titkosított. Ezzel a móddal itt nem foglalkozunk részletesebben.

3.1.2 Megjegyzések

  • A tesztnél először az Xming Server csak adminisztrátorként futtatva volt hajlandó működni, és a putty-t sem irányította jól az XLauncher. Egy reboot után rejtélyes módon minden tökéletesen működött.
  • Az XLaunch putty mellett a Cygwin-es ssh.exe-t is tudja használni.


3.2 Cygwin/X

  • Szükséges hozzá:
    • Windows: Cygwin (ejtsd: 'szigvin') környezet a szükséges Cygwin csomagokkal
    • Linux: sshd

Míg az Xming X Server egy kompakt, Windows felhasználóknak nem annyira idegen élményt nyújtó program, a Cygwin egy sokkal robosztusabb megoldás. Fel kell telepítenünk Windows-ra a Cygwint, ami egy teljes, Unix szerű környezetet épít fel egy könyvtárba. Több a lehetőségünk, de összetettebb a beállítás is, és ha a felhasználó csak a távoli asztal elérésére akarja használni a Cygwin-t, nem túl vonzó ötlet egy 260 megabyteos Cygwin környezet feltelepítése. A mérleg másik oldalon viszont az áll, hogy a lehetőségünk is több, és ha valaki már amúgy is használja a Cygwint, akkor külön program feltelepítése nélkül hozzáadhatja a pár szükséges X Server csomagot.

A Cygwin telepítése pár perc, ha szélessávú internettel rendelkezünk. Ki kell választanunk, hogy mely programcsomagokat akarjuk telepíteni.
A Cygwin/X-es megoldáshoz ezekre van szükség az alapcsomagokon kívül:

  • xorg-server
  • xinit
  • openssh
  • opcionálisan még: xorg-docs, X-start-menu-icons

Elindíthatjuk az X servert. Először a Cygwin shell-t kell elindítani Windowsban (cygwin.bat). A Cygwin shellből a Cygwin-es X Server a 'startxwin' paranccsal indítható. Ez a fenti Multiple-Windows módnak felel meg.
Ha 1 windowsos Cygwin X Server ablakon belül szeretnénk minden linux alkalmazást látni, akkor a 'startx' parancsot használjuk. Bővebb információ itt.

Csatlakozáshoz, X11 Forwardinghoz és programindításhoz használhatjuk a korábban bemutatott putty-s módszert, vagy a Cygwin SSH kliensét is:

ssh -X user@ip:port

Állítsuk be a display-t is a linuxos sessionben, ha nem lenne:

export DISPLAY=localhost:10.0

Ezek után indítható a program, és a Windows-ban jelenik meg.

Ha egy ablakba szeretnénk a linux desktopunkat belezsúfolni, itt is szükségünk lesz egy külső window manangerre. Az Xminggel ellentétben itt már három választásunk is van.

  • ssh-ban futtatni egy linuxos window managert
  • egy már futó linuxos window managerhez csatlakozni XDMCP-vel
  • plusz lehetőség: egy Cygwin-es window managert futtatni a windowsos gépen - pl. twm, mwm (lesstif package része), fvwm2, openbox, aewm++, WindowMaker

Személyes véleményem, hogy a Cygwin-es megoldás kényelmetlenebb az Xmingesnél. Esetleg jól jöhet, ha még több terhet le akarunk venni a linuxos gépről, és egy szép Windows Managert futtatni a Windowst futtató gépen.

4 X-Server a linuxos gépen

4.1 VNC

4.1.1 RealVNC

"VNC4" is ide tartozik

4.1.2 TightVNC

4.1.3 X11vnc

4.2 XRDP

Valójában ez is VNC-re épít, MS Remote Desktop Protokollol elérhető...

5 Hibrid megoldások

5.1 NoMachine NX

6 Konklúzió

Személyes eszközök