• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

VNC unter Mandriva

id3pr

Newbie
Hoi!

Son VncServer unter Mandriva zu starten ist ja prinzipiell genauso wie bei allen anderen Linux Versionen auch.
Das Prob ist: Ich hab bis jetzt keine brauchbare Variante gefunden VNC automatisch nach dem booten mitstarten zu lassen.
Hat jemand das schonmal unter Mandriva gemacht und kann mir weiterhelten?
 

rolle

Guru
Was soll diese VNC-Variante denn leisten? Freigabe des aktuellen Desktops der angemeldeten Nutzerin, Freigabe eines neuen Desktops der aktuellen Nutzerin oder Freige einer Anmeldeaufforderung für beliebige Nutzerinnen?
 
OP
I

id3pr

Newbie
Es sollte ein neuer Desktop gezeigt werden .. der aktuellen Nutzerin. ;-)
Also nicht diese Echtzeit-Geschichte, die sehr ruckelt.
 

rolle

Guru
Dann starte einen VNC-Server über die .profile der jeweiligen Nutzerin. Diese Satei wird bei jedem Anmelden automatisch abgearbeitet.
 
OP
I

id3pr

Newbie
Okay.. will ich gerne tun, aber wo finde ich diese ".profile"? Kann es sein, dass diese Datei nur bei Suse existiert? Ich benutz ja Mandriva :-/
btw: Wie schreib ich das da am geschicktesten rein? Als ich das letzte mal "vncserver" in eine Datei reingeschrieben habe, hat der PC nicht einen sondern uendlich viele Server gestartet .. und zwar so lange bis sich endgültig alles aufgehängt hat :)

edit// Ich hab mal nach ".profile" gesucht. Sowas gibts bei mir unter Mandriva wirklich nicht. :-/
 
OP
I

id3pr

Newbie
Ich weiß :)
Aber wenn in der Konsole "find / "*.profile*"" eingebe .. sollte er auch versteckte Datein finden..
 

zero0109

Hacker
Hmm wenn es die nicht gibt, dann könntest du es auch mal mit der .bashrc im Homeverzeichnis des jeweiligen Nutzers versuchen.
 

rolle

Guru
Die Sache mit der .bashrc hat einen Haken. Bei dieser Lösung versucht Linux bei jedem Öffnen einer Shell, den VNC zu starten.
 
OP
I

id3pr

Newbie
Richtig.. das hab ich auch festgestellt. Das geht ja nicht klar..

Also, ich hab mich mal n bissi informiert. Angeblich soll man VNC starten können, wenn man "init.d" erklärt, dass ein "rc-script" von vncserver mitgestartet werden soll.
Ich hab echt keine Ahnung vom scripten aber ich habs dennoch mal probiert .. und hatte es auch soweit, das der vncserver beim hochfahren gestartet werden wollte.. aber hat trotzdem nicht gefunzt.
Wenn ich das richtig seh, braucht vncserver eine grafische Oberfläche.. aber .. öh .. ich hab keine idee, wie das gehn soll.
Weil .. init.d wird vorm einloggen in grafische Oberfläche abgearbeitet?! Muss man das nicht irgendwie .. zu xinet.d .. oder so .. ... hilfe! :)
 

rolle

Guru
Der Standalone-VNC-Server braucht keine grafische Oberfläche, er bringt sie selber mit. Deshalb kann man ihn ja auch direkt im Runlevel 3 starten. Das Problem mit dem Initscript dürfte sein, daß Du ihm die Nutzerin mitgeben mußt, unter deren Namen der Server gestartet werden soll. Ansonsten dürfte das wohl standardmäßig root sein. Eine Lösung habe ich leider nicht, an dem Punkt bin ich selber schon mal gescheitert nach allerdings zugegebenermaßen relativ unmotivierter Fehlersuche. Eine Lösung fände ich also interessant. Hierzu wären die entsprechenden Ausgaben der /var/log/messages und der /var/log/boot.msg interessant.
Falls alles nicht klappen sollte, kann ich Dir nur noch zu FreeNX raten. Das hat dann allerdings andere Vor- und Nachteile.
 
OP
I

id3pr

Newbie
Okay, ich hab die Lösung. Dank einem unendlich schlauen User von "mandrivauser.de" ;-)

0) Allg: Man muss als erstes normal einen Vncserver über die Konsole starten und ein Passwort festlegen. Dann den vncserver wieder schließen.

1) Man schreibe sich ein Skript (einfach folgenden Quelltext in eine leere Datei kopieren und sie "vncserver" nennen)

Quelltext:
-------------
#!/bin/bash
#
# chkconfig: - 91 35
# description: Starts and stops vncserver. \
# used to provide remote X administration services.

# Source function library.
. /etc/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

VNCSERVERS=""
[ -f /etc/sysconfig/vncservers ] && . /etc/sysconfig/vncservers

prog=$"VNC server"

start() {
echo -n $"Starting $prog: "
ulimit -S -c 0 >/dev/null 2>&1
RETVAL=0
for display in ${VNCSERVERS}
do
echo -n "${display} "
unset BASH_ENV ENV
initlog $INITLOG_ARGS -c \
"su ${display##*:} -l -c \"cd ~${display##*:} && [ -f .vnc/passwd ] && vncserver :${display%%:*}\""
RETVAL=$?
[ "$RETVAL" -ne 0 ] && break
done
[ "$RETVAL" -eq 0 ] && success $"vncserver startup" || \
failure $"vncserver start"
echo
[ "$RETVAL" -eq 0 ] && touch /var/lock/subsys/vncserver
}

stop() {
echo -n $"Shutting down $prog: "
for display in ${VNCSERVERS}
do
echo -n "${display} "
unset BASH_ENV ENV
initlog $INITLOG_ARGS -c \
"su ${display##*:} -c \"vncserver -kill :${display%%:*}\" >/dev/null 2>&1"
done
RETVAL=$?
[ "$RETVAL" -eq 0 ] && success $"vncserver shutdown" || \
failure $"vncserver shutdown"
echo
[ "$RETVAL" -eq 0 ] && rm -f /var/lock/subsys/vncserver
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
sleep 1
start
;;
condrestart)
if [ -f /var/lock/subsys/vncserver ]; then
stop
start
fi
;;
status)
status Xvnc
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|status}"
exit 1
esac
-----------------------------------------------------------------------------------

2) diese Datei speichert man im Verzeichnis "/etc/init.d/"

3) die Datei, genauergesagt das Script, muss ausfühbar sein. Also:

"chmod +x /etc/init.d/vncserver"

4) das script soll in den richtigen runlevel um automatisch zu starten. Also:

"chkconfig --level 5 vncserver on"
"chkconfig --add vncserver"

5) Man editiert die Datei "/etc/sysconfig/vncservers"

Quelltext:
---------------------------------------------------------------------
Contents of /etc/sysconfig/vncservers:

# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the line below to start a VNC server on display :1
# as my 'myusername' (adjust this to your own). You will also
# need to set a VNC password; run 'man vncpasswd' to see how
# to do that.
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted! For a secure way of using VNC, see
# URL:http://www.uk.research.att.com/vnc/sshvnc.html.

# VNCSERVERS="1:myusername"
VNCSERVERS="1:bob 2:sally 3:jim"
----------------------------------------------------------
Logischer Weise muss man anstatt "bob", "sally" und "jim" den Namen des eigenen Nutzers oder der Nutzerin angeben.

6) rebooten

7) have a lot of fun :-D

@ Admin: dies könnte man ja mal als Howto hinzufügen. Immerhin wolln das ziemlich viele Leute haben ..
 

rolle

Guru
Admin: dies könnte man ja mal als Howto hinzufügen. Immerhin wolln das ziemlich viele Leute haben ..
Jawoll, Herr Oberstabsfeldwebel! Wird sofort erledigt! :lol:
Das mache ich gerne, schleißlich ist mein Ziel, mein Forum überflüssig zu machen durch eine perfekte Auswahl universell einsetzbarer Howtos. Wenn ich dann mit diesem Forum fertig bin, nehme ich mir das nächste vor. :wink:
Im Ernst: Ich übernehme das gerne, kann nur ein wenig dauern. Dankeschön.
 
OP
I

id3pr

Newbie
Sorry, war nicht so gemeint :)
Ich war nur so begeistert davon, das es jetzt endlich funktioniert, weil ich echt schon ewig nach ner Lösung gesucht hab und mir bis heute niemand helfen konnte. ;-)
 
Oben