Vékonykliens Solaris 10-re ami folytatható session-öket tud [megoldva]

Üdv!

Röviden: Citrix Metaframe helyett tudtok-e valami ingyenes megoldást Solaris 10-re (pl. VNC vagy GNU screen)?Kicsit bővebben:
Solaris 10-re távoli grafikus hozzáféréshez kellene olyan vékonykliens, ami megfelel alábbiaknak:
- Folytatható session-ök. Azaz azt tudja, hogyha bármi okból megszakad a kapcsolat, akkor a futó alkalmazások ne vesszenek el, a desktopon minden ugyanúgy maradjon. VNC bezárásakor a session megmaradjon.
- Sok felhasználó is csatlakozhat egyszerre (pl. 30 db user).
- Ingyenes (vagy olcsó)
- Egyszerű használni felhasználó szempontból, azaz nem kell mindig port számokat vagy display számokat állítgatni.

Citrix Metaframe tudta ezt a funkcionalitást, hogy ha a felhasználó pl. egy másik IP cimről újrakonnektált, akkor a Citrix szerver detektálta hogy ott van egy félbemaradt grafikus session, és újracsatlakoztatta a felhasználót ugyanarra a session-re.

Ebből is látszik hogy a sima X-es vagy XDMCP hozzáférés nem jó, mert annál a futó alkalmazások nem maradnak meg ha bontódik a kapcsolat.

Első ötlet a VNC, mert ez meg tudja tartani a session-t. Kétféleképp lehet elindítani:
1. Alábbi oldal alapján a VNC-t service-ként elindítottam.
http://birijan.com.np/?q=vnc+on+solaris+10
Az 5900-as porton hallgat és csatlakozáskor jön a szokásos login screen, onnan be lehet lépni a szokásos CDE-vel vagy JDS-sel. A VNC bezárásakor azonban a session nem marad meg, természetesen elveszik, mivel az 5900-as port közös.
2. Ha azt akarom hogy a VNC session megmaradjon, akkor a user belép SSH-vel, elindítja a vncserver-t, felírja a Display numbert és ha arra a portra csatlakozik, akkor az a session megmarad. Na ezzel meg az a baj hogy túl macera az egyszeri felhasználónak, hogy port számokat írogasson meg ilyenek.

Na ezt a kettőt hogy lehet összekapcsolni, úgy hogy egy közös port legyen használva de ugyanakkor a VNC session-ök userenként maradjanak meg? Lehet ilyet?

Két link esetleg:
http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6572087
http://blogs.sun.com/gfaden/entry/remote_multilevel_desktop_sessions

Vagy pedig a GNU screen programot kéne használni? Erről nem sokat tudok de jókat olvastam róla.

Kösz
batagy

Hozzászólások

X11VNC-t keresd meg (most nem tudom a linket fejből, bocsi), éppen erre való.
Évek óta használom, tök jó.
Igaz, egyedül nyomkodom, sok userrel nem tudom, hogyan boldogul, de egy próbát megér!
<-------
You can't grep on dead trees.

Köszönöm aspirin a segitséget!
Most jutottam el odáig hogy az x11vnc-vel megoldottam a feladatot.
Küzdöttem vele sokat mire eljutottam odáig hogy úgy megy ahogy kell, de ez inkább csak a kezdő mivoltomnak köszönhető. Igy utólag nagyon egyszerű használni az x11vnc-t.

Tényleg nagyon jó progi!

Jelenleg az alábbi argumentumokkal futtatom, service-ként és rootként, ez 5900-as porton fut, belépéskor usernév/jelszó beirása után megnézi, hogy van-e már futó display-e az adott felhasználónak, ha van, ahhoz csatlakzik, ha nincs, akkor egy új DISPLAY számn létrehoz egy ús session-t. A session-t a Xvfb virtuális frame buffer-rel csinálja. A session inditásakor bejön a normál XDMCP-s CDE login screen.

/usr/local/bin/x11vnc -env UNIXPW_DISABLE_LOCALHOST=1 -env PATH=/usr/X11/bin:$PATH -inetd -unixpw -users unixpw= -display WAIT:cmd=FINDCREATEDISPLAY-Xvfb.xdmcp -o /var/log/x11vnc.log

Ugyanezt lehet úgy is inditani, hogy ne a Xvfb hanem a standard Xvnc-t inditsa el:

/usr/local/bin/x11vnc -env UNIXPW_DISABLE_LOCALHOST=1 -env PATH=/usr/X11/bin:$PATH -inetd -unixpw -users unixpw= -display WAIT:cmd=FINDCREATEDISPLAY-xvnc.xdmcp -o /var/log/x11vnc.log

A főbb argumentumok:
-env UNIXPW_DISABLE_LOCALHOST=1
Ez a környezeti változó azért kellett (az esetünkben) mert nem SSL módban futtatom, és ebben az esetben defaultból csak a localhostról engedi a hozzáférést.

-env PATH=/usr/X11/bin:$PATH
Az Xvfb miatt kell. Figyelem, a /usr/openwin/bin ne legyen a PATH-ban az előbbi előtt, mert akkor az x11vnc a /usr/openwin/bin/Xvfb -t akarja futtatni, de nekünk nem az kell, hanem a /usr/X11/bin/Xvfb

-unixpw
Ez az opció csinélja, hogy az x11vnc bekéri a Unix-os belépési adatokat, a sajét kis fekete beléptető ablakában.

-display WAIT:cmd=FINDCREATEDISPLAY
Ez vizsgálja hogy van-e már meglévő DISPLAY a user használatában. Ha nincs, indit egy ujat.
Utána a -Xvfb adja meg hogy virtuális display-t hozzon létre.
Utána a .xdmcp pedig hogy az inditott session-be a login screen induljon el.

Igy gyakorlatilag kétszer kell belépni (megadni a usernevet és jelszót), de csak igy lehet ezzel megoldani. Az első bejelentkezés a DISPLAY-t hozza létre, a második pedig magát az CDE vagy JDS bejelentkezést inditja el.

Működik!

Húha, régen néztem erre, de örülök, hogy jó volt a tipp! :)
Viszont a leírásod meg nekem - és természetesen másoknak is! - jól jöhet később; én csak "sima vnc-ként" használom, úgyhogy a fentiek nekem már az advanced usage kategória :)

Ja, most nézem, hgy CDE-t használsz; vigyázz, mert a lassan eltűnik, befejezi a Sun a támogatást, meg - ez a rosszabb - a terjesztést is!
<-------
You can't grep on dead trees.