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

A Unix/Linux szerverek üzemeltetése wikiből
(Változatok közti eltérés)
(Cygwin/X)
(Cygwin/X)
65. sor: 65. sor:
 
export DISPLAY=localhost:10.0
 
export DISPLAY=localhost:10.0
 
</pre>
 
</pre>
  +
Ezek után indítható a program, és a Windows-ban jelenik meg.
   
 
== X-Server a linuxos gépen ==
 
== X-Server a linuxos gépen ==

A lap 2012. szeptember 30., 14:21-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. Ez előny lehet, ha linuxos gépen kevés a memória, gyenge a processzor.
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.

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 XDMCP 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 (pl. az X XDM nevű alap window managere, a Gnome GDM-je, KDE KDM-je, stb.). Ekkor az Xming a X Display Manager Control Protocol-on keresztül kommunikál a távoli window managerrel. Az XDMCP módot az Xming írója is problémás esetnek titulálja, és az XDMCP UDP-s protokoll alapból nem is titkosított.

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 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, Cygwin shell-ből 'startxwin' paranccsal. Ez a fenti Multi-Windowed módnak felel meg. Ha 1 windowsos cygwin ablakban szeretnénk minden linux alkalmazást látni, akkor a 'startx" parancsot használjuk.

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 usernev@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.

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