A következő problémával kapcsolatban keresek segítséget.
Szeretnék egy Linux szervert összeállítani ami távoli asztal szolgáltatást nyújt 3 vékonykliensnek. A klienseken Ubuntu fut. Fontos, hogy a kliensek leszakadása esetén a szerveren megmaradjanak az elinditottt programok, illetve, hogy mind a 3 kliensnek saját különálló környezete legyen. A szerver a pincében, zárt helyiségben monitor nélkül fut, ezért azt szeretném, hogy csak a hálózat felé legyen az X -nek display -e.
A dolog ott tart, hogy felkerült a vasra az egy Ubuntu 10.04 LTS szerver, a Gnome, a KDE a FluxBOX. Mindezt Xvnc -n keresztül próbálnám elérni mérsékelten sikeresen.
Az Xvnc -t xinetd -vel inditom. A kliens becsatlakozik, elindul az X, de semmi egyéb. Szürke "rácsos háttér" X alaku kurzorral. Sajnos az Xvnc nem hajtja végre a ~/.vnc-xstartup szkriptet. Ha az Xvnc helyett az inetd az xvnc4server -t inditja, még idáig sem jut el a dolog. Pár percet vergődik a kliens, a szerveren az Xvnc elindul majd leáll pár tucatszor, de a kliens felé a display sosem jelenik meg, és idővel timeout -ba torkollik a dolog. Írtam egy saját pár soros szkriptet ami meghívja az Xvnc -t, majd végrehajtja a xstartup -ot. Itt az volt a probléma, hogy ha az Xvnc -t háttérben indítom '&' a parancs után, akkor nem tud kommunikálni az inetd -vel. Ha nem így indítom, akkor az xstartup már nem hajtódik végre. A probléma áthidalásaként elsőként egy második bash -t indítok. Ez először várakozik, majd meghívja az xstartup -ot. A várakozás azért kell, hogy legyen display, mire a gnome használni szeretné. Evvel a megoldással a VNC kliens sikeresen csatlakozik, és a gnome is szépen bejön. A baj az, hogy a gnome root -ként indul el, hiába van megadva más user az inetd -nek. Ráadásul, ha kilépek a gnome -ból (logout), többet nem indul újra. Ha újra csatlakozik a kliens, a VNC elindul (display van), de a gnome már nem. Ilyenkor csak az előző, kijelentkezett (vagy kijelentkező félben lévő) gnome háttere látszik, még egér kurzor sincs. Kijelentkezéskor az Xvnc kilép, azaz nincs a task listában. Gondolom a megoldás az lehetne, ha gnome-session helyett [xkd]dm -et indítanék, és lenne rendes user beléptetés.
Röviden a következő kérdéseim lennének:
- A fent meghatározott követelmények kielégítésére van e az Xvnc -nél jobb ingyenes megoldás?
- Megoldható e valahogy, hogy az inetd sikeresen el tudja indítani az xvnc4server szkriptet?
- Megoldható e valahogy, hogy az Xvnc lefuttasson egy starup szkriptet indulás után?
- Megoldható e, hogy az inetd által elindított szkript rendes user environmenttel fusson? (Azaz [xkg]dm nélkül megtörténjen a rendes user beléptetés.)
- Miért "fagy be" a gnome logout?
- Hogyan oldható meg, hogy a gnome logout után újra be lehessen lépni VNC -n?
Minden segítséget előre is köszönök!
Frissítés:
Bsh útmutatása alapján megoldódott a probléma. Miután feltettem az Xdm -et, kis konfigurálgatással sikerült rávenni, hogy beszéljen az Xvnc -vel. Sajnos az Xvnc jelszó kérését is meg kellett hagyjam, mert ha a kliens újracsatlakozik egy korábban indított munkamenethez, másként nincs jelszavas védelem. Hátulütő, hogy új munkamenet indításakor így 2x kell jelszót megadni. Lehet ezt később valamilyen initszkriptes kavarással áthidalom.
Azért virtuális gépen futok meg egy kört majd az LTSP -vel és az XRDP -vel is.
Mindenkinek köszönöm a segítséget!