Hallo!
Bin noch ziemlich neu mit BSD und daher kann es gut sein das ich irgendwas total offensichtliches übersehe... ich bitte im vorraus um Verständnis.
Mein Problem: Ich möchte bei Systemstart einen VNC-Server automatisch starten lassen. Dazu hab ich die doku zu rc gelesen aber so richtig scheint es nicht zu klappen. Das Skript funktioniert wenn ich es manuell mit start / stop aufrufe, aber es wird nicht bei Systemstart automatisch ausgeführt. Das Skript liegt in /usr/local/etc/rc.d/
Das Skript sieht folgendermaßen aus:
Den Teil bei REQUIRES hab ich mehr oder weniger von Samba geklaut, ich hab keine Ahnung wovon vncserver abhängig ist. Davon abgesehen, wie gesagt das Skript funktioniert wenn man es manuell ausführt.
In die /etc/rc.conf hab ich folgendes eingetragen:
Wenn ich /usr/local/etc/rc.d/vncserver rcvar auführe zeigt er auch an:
Was mache ich falsch dass es beim booten nicht ausgeführt wird?
Und noch ein kleines btw: Wie wird es richtig gemacht das ein anderer user als root einen Befehl im Skript ausführt? vncserver startet automatisch xfce4 und da will ich nicht unbedingt sofort als root eingeloggt sein. Ich hab im man gelesen das dafür die {$name}_user variable genutzt werden soll, aber mir ist nicht klar wie genau die genutzt wird. Ein Beispiel wäre evtl ganz gut.
Danke schonmal.
Bin noch ziemlich neu mit BSD und daher kann es gut sein das ich irgendwas total offensichtliches übersehe... ich bitte im vorraus um Verständnis.
Mein Problem: Ich möchte bei Systemstart einen VNC-Server automatisch starten lassen. Dazu hab ich die doku zu rc gelesen aber so richtig scheint es nicht zu klappen. Das Skript funktioniert wenn ich es manuell mit start / stop aufrufe, aber es wird nicht bei Systemstart automatisch ausgeführt. Das Skript liegt in /usr/local/etc/rc.d/
Das Skript sieht folgendermaßen aus:
Code:
#!/bin/sh
# PROVIDE: vncserver
# REQUIRE: NETWORKING SERVERS DAEMON
. /etc/rc.subr
name="vncserver"
vncserver_user="userX"
rcvar=`set_rcvar`
start_cmd="vncserver_start"
stop_cmd="vncserver_stop"
restart_cmd="vncserver_restart"
vncserver_start()
{
echo 'vnc startet...'
/usr/local/bin/vncserver :2
}
vncserver_stop()
{
echo 'vnc stoppt...'
/usr/local/bin/vncserver -kill PcName:2
}
vncserver_restart()
{
echo 'vnc startet neu...'
/usr/local/bin/vncserver -kill PcName:2
/usr/local/bin/vncserver :2
}
load_rc_config $name
run_rc_command "$1"
Den Teil bei REQUIRES hab ich mehr oder weniger von Samba geklaut, ich hab keine Ahnung wovon vncserver abhängig ist. Davon abgesehen, wie gesagt das Skript funktioniert wenn man es manuell ausführt.
In die /etc/rc.conf hab ich folgendes eingetragen:
Code:
vncserver_enable="YES"
Wenn ich /usr/local/etc/rc.d/vncserver rcvar auführe zeigt er auch an:
Code:
vncserver_enable="YES"
Was mache ich falsch dass es beim booten nicht ausgeführt wird?
Und noch ein kleines btw: Wie wird es richtig gemacht das ein anderer user als root einen Befehl im Skript ausführt? vncserver startet automatisch xfce4 und da will ich nicht unbedingt sofort als root eingeloggt sein. Ich hab im man gelesen das dafür die {$name}_user variable genutzt werden soll, aber mir ist nicht klar wie genau die genutzt wird. Ein Beispiel wäre evtl ganz gut.
Danke schonmal.