(Gelöst) VNC-Verbindung dauerhaft halten

Status
Für weitere Antworten geschlossen.

angelodi

New Member
Hallo,

ich habe Suse 9.3 Prof. auf einem dedicated Root Server im Internet und dabei ein Problem, wenn ich mich mit VNC verbinde und hoffe ihr könnt mir weiterhelfen.

Und zwar wenn ich mich mit einer VNC-Verbindung zu dem PC verbunden habe, dann bekomme ich den Login-Screen au fmeinem Server angezeigt und kann mich einloggen, sehe meinen Desktop und kann darauf arbeiten..als Beispiel sei dargestellt das ich gerade an einem Brief schreibe..soweit sogut:)

Bricht aber die Verbindung aus irgendeinem Grund ab und ich stelle sie anschliessend wieder her, dann hätte ich erwarte das ich jetzt wieder meinen Desktop sehe wie zuletzt verlassen, also direkt an meinem Brief weiterschreiben kann.

Aber stattdessen sehe ich wieder den Login-Screen und werde wieder komplett neu eingeloogt unter einer neuen Desktop-Umgebung. Meine zuvor gestarteten Anwendungen und natuerlich der Brief den ich tippen wollte (und noch nicht gespeichert habe) sind komplett weg. Ich kann auch nicht zu einem anderen Deskop wechseln...da ist nix mehr.

Was kann ich tun, damit nach Abbruch einer VNC-Verbindung ich wieder zu meinem zuletzt offenen Desktop per VNC zurückfinde?

Hoffe jemand hat da eine passende Idee:)

LG Angelo
 

NeroZero

Member
AW: VNC-Verbindung dauerhaft halten

warum brechen Verbindungen ab? Entweder, der Server oder du haben Inaktivity... Kann es sein, dass der Server nur eine MaxDauer erlaubt? Kann man nicht auch die VNC Pingen?? (Frage an andere..)
 

cm

Administrator
Teammitglied
AW: VNC-Verbindung dauerhaft halten

Nochmal , du hast ein Server der irgendwo in einem Rechenzentrum steht und dieser hat auch eine feste ip ?

Du hast auf dem Server eine Desktopumgebung installiert ?
Sorry, aber das verstehe ich beim besten willen nicht !
Wieso schreibst du nicht einfach den Brief auf deinen rechner und lädst ihn dann hoch ?
 

angelodi

New Member
AW: VNC-Verbindung dauerhaft halten

hmm...sorry wenn ich mich vielleicht unverständlich ausgedrückt habe, das mit dem Brief war ein Beispiel (hmm..eigentlich hab ich das ja auch geschrieben...), dass das eigentliche Problem verdeutlichen sollte.

...es geht nicht darum einen Brief zu schreiben oder wieso es einen oder mehrere Verbindungsabbrüche gibt...letztere gibt es halt...doch diese Frage will ich an dieser Stelle gar nicht lösen.

Nur nochmal um es klar zu machen...nicht das es Verbindungsabbrüche gibt ist das Problem und auch nicht das ich einen Brief schreiben will! Ich will nur, wenn ich den Server in irgendeinem Zustand verlassen habe, sei es weil ich die VNC-Verbindung beendet habe oder weil sie abbrach, das ich mich nach erneuten verbinden es benötige, dass der Desktop inkl. aller von mir gestarteten Programme und Dokumente eben so wieder vor mir erscheint.

Doch leider ist es so, dass dies eben nicht der Fall ist. Beende ich die VNC-Verbindung oder bricht sie aus welchem Grund auch immer ab und ich baue die Verbindung wieder auf, dann sehe ich den Loginscreen, gebe meine Zugangsdaten ein und die KDE startet neu hoch......und das ist falsch! Es hätte der alte Stand erscheinen müssen, so wie ich es zurückgelassen habe...das ist es, was ich benötige. Weiss jemand wo und wie ich das zu parametrieen habe, damit das so funktioniert wie ich es brauche?

Wenn ich mich mittels Putty nur auf die Konsole per SSH verbinde und dort z.B. den MC starte und die Verbindung aus welchem Grund auch immer mal unterbrochen wird und ich sie dann neu starte, dann sehe ich anschliessend auch wieder den alten Stand..nämlich die Konsole mit gestartetem MC.
Und genauso hätte ich es gerne mit der VNC-Verbindung auch.

Hoffe es ist jetzt klarer geworden und jemand kann mir weiterhelfen:)

LG Angelo

P.S. Nur damit verstanden wird, welchen Sinn es macht eine Desktopumgebung auf dem Server zu haben der beim Hoster im Internet steht.
Ich bin Angestellter und habe nebenbei eine Firma. In der Mittagspause und wenn ich im Urlaub bin, muss ich mich ab und zu um meine Nebenfirma kümmern und Dinge erledigen und dazu habe ich Programme die ich auf meinem Firmenrechner (wo ich Angestellter bin) nicht verwenden darf und da ich aber nicht immer warten kann bis ich nach Hause komme...logge ich mich halt in diese Desktopumgebung ein und erledige es dort. Lieber Admin, Du siehst, es gibt durchaus Anwendungsfälle wo es also Sinn macht...wieder was gelernt..gelle:) Ich gebe dir aber recht, das es ansonsten nur schwer nachzuvollziehen ist, aber diesen Fall gibt es nun einmal:)
 

NeroZero

Member
AW: VNC-Verbindung dauerhaft halten

Mal blöd andersherum gefragt! Woher weisst du nicht, dass sich KDE hier normal verhält und nicht komisch?! Will heissen vielleicht hat deine KDE version nicht solche FUnktionen, kann das sein?!
 

angelodi

New Member
AW: VNC-Verbindung dauerhaft halten

NeroZero schrieb:
Mal blöd andersherum gefragt! Woher weisst du nicht, dass sich KDE hier normal verhält und nicht komisch?! Will heissen vielleicht hat deine KDE version nicht solche FUnktionen, kann das sein?!
..hmm...ehrlich gesagt..keine Ahnung...ist das so das dies abhaengig ist von der KDE? Das ist es ja eben...ich weiss nicht wieso das so ist und wo ich das umstellen kann. Aber immerhin ist es mal ein Ansatzpunkt...ich schau mal, ob ich in der Richtung Infos finde per KDE Onlinehilfe oder google.

Hmm...hätte nicht gedacht, das ich offenbar der erste mit einem solchen Problem bin...aber scheint mir fast so....naja...vielleicht findet sich ja noch derjenige der das ganze durchschaut und den richtigen Tipp hat....auf alle Fälle mal bis dahin Danke!

LG Angelo
 

angelodi

New Member
AW: VNC-Verbindung dauerhaft halten

Ok....ich habe einen Loesungsansatz gefunden der auch genau beschreibt was passiert...entscheidend ist, das bei mir per Default "nowait" gesetzt war:)

Mehr siehe hier (http://www.realvnc.com/products/enterprise/4.1/man/Xvnc.html) oder den entscheidenden Textauszug nachfolgend:

****
USAGE WITH INETD
By configuring the inetd(1) service appropriately, Xvnc can be launched on demand when a connection comes in, rather than having to be started manually. When given the -inetd option, instead of listening for TCP connections on a given port it uses its standard input and standard output. There are two modes controlled by the wait/nowait entry in the inetd.conf file. Note that wait mode is only supported by inetd on some platforms.

In the nowait mode, Xvnc uses its standard input and output directly as the connection to a viewer. It never has a listening socket, so cannot accept further connections from viewers (it can however connect out to listening viewers by use of the vncconfig program). Further viewer connections to the same TCP port result in inetd spawning off a new Xvnc to deal with each connection. When the connection to the viewer dies, the Xvnc and any associated X clients die. This behaviour is most useful when combined with the XDMCP options -query and -once. An typical example in inetd.conf might be (all on one line):

5950 stream tcp nowait nobody /usr/local/bin/Xvnc Xvnc -inetd -query localhost -once securitytypes=none

In this example a viewer connection to :50 will result in a new Xvnc for that connection which should display the standard XDM login screen on that machine. Because the user needs to login via XDM, it is usually OK to accept connections without a VNC password in this case.

Note that on Solaris 2.6, 7 and 8 there is a bug in the dtlogin program which provides the login window via XDMCP. To work around this give the option "-nolisten named" to Xvnc as well. Also on Solaris because of a limitation in the number of command-line arguments supported by inetd you will probably need to write a wrapper script to launch Xvnc.

In the wait mode, when the first connection comes in, inetd gives the listening socket to Xvnc. This means that for a given TCP port, there is only ever one Xvnc at a time. Further viewer connections to the same port are accepted by the same Xvnc in the normal way. Even when the original connection is broken, the Xvnc will continue to run. If this is used with the XDMCP options -query and -once, the Xvnc and associated X clients will die when the user logs out of the X session in the normal way. It is important to use a VNC password in this case. A typical entry in inetd.conf might be:

5951 stream tcp wait james /usr/local/bin/Xvnc Xvnc -inetd -query localhost -once passwordFile=/home/james/.vnc/passwd

In fact typically, you would have one entry for each user who uses VNC regularly, each of whom has their own dedicated TCP port which they use. In this example, when user "james" connects to :51, he enters his VNC password, then gets the XDM login screen where he logs in in the normal way. However, unlike the previous example, if he disconnects, the session remains persistent, and when he reconnects he will get the same session back again. When he logs out of the X session, the Xvnc will die, but of course a new one will be created automatically the next time he connects.
****

Es beschreibt also klar, das im Normalfall jede VNC-Session wieder alle gestarteten Programm usw. schliesst und die Session beendet wird (non persistent).

Will man dagegen eine persistente Sitzung haben (die ich ja genau will und brauche), dann muss man entsprechend en "wait" Parameter usw. setzen.

Mein erster Versuch dazu ist allerdings gescheitert....es kam keine VNC-Verbindung mehr zustande als ich den Parameter gesetzt hatte und den Rechner neu hochgefahren habe damit die Einstellungen wirksam werden.

Ich gebe Bescheid, sobald es mir gelungen ist.

LG Angelo

P.S. Damit der KDE-Loginscreen uberhaupt erscheint, habe ich im Runleveleditor den Start der KDE auf 3 gesetzt.
 

NeroZero

Member
AW: VNC-Verbindung dauerhaft halten

Sehr gut! Endlich hast du die Lösung gefunden!!! Dachte mir doch, dass es irgendwo ein Timeout war.. Und nun ist es der "Timer" auf deiner Seite ...
 

angelodi

New Member
AW: VNC-Verbindung dauerhaft halten

NeroZero schrieb:
Sehr gut! Endlich hast du die Lösung gefunden!!! Dachte mir doch, dass es irgendwo ein Timeout war.. Und nun ist es der "Timer" auf deiner Seite ...
...hmm..leider Nein, das ganze klappt nicht:) Ich habe auch Kommentare gefunden die schreiben, das es so mit xinetd.d gar nicht gehen wird.....es sind damit nur die Sessions möglich die sich nach beenden der Verbindung (wie auch immer die beendet wird, also auch wenn sie mal nur kurz unterbrochen wird) vollständig auflösen, sprich alle in der Sessions gestarteten Programme wieder beenden.

Aber..ich habe DIE Lösung nun gefunden:)

http://www.linux-club.de/viewtopic.php?t=1480&highlight=vnc

Hier ist am Ende ein Script beschrieben das man sofort nutzen kann, man muss darin nur den USER anpassen den man verwenden will und schon klappt das ganze.

Hat man allerdings wie ich vorher schon VNC-Zugriff über YAST\Netzwerkdienste\Administration von einem entfernten Rechner aktiviert, so muss man dies dort wieder rückgängig machen..sonst gibt es einen Konflikt und das Skript kann nicht arbeiten.
Und auch den Rechner neu starten (bzw. es langt natürlich auch nur die Dienste neu zu starten die es betrifft).

Dann mit dem User im Terminal einloggen und mittels: sh vnc start das ganze starten. Automatisieren kann man das ganze (soadd es nach dem booten zur Verfügung steht) mittles (als root user): sh chkconfig vnc on

Und noch eine Info: Im HOME-Verzeichnis des Users den man als VNC-User deklariert hat, sollte man mal das File xstartup überorüfen, das automatisch angelegt wurde.

Hier wird der sehr einfache Windowmanager twm per Default geladen, ich habe den auskommentiert (ein # davor) und stattdessen "startkde &" verwendet.

Die Zeile davor mit "xterm ..." hab ei ch auch auskommentiert.

Das einzige was mir jetzt nicht gefällt ist, dass wenn ich mich mit dem Server verbinde und das VNC-Passwort eingebe, dass dann sofort meine KDE-Oberfläche sichtbar ist.
Ich hätte es lieber, ich hätte den Loginscreen um mich erstmalig einloggen zu können.

Noch ein Tipp: Weil ja jetzt nur noch die eine VNC-Session immer aktiv ist und ihr somit wieder zurückkommen könnt auf den zuletzt verlassenen Zustand, solltet ihr unbedingt den Bildschirmschoner mit Passworteingabe aktivieren...ist ein zus. Schutz.

Weitere Verbesserungen gerne willkommen:)

LG Angelo
 

Rain_Maker

Administrator
Teammitglied
Das sehen wir mit großer Freude...

Ein Fragesteller, der obwohl er Hilfe sucht, sich auch selbst an die Lösung des Problemes macht und die dann SELBST gefundene Lösung auch hier postet.

Chapeau !

Greetz,

RM
 
Status
Für weitere Antworten geschlossen.
Oben