vnc / inetd -- permanente Session ??

Alles rund um die Systemverwaltung, die Administration und Konfiguration Eures Linuxsystems

Moderator: Moderatoren

Gesperrt
Dino
Newbie
Newbie
Beiträge: 3
Registriert: 27. Jan 2004, 07:49

vnc / inetd -- permanente Session ??

Beitrag von Dino » 27. Jan 2004, 22:48

Hallo ich versuche den Vnc-Support, der ab 8.2 enthalten ist so zu konfigurieren, dass die Vnc-Session erhaltenbleibt wenn die Verbindung zum viewer getrennt wird.

Lt XVNC Manual wäre der inetd.conf Eintrag :
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.
Ich habe in der xinetd.d/vnc folgendes eingetragen:

service vnc12
{
socket_type = stream
protocol = tcp
wait = yes
user = dino
server = /usr/X11R6/bin/Xvnc
server_args = :42 -inetd - query localhost -once passwordFile=/home/dino/.vnc/passwd
type = UNLISTED
port = 5912
}

Wenn ich wait = yes auf wait = no stelle bekomme ich einen Connect, aber die Session ist dann wieder tot wenn der Viewer disconnecet. Mit wait = yes beomme ich keinen connect. Der Viewer schliesst sich ohne Kommentar.

Jede Idee ist willkommen .. Danke im Voraus =)

Gruß

-- Dino

Werbung:
Benutzeravatar
basman
Member
Member
Beiträge: 217
Registriert: 4. Jan 2004, 01:08

Permanente vnc-session

Beitrag von basman » 8. Feb 2004, 14:09

Ich starte den vnc server immer von Hand. So läuft er von vornherein bereits ohne verbundenen Client und ich kann mit Clients so oft kommen und gehen wie ich will.

Code: Alles auswählen

vncserver
Will man das ganze schon beim Booten automatisch haben, erstellt man ein Bootscript in /etc/init.d nach dem Vorbild von /etc/init.d/skeleton und aktiviert es per chkconfig oder im Runlevel-Editor von Yast.

Das über den Inetd zu machen scheint mir unnötig.

Gruss basman

Dino
Newbie
Newbie
Beiträge: 3
Registriert: 27. Jan 2004, 07:49

Beitrag von Dino » 12. Feb 2004, 09:06

Hmm und dann bekommt man ne Anmeldemaske beim VNC ?
Und wenn man mehrere Sessions benötigt einfach vncserver :1, vncserver :2 starten ?

Da ich jetzt in der Arbeit bin kann ich es nicht ausprobieren, aber vncserver startet doch aus dem Userhome .vnc/startupx wenn ich das beim Booten mache gibts noch kein Userhome (evt n00b Frage *fg*)

Anyway Danke für die Antwort, ich werde es mal ausprobieren

Gruß
-- Dino

Benutzeravatar
basman
Member
Member
Beiträge: 217
Registriert: 4. Jan 2004, 01:08

vncserver beim Booten starten

Beitrag von basman » 12. Feb 2004, 11:47

Dino hat geschrieben:Hmm und dann bekommt man ne Anmeldemaske beim VNC ?
Nein. Du musst dann beim VNCviewer (Client-Seite) angeben, welchen server und welches display Du erreichen willst.
Dino hat geschrieben: Und wenn man mehrere Sessions benötigt einfach vncserver :1, vncserver :2 starten ?
Einfach ohne argument starten. Er nummeriert dann automatisch hoch.
Dino hat geschrieben:vncserver startet doch aus dem Userhome .vnc/startupx wenn ich das beim Booten mache gibts noch kein Userhome (evt n00b Frage *fg*)
Gute Frage! Also im Startscript nicht nur einfach "vncserver" starten, sondern

Code: Alles auswählen

su - vncuser -c vncserver
Für vncuser setzt Du einen User ein, unter dessen Account vncserver laufen soll und wo er die config files findet.

Gruss basman

robiv8
Newbie
Newbie
Beiträge: 9
Registriert: 8. Feb 2004, 15:50
Wohnort: stuttgart

Beitrag von robiv8 » 12. Feb 2004, 17:19

kann einer mal dieses startscript hier posten damit vnc beim booten automatisch startet.

Danke Robi

Benutzeravatar
basman
Member
Member
Beiträge: 217
Registriert: 4. Jan 2004, 01:08

vncserver startscript für SuSE 9.0

Beitrag von basman » 15. Feb 2004, 11:23

Installation

Das script als root unter /etc/init.d/vnc speichern und per

Code: Alles auswählen

chmod 755 /etc/init.c/vnc
ausführbar machen.

Die Zeile VNCUSER= anpassen!

Zum Testen: /etc/init.d/vnc start
Für die permanente Aktivierung: chkconfig vnc on

Script /etc/init.d/vnc

Code: Alles auswählen

#! /bin/sh
### BEGIN INIT INFO
# Provides:          vnc
# Required-Start:    $network $remote_fs
# Required-Stop:     $network $remote_fs
# Default-Start:     3 5
# Default-Stop:      0 1 2 6
# Short-Description: vncserver
# Description:       Start vncserver providing remote vnc sessions
### END INIT INFO

# Check for missing binaries (stale symlinks should not happen)
VNCSERVER_BIN=/usr/X11R6/bin/vncserver
test -x $VNCSERVER_BIN || { echo "$VNCSERVER_BIN not installed"; exit 5; }

# vncserver runs as this user
VNCUSER=herbert

. /etc/rc.status

# Reset status of this service
rc_reset

case "$1" in
    start)
        echo -n "Starting vncserver "
        #startproc -u $VNCUSER $VNCSERVER_BIN
        su - $VNCUSER -c "$VNCSERVER_BIN :1"
        rc_status -v
        ;;
    stop)
        echo -n "Shutting down vncserver "
        #killproc -TERM $VNCSERVER_BIN
        su - $VNCUSER -c "$VNCSERVER_BIN -kill :1"
        rc_status -v
        ;;
    restart)
        $0 stop
        $0 start
        rc_status
        ;;
    status)
        echo -n "Checking for service vncserver "
        checkproc $VNCSERVER_BIN
        rc_status -v
        ;;
    *)
        echo "Usage: $0 {start|stop|status}"
        exit 1
        ;;
esac
rc_exit

Dino
Newbie
Newbie
Beiträge: 3
Registriert: 27. Jan 2004, 07:49

Beitrag von Dino » 15. Mär 2004, 15:28

Danke :) ... ich Probiers am Wochenende aus !!

Die letzten Wochen hatte ich leider keine Zeut für das Hobby :?

Gruß
-- Dino

dalex
Newbie
Newbie
Beiträge: 1
Registriert: 5. Aug 2004, 18:46
Wohnort: Augsburg

Beitrag von dalex » 18. Aug 2004, 08:40

Cooles Script.
Aber wie kann ich die Parameter -depth 16 -geometry 1024x768 mit übergeben. In dem Startscript oder der .xstartup im Verzeichniss .vnc im Homeverzeichniss?
Ach ja, bei mir wird dann kde gestartet. Wie sieht dann die Befehlzeile in der .xstartup aus?

Gruß dalex

MrEasy

Beitrag von MrEasy » 19. Aug 2004, 10:31

hi,

ich habe exakt das gleiche Problem wie Dino in seinem ersten Post.
Der andere Weg über das Startskript ist ok, aber gibt es auch eine Möglichkeit, das in der xinetd.d/vnc so zu konfigurieren, dass bei wait=yes ein connect möglich ist?

gruß

Gesperrt

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste