chribu
Goto Top

VNC Session schließt sich nicht komplett

Hallo,

ich habe eben den VNC-Server auf meinem Fedora Core 8 Server
konfiguriert und erfolgreich gestartet.

Jetzt habe ich aber folgendes Problem?!:

Immer wenn ich die geöffnete VNC-Session schließen möchte (Usersitzung beenden...),

bleibt das VNC-Fenster zum Schluss schwarz und es passiert garnichts mehr!
Ich kann mich dann auch nicht mehr einloggen, sodass ich erst den VNC-Server restarten muss,
um mich nocheinmal anzumelden.

Kennt jemand von euch das Problem? WIe kann ich es wohl beheben? ;-$

Gruß

Chribu

Content-Key: 83023

Url: https://administrator.de/contentid/83023

Printed on: April 23, 2024 at 19:04 o'clock

Mitglied: 27688
27688 Mar 13, 2008 at 09:38:35 (UTC)
Goto Top
Immer wenn ich die geöffnete
VNC-Session schließen möchte
(Usersitzung beenden...),

bin mit dem Ausdruck "Usersitzung beenden" nicht vertraut. tust du dich am desktop "abmelden" also ein LOGOUT machen oder "trennst" du dich mit deinem VNC client nur vom VNC Server (vncviewer schließen) ?

hab neulich was zu dem thema gelesen das es fälle gibt in welchen der display-manager (kdm/xdm) den X-Server nach einer sitzung nicht mehr neu startet..wenn ich jetzt noch wüsste wo das war.

das könnte jedenfalls mit dem vnc-server zusammenhängen den du verwendest. es gibt vnc-server die stellen einen eigenen X-Server dar. d.h. du verbindest dich mit vncclient darauf und bekommst einen eigenen anmeldebildschirm und desktop parallel bzw autonom von deinem "lokalen" desktop.

andere vncserver hingegen verbinden dich DIREKT auf die aktive grafische oberfläche deines lokalen desktops. so das dein vncclient und die lokale konsole den gleichen desktop bewirtschaften.

welchen vncserver verwendest du denn gerade?
und war dieser bei Fedora Core 8 Server schon mit dabei oder hast du den nachinstalliert?
Member: Chribu
Chribu Mar 13, 2008 at 10:42:43 (UTC)
Goto Top
Hallo Axel,

bin mit dem Ausdruck "Usersitzung beenden" nicht vertraut. tust du dich am desktop
"abmelden"
also ein LOGOUT machen oder "trennst" du dich mit deinem VNC client nur vom VNC Server
(vncviewer schließen) ?


Ich versuche mich am Desktop abzumelden, was auch eigentlich funktioniert (bis zum genannten schwarzen Bildschirm) und dann muss ich das Fenster schließen, um den VNC-Viewer zu beenden!


welchen vncserver verwendest du denn gerade?
und war dieser bei Fedora Core 8 Server schon mit dabei oder hast du den nachinstalliert?

Ich benutze XVnc, der schon bei der Fedora 8 Distri implementiert war.

Hier einmal meine XVnc-Settings:

/etc/sysconfig/vncservers:


VNCSERVERS="1:user"
VNCSERVERARGS[1]="-geometry 1024x768 -depth 24"


/home/user/.vnc/xstartup:


[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
startkde &


Muss ich vielleicht die configs ändern?

Gruß

Chribu
Mitglied: 27688
27688 Mar 13, 2008 at 11:38:21 (UTC)
Goto Top
Ich versuche mich am Desktop abzumelden, was
auch eigentlich funktioniert (bis zum
genannten schwarzen Bildschirm) und dann muss
ich das Fenster schließen, um den
VNC-Viewer zu beenden!

ok. d.h. du beendest die aktuelle X-Sitzung und der aktuelle X-Server stirbt darauf hin. soweit sogut.

ich kenne mich mit fedora nicht aus. aber wenn ich in diese konfig files sehe sieht es für mich so aus als wäre das eine VNCServer installation des typs 2 ( vnc user verbindet sich DIREKT mit der grafischen oberfläche der lokalen console (Display 0face-smile). denn es tauchen benutzernamen auf und konfigurationsdateien welche sich direkt im homedirectory des benutzers befinden.

d.h. ich vermute daher dass diese konfig nicht einen "terminalserver" (multiuser) darstellen soll, sondern dass es einem benutzer der gerade an der grafischen konsole angemeldet ist ermöglicht werden soll das ihm jemand von aussen helfen kann und sich direkt auf seinen bildschirm aufschalten soll. kann das sein ?

kannst du von einem zweiten PC daneben per VNC auf die machine zugreifen und den desktop (display 0face-smile des PC1 beobachten ? dann teste mal bitte folgendes_

1. PC1 neu starten (frisch gebootet) und NICHT anmelden!!
2. an PC2 versuchen per VNC auf PC1 zuzugreifen. geht das? was siehst du ?
3. Siehst du parallel dazu auf PC1 (VNC Server) das sich die Maus bewegt wenn du damit auf PC2 herumspielst ? bzw kannst du das Anmeldefenster verchieben und siehst das auf beiden PCs ?
4. melde dich per VNC oder lokal an PC1 mit dem benutzer "user" an. erhälst du einen Desktop mit startmenü und allem was man so erwartet ?
5. melde dich von PC1 ab (logout) egal ob lokal oder per vnc. es erscheint auf der VNC-Client seite der schwarze bildschirm , ja ?
6. Was siehst du nun hingegen auf dem PC1 auf der lokalen grafischen Console ? wieder den Anmeldebildschirm ?
7. trenne auf PC2 die VNC verbindung (vnc viewer schließen) und starte die VNC verbindung neu. klappt das ohne fehlermeldung ? erscheint wieder nur der schwarze bildschirm ?
8. trenne de VNC verbindung von PC2 wieder.
9. melde dich an PC1 lokal an der grafischen console an mit dem benutzer user. alles noch ok auf dieser seite?
10. versuche jetzt nochmal von PC2 aus eine VNC sitzung zu starten. geht das wieder? oder immernoch schwarzer bildschirm?


>
> welchen vncserver verwendest du denn
gerade?
> und war dieser bei Fedora Core 8 Server
schon mit dabei oder hast du den
nachinstalliert?
>
Ich benutze XVnc, der schon bei der Fedora 8
Distri implementiert war.

ok.

ich vermute im augenblick folgendes problem:
- ich glaube dass deine server-kiste nicht als VNC-Terminalserver konfiguriert ist, sondern nur so das er immer nur auf den aktuellen localen bildschirm geschaltet werden soll. d.h. display 0:
nun..nach einem logout beenden sich üblicherweise alle X-Anwendungen und der displaymanager (xdm/kdm/gdm oder was auch immer) lässt den aktuellen X-Server sterben und starten diesen anschließend direkt wieder neu. auf der lokalen console erscheint nach einem kurzen flackern somit sofort wieder der anmeldebildschirm von xdm/kdm/gdm. aber... der vnc-server läuft im hintergrund vermutlich noch immer und wurde NICHT neu gestartet. die Verbindung zwischen VNC-Server und X-Server besteht inzw. jedoch nicht mehr. also schwarzer bildschirm.

ich schätze, sobald du auch den vnc-server neu gestartet hast kannst du dich wieder wie gewohnt darauf verbinden, stimmt das?


es besteht noch eine letzte möglichkein. alles was ich vermute oder gesagt habe ist bullshit denn ich habe davon überhaupt keine ahnung face-smile
Member: Chribu
Chribu Mar 13, 2008 at 11:53:29 (UTC)
Goto Top
Hi Axel,

also das einzige was hier zu meinem Problem passt ist folgendes:

ich schätze, sobald du auch den vnc-server neu gestartet hast kannst du dich wieder wie gewohnt > darauf verbinden, stimmt das?


face-wink

Jo, das stimmt! Mein VNC ist so konfiguriert, dass der Viewer nicht den aktuellen (lokalen) Bildschirm "steuern" kann sondern sich eine eigene X-Session aufbaut!
D.h. dass am lokalen Desktop (am entfernten Server) nichts zu sehen ist, außer der Loginseite!

Es muss also etwas anderes sein! Ich schätze, dass in den beiden config-files irgendetwas falsch ist bzw. fehlt!

Gruß

Chribu

PS: Habe erstmal Mittag gemacht ;D
Mitglied: 27688
27688 Mar 13, 2008 at 13:12:10 (UTC)
Goto Top
habe etwas recherchiert. demnach liege ich falsch mit typ 2. unter fedora scheint es noch einen typ 3 zu geben face-smile nämlich fest vorkonfigurierte vnc-x-server. für jeden möglichen benutzer einen eigenen (virtuellen) x-server (VNC Server). in deinem fall wird auf port 5901 ein vnc-server (x-server) für den benutzer "user" gestartet, dessen konfigurationsdateien dann auch aus seinem home geladen werden. dieser server läuft unabhängig vom lokalen bildschirm display:0 und ist nicht mit diesem verbunden.

wir haben es also hier mit einem unabhängigen xserver zu tun. dieser wird bei dir an irgend einer stelle automatisch gestartet. z.b. beim booten der kiste. über die konfigurationsdateien unter /home/user steuerst du welche X-anwendungen mit dem server gleich mitgestartet werden sollen. darunter auch kde (startkde). soweit sogut.

aber nun kommt der punkt an dem du dich abmeldest. die anwendungen sterben, und auch der windowsmanager stirbt. zurück bleibt ein vnc-server (x-server) ohne inhalt.

normalerweise startet der display-manager den x-server neu wenn die session beendet wird. aber nur dann wenn der display-manager den xserver auch vorher selbst gestartet hatte.

hier stellt sich mir also die frage, wer hat den diesen xserver gestartet? ein eigenes startscript ? der kdm ?
warum wird der xserver nach der session nicht automatisch neu gestartet? danach solltest du mal suchen.
Member: Chribu
Chribu Mar 13, 2008 at 13:32:21 (UTC)
Goto Top
Hi Axel,

gut recherchiert face-wink

Genau so wollte ich ja auch meinen VNC-Server iengerichtet haben!
Funktioniert ja auch zu 95% face-wink

Habe die xstartup-Datei extra noch editiert, damit er mir den KDE-Desktop anstatt den alten twm..
mit "startkde &"

Das funktioniert ja auch soweit, aber der "leere" X-Server bleibt halt...

Frage schon die ganze Zeit Hr. Google ;P

Mal sehen, ob ich noch was passendes herausfinde!

Gruß

Chribu
Mitglied: 27688
27688 Mar 13, 2008 at 14:05:11 (UTC)
Goto Top
Habe die xstartup-Datei extra noch editiert,
damit er mir den KDE-Desktop anstatt den
alten twm..
mit "startkde &"

es ist noch nicht geklärt wer bzw was den xserver (vnc-server) bei dir startet.
mach mal ein

pstree -clnpuaA <<<<<<<< EDITED

und suche nach dem bzw den vnc servern. dort solltest du sehen was der vaterprozess ist. das könnte ein anhaltspunkt sein für die weitere suche. falls das einfügen hier im forum probleme macht kannst du z.b. http://pastebin.com/ verwenden und den link posten.
Member: Chribu
Chribu Mar 13, 2008 at 14:20:26 (UTC)
Goto Top
Hier die Ausgabe:

€dit: Gelöscht, damit der Thread übersichtlich bleibt! face-wink

Gruß

Chribu
Mitglied: 27688
27688 Mar 13, 2008 at 14:33:27 (UTC)
Goto Top
ich habs befürchtet. versuche bitte nochmal "pstree -clnpuaA"
die ausgabe ist unbrauchbar. ggf. pastebin.com nutzen. dann sollte es lesbar sein.
Member: Chribu
Chribu Mar 13, 2008 at 16:28:55 (UTC)
Goto Top
Hi Axel,

bin shcon wieder zu Hause!

Ich probier das gleich morgen früh aus face-wink

Danke schon jetzt!

Gruß

Chribu
Member: Chribu
Chribu Mar 14, 2008 at 06:29:09 (UTC)
Goto Top
Hi Axel,

hier die gewünschte Ausgabe:

http://pastebin.com/d790e9abd

Gruß

Chribu

PS:

Bei diesem "Prozessstatus, kann ich mich zwar per VNC einloggen, bekomme aber wieder nur einen schwarzen Bildschirm (eine noch nciht ganz geschlossene VNC-Connection?!) zu sehen!

Jetzt müsste ich erst wieder den Prozess killen oder per "service vncserver restart" den VNC-Server neustarten, um mich erneut einzuloggen!
Mitglied: 27688
27688 Mar 14, 2008 at 07:33:59 (UTC)
Goto Top
Hi Axel,

hier die gewünschte Ausgabe:

http://pastebin.com/d790e9abd

zeile 141 |-Xvnc,14844,user :1 zeigt mir das dein VNC server irgendwo per init script und nicht vom GDM gestartet wird. d.h. weil er nicht von GDM gestartet wurde kann GDM diesen prozess auch nicht selbsttätig neu starten.

oder anders gesagt... in dieser konfiguration geht es ohne eigenes zutun nicht anders. d.h. du musst dir die startscripte deines xvnc mal durchsehen und schauen wo du eine "neustart" funktion einbauen kannst damit nach einem logout dein xvnc automatisch neu gestartet wird.

fazit: dieses phänomen ist also kein ungewollter Fehler sondern ein..wie Microsoft sich mir gegenüber schonmal ausgedrückt hat. Dies ist ein "Feature by Design". Eine nicht geplante/nicht umgesetzte Funktionalität.

Ich habe dazu Gestern noch kurz mit Tim Waugh über dein Problem gesprochen. Das is einer der Gurus bei RedHat. Er hat u.a. zwei Artikel zum Thema VNC auf RH Servern geschrieben und kennt sich damit ziemlich gut aus.

Nun rate mal was er gesagt hat....

Zitat in eigener Übersetzung:
"Warum logt er sich denn überhaupt aus?! Wenn du den VNC Service nutzen willst logge dich NICHT aus so lange du nicht den Dienst anschließend neustarten willst."

Original:
" Why does he log out? If you are using the VNC service, don't log out until you are going to
stop or restart the service."

Gemeint ist: Nur VNC Verbindung trennen, nicht ausloggen! dann kannst du immer wieder auf den desktop verbinden.

Das was du wolltest geht z.b. dann wenn du den VNC Server (X-Server) vom GDM starten lässt oder du eben dir selbst etwas strickst damit er nach dem logout den vnc server neu startet.
erstere version mit dem gdm hab ich bei mir unter debian 4 so aufgebaut.

viel erfolg bei der Suche/Anpassung des Startscriptes!
Member: Chribu
Chribu Mar 14, 2008 at 10:15:33 (UTC)
Goto Top
Hallo Axel,

danke für deinen super Einsatz!

Ich werde mal schauen, wie ich dieses Problem in den Griff bekomme!

Zitat in eigener Übersetzung:
"Warum logt er sich denn überhaupt aus?! Wenn du den VNC Service nutzen willst logge dich
NICHT aus so lange du nicht den Dienst anschließend neustarten willst."


Ich möchte eigentlich nicht, dass die Session von dem user immer auf ist! Muss ja nicht unbedingt sein!

Also müsste ich doch jetzt das xstartup-Script so verändern, dass er das per GDM (Gnome Desktop Manager?? nicht KDE??) ausführt oder?

Dann muss ich erstmal ein bisschen recherchieren! face-wink

Danke nochmal für dein super Engagement!

Gruß

Chribu
Mitglied: 27688
27688 Mar 14, 2008 at 12:38:17 (UTC)
Goto Top
Ich möchte eigentlich nicht, dass die
Session von dem user immer auf ist! Muss ja
nicht unbedingt sein!

ich kann das nachvollziehen. Doch so wie RedHat das angedacht hat ist dies ohne zutun nicht möglich. die denken da wohl anders.


Also müsste ich doch jetzt das
xstartup-Script so verändern, dass er
das per GDM (Gnome Desktop Manager?? nicht
KDE??) ausführt oder?

gdm ist nur der display-manager von gnome. unter kde gibts das auch. heisst dann kdm. der is zuständig für das starten und verwalten deiner X-Server. normalerweise hat eine einfache linux box erst mal nur einen einzigen x-server. den lokalen für die grafische oberfläche. wenn man will kann man abrer kdm/gdm/xdm so konfigurieren das dieser mehrere xserver startet und verwaltet. z.b. mehrere grafikkarten oder mehrere virtuelle x-server wie z.B. einen vnc-server. das is aber ein anderes prinzip.

aber wenn du das RedHat prinzip beibehalten willst brauchst du das alles nicht. dann such lieber auf deiner kiste den punkt/das script das deinen xvnc server startet und schau nach ob du dort dafür sorgen kannst dass er anschließend automatisch neu startet. das is ganz unabhängig von gdm/kdm/xdm.


Dann muss ich erstmal ein bisschen
recherchieren! face-wink

auf jeden Fall von vorteil!
ich würd mal bei /etc/init.d/xvnc anfangen wenns das gibt.