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

A Unix/Linux szerverek üzemeltetése wikiből
(Változatok közti eltérés)
(Egy ablakos mód)
(Egy ablakos mód)
34. sor: 34. sor:
   
 
====Egy ablakos mód====
 
====Egy ablakos mód====
  +
[[Fájl:Xming-window-manager-nelkul.png|thumb|400px|Xming egy ablakos mód window manager nélkül - az ablakok nem méretezhetők, mozgathatók]]
  +
[[Fájl:Xming-fapados-twm-window-managerrel.png|thumb|400px|Xming egy ablakos mód fapados twm window managerrel]]
 
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.
 
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 [http://en.wikipedia.org/wiki/Twm twm]. Természetesen vannak szebbek is, nézzünk körül [http://en.wikipedia.org/wiki/X_window_manager itt].
 
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 [http://en.wikipedia.org/wiki/Twm twm]. Természetesen vannak szebbek is, nézzünk körül [http://en.wikipedia.org/wiki/X_window_manager itt].
40. sor: 42. sor:
 
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 &")<br />
 
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 &")<br />
 
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.
 
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.
 
[[Fájl:Xming-window-manager-nelkul.png|thumb|400px|Xming egy ablakos mód window manager nélkül - az ablakok nem méretezhetők, mozgathatók]]
 
[[Fájl:Xming-fapados-twm-window-managerrel.png|thumb|400px|Xming egy ablakos mód fapados twm window managerrel]]
 
   
 
==== Megjegyzések ====
 
==== Megjegyzések ====

A lap 2012. szeptember 30., 16:28-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.

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

(thumbnail)
Xming egy ablakos mód window manager nélkül - az ablakok nem méretezhetők, mozgathatók
(thumbnail)
Xming egy ablakos mód fapados twm window managerrel

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

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