Sida 1 av 1

Vncserver starta vid uppstart av operativsystem.

Postat: 22 apr 2010, 20:53
av cyberkygen
Tjena!

Jag har problem att få vncserver att starta vid bootup. Jag kan starta det normalt med

Kod: Markera allt

vncserver :1 -geometry 100x100 -name VnC -depth 16
osv utan rootkonto.

Men när jag försöker med följande script ändrad från en guide startas inte vncserver vid uppstart. (Även fast man kan se att scriptet körs för den skriver ut "Starting vncserver for ..." som scriptet ska skriva ut.)

/etc/init.d/vncserver

Kod: Markera allt

#!/bin/sh -e
### BEGIN INIT INFO
# Provides:          vncserver
# Required-Start:    networking
# Default-Start:     S
# Default-Stop:      0 6
### END INIT INFO
PATH="$PATH:/usr/X11R6/bin/"

# The Username:Group that will run VNC
export USER="[användarnamn]"
#${RUNAS}

# The display that VNC will use
DISPLAY="1"

# Color depth (between 8 and 32)
DEPTH="16"

# The Desktop geometry to use.
#GEOMETRY="<WIDTH>x<HEIGHT>"
#GEOMETRY="800x600"
#GEOMETRY="1024x768"
GEOMETRY="1200x800"
#GEOMETRY="1280x1024"

# The name that the VNC Desktop will have.
NAME="VnC Server"

OPTIONS="-name ${NAME} -depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"

. /lib/lsb/init-functions

case "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;

stop)
log_action_begin_msg "Stoping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;

restart)
$0 stop
$0 start
;;
esac

exit 0
Jag funderar på om det är något med att min användare inte kan köra saker vid uppstart eller att det krävs något mer vid start i min xstartup fil, som ser ut som följer.

~/.vnc/xstartup

Kod: Markera allt

#!/bin/sh

wine $HOME/utorrent.exe &
fluxbox &
Jag vet inte var eventuella loggfiler finns för att felsöka på egen hand.

Annan info:
Ubuntu 9.10 Server i386

Frågeställning:
Så hur gör jag för att det ska fungera?

Re: Vncserver starta vid uppstart av operativsystem.

Postat: 26 apr 2010, 21:24
av cyberkygen
Ingen som kan hjälpa?

Har suttit nu ett antal kvällar och försökt få igång det på bootup. :-\

Re: Vncserver starta vid uppstart av operativsystem.

Postat: 27 apr 2010, 09:43
av Andreas A
Jag vet inte om detta fungerar, men du kan testa att lägga in det vid uppstarten med detta:

Kod: Markera allt

 cd /etc/rc3.d
sudo ln -s /etc/init.d/vncserver S99vncserver
Ifall det fungerar så ska det starta vncservern vid system starten.

Hittade denna lösningen här:
http://ubuntuforums.org/showthread.php?t=189555

Re: Vncserver starta vid uppstart av operativsystem.

Postat: 27 apr 2010, 11:31
av Bowmore
Jag antar att du kört kommandona enligt guiden, dvs
sudo chmod +x /etc/init.d/vncserver
sudo update-rc.d vncserver defaults
Om du vill testa det Andreas föreslår så finns även ett annat sätt att göra det.

Ta först bort startlänkarna du skapade tidigare, vilka normalt körs ganska tidigt (NN=20), med

Kod: Markera allt

sudo update-rc.d -f  vncserver remove
Sen länka in vncserver sist i uppstartsfasen (N=99) med

Kod: Markera allt

sudo update-rc.d vncserver defaults 99

Re: Vncserver starta vid uppstart av operativsystem.

Postat: 27 apr 2010, 18:25
av Rune.K
Den här guiden kan kanske vara till hjälp > https://help.ubuntu.com/community/VNC

Re: Vncserver starta vid uppstart av operativsystem.

Postat: 27 apr 2010, 19:55
av cyberkygen
Tack för svar!

@Bowmore & @Andreas A
Testade att senarelägga uppstarten av tjänsten, med hjälp av Bowmore's instruktioner, det hjälpte inte mycket, tyvärr.
Rune.K skrev:Den här guiden kan kanske vara till hjälp > https://help.ubuntu.com/community/VNC
Tyvärr hittade inget om att lägga till någon process till startup, när jag skummade igenom texten!

Nya tankegångar:
Loggen som skapas/uppdateras när jag kör startscriptet manuelt (sudo /etc/init.d/vncserver start), förändras inte när det försöker köra på bootup. Jag misstänker att skriptets avbryts innan startkommandot. Vad det bror på kan jag bara spekulera i. Kan det vara min användare som inte kan köra saker på bootup? Kan det ha att göra med X? Är det något scriptfel?

Re: Vncserver starta vid uppstart av operativsystem.

Postat: 27 apr 2010, 20:52
av Bowmore
Om du endast vill köra det för en användare så varför inte stoppa in kommandot vncserver start i Uppstartsprogram för den användaren?

Re: Vncserver starta vid uppstart av operativsystem.

Postat: 27 apr 2010, 21:00
av Rune.K
Som jag förstått så är det skillnad om du vill ansluta till en Windows eller Linux-dator som har en vncserver igång.
Jag har själv fjärranslutit till Windowsdatorer via VNC och det har aldrig varit några konstigheter.
Däremot om jag ville ansluta till en Linuxdator via VNC så verkade det vara tvunget att min användare redan var inloggad på fjärrdatorn.

När jag själv vill ansluta till en Linuxdator för att köra grafiska program så använder jag hellre "ssh med X portforwarding".
Nackdelen är att man är begränsad till ett program i taget, dvs man får inte fram Skrivbordet med paneler och menyer osv.

Re: Vncserver starta vid uppstart av operativsystem.

Postat: 28 apr 2010, 19:04
av cyberkygen
Bowmore skrev:Om du endast vill köra det för en användare så varför inte stoppa in kommandot vncserver start i Uppstartsprogram för den användaren?
Hmm, vad jag förstår startas inte programmet på bootup med denna metod, har jag fel?
Lägger man till en startkommando till ~/.profile?

Rune.K skrev:Som jag förstått så är det skillnad om du vill ansluta till en Windows eller Linux-dator som har en vncserver igång.
Jag har själv fjärranslutit till Windowsdatorer via VNC och det har aldrig varit några konstigheter.
Däremot om jag ville ansluta till en Linuxdator via VNC så verkade det vara tvunget att min användare redan var inloggad på fjärrdatorn.

När jag själv vill ansluta till en Linuxdator för att köra grafiska program så använder jag hellre "ssh med X portforwarding".
Nackdelen är att man är begränsad till ett program i taget, dvs man får inte fram Skrivbordet med paneler och menyer osv.
Men det har ju fungerat för andra, det måste ju kunna fungera för mig också?
Jag vill hellre använda vnc, men tack för förslaget.

Vet inte om det har med huvudproblemet att göra men när jag startar vnservern manuellt ser logfilen ut såhär:

Kod: Markera allt

Xvnc Free Edition 4.1.1
Copyright (C) 2002-2005 RealVNC Ltd.
See http://www.realvnc.com for information on VNC.
Underlying X server release 70000000, The X.Org Foundation


Mon Apr 26 21:01:51 2010
 vncext:      VNC extension running!
 vncext:      Listening for VNC connections on port 5901
 vncext:      created VNC server for screen 0
error opening security policy file /etc/X11/xserver/SecurityPolicy
Could not init font path element /usr/share/fonts/X11/TTF/, removing from list!
Could not init font path element /usr/share/fonts/X11/OTF, removing from list!
Could not init font path element /usr/share/fonts/X11/Type1/, removing from list!
Could not init font path element /usr/share/fonts/X11/CID/, removing from list!
Xlib:  extension "Generic Event Extension" missing on display ":1.0".
Xlib:  extension "RANDR" missing on display ":1.0".
Xlib:  extension "Generic Event Extension" missing on display ":1.0".
Xlib:  extension "Generic Event Extension" missing on display ":1.0".
Xlib:  extension "Generic Event Extension" missing on display ":1.0".
Xlib:  extension "Generic Event Extension" missing on display ":1.0".
fixme:heap:HeapSetInformation 0x110000 0 0x48bfb0 4
Xlib:  extension "Generic Event Extension" missing on display ":1.0".
fixme:heap:HeapSetInformation 0x284000 0 0x48bfb0 4
fixme:winsock:WS_setsockopt Unknown IPPROTO_IPV6 optname 0x00000017
fixme:winsock:WS_setsockopt Unknown IPPROTO_IPV6 optname 0x00000017
err:winediag:WSASocketW Failed to create a socket of type SOCK_RAW, this requires special permissions.
err:winediag:WSASocketW Failed to create a socket of type SOCK_RAW, this requires special permissions.
err:ole:CoGetClassObject class {ae1e00aa-3fd5-403c-8a27-2bbdc30cd0e1} not registered
err:ole:CoGetClassObject class {ae1e00aa-3fd5-403c-8a27-2bbdc30cd0e1} not registered
err:ole:create_server class {ae1e00aa-3fd5-403c-8a27-2bbdc30cd0e1} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {ae1e00aa-3fd5-403c-8a27-2bbdc30cd0e1} could be created for context 0x17
err:ole:CoGetClassObject class {ae1e00aa-3fd5-403c-8a27-2bbdc30cd0e1} not registered
err:ole:CoGetClassObject class {ae1e00aa-3fd5-403c-8a27-2bbdc30cd0e1} not registered
err:ole:create_server class {ae1e00aa-3fd5-403c-8a27-2bbdc30cd0e1} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {ae1e00aa-3fd5-403c-8a27-2bbdc30cd0e1} could be created for context 0x17
fixme:keyboard:UnregisterHotKey (0x10062,1): stub
fixme:iphlpapi:adapterAddressesFromIndex address family 23 unsupported

Mon Apr 26 21:02:03 2010
 Connections: accepted: 5.37.161.69::64905
 SConnection: Client needs protocol version 3.8
 SConnection: Client requests security type VncAuth(2)

Mon Apr 26 21:02:13 2010
 VNCSConnST:  Server default pixel format depth 16 (16bpp) little-endian rgb565
 VNCSConnST:  Client pixel format depth 16 (16bpp) little-endian rgb565
fixme:heap:RtlCompactHeap (0x284000, 0x0) stub
err:ole:CoGetClassObject class {ae1e00aa-3fd5-403c-8a27-2bbdc30cd0e1} not registered
err:ole:CoGetClassObject class {ae1e00aa-3fd5-403c-8a27-2bbdc30cd0e1} not registered
err:ole:create_server class {ae1e00aa-3fd5-403c-8a27-2bbdc30cd0e1} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {ae1e00aa-3fd5-403c-8a27-2bbdc30cd0e1} could be created for context 0x17
err:ole:CoGetClassObject class {ae1e00aa-3fd5-403c-8a27-2bbdc30cd0e1} not registered
err:ole:CoGetClassObject class {ae1e00aa-3fd5-403c-8a27-2bbdc30cd0e1} not registered
err:ole:create_server class {ae1e00aa-3fd5-403c-8a27-2bbdc30cd0e1} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {ae1e00aa-3fd5-403c-8a27-2bbdc30cd0e1} could be created for context 0x17

Mon Apr 26 21:22:54 2010
 Connections: closed: 5.37.161.69::64905 (Clean disconnection)
 SMsgWriter:  framebuffer updates 111
 SMsgWriter:    copyRect rects 3, bytes 48
 SMsgWriter:    hextile rects 96, bytes 278559
 SMsgWriter:    raw bytes equivalent 5026672, compression ratio 18.045269
XIO:  fatal IO error 11 (Resursen tillfälligt otillgänglig) on X server ":1.0"
      after 21031 requests (20519 known processed) with 0 events remaining.
XIO:  fatal IO error 11 (Resursen tillfälligt otillgänglig) on X server ":1.0"
      after 35917 requests (35914 known processed) with 0 events remaining.
FreeFontPath: FPE "/usr/share/fonts/X11/misc/" refcount is 2, should be 1; fixing.

Re: Vncserver starta vid uppstart av operativsystem.

Postat: 28 apr 2010, 21:25
av Bowmore
cyberkygen skrev: Hmm, vad jag förstår startas inte programmet på bootup med denna metod, har jag fel?
Lägger man till en startkommando till ~/.profile?
Det funkar nog också.

Jag tänkte på att stoppa in det under
System > Inställningar > Uppstartsprogram

Edit
Varför det inte startas upp under runlevel kan bero på att den är beroende av användarens miljö som inte är definierad i detta skede. Det skript du gick efter gällde inte heller en användare utan programmet mythtv.

Re: Vncserver starta vid uppstart av operativsystem.

Postat: 28 apr 2010, 22:28
av cyberkygen
Bowmore skrev: Det funkar nog också.

Jag tänkte på att stoppa in det under
System > Inställningar > Uppstartsprogram

Edit
Varför det inte startas upp under runlevel kan bero på att den är beroende av användarens miljö som inte är definierad i detta skede. Det skript du gick efter gällde inte heller en användare utan programmet mythtv.
Tack för att du orkar hjälpa!

Vad funkar nog? Att programmet startas när användare loggar in eller när servern startar?
Men det var user mythtv om det har någon betydelse?
Jag kör 9.10 server edition (se första posten), så det finns inte något gui...

Hur kan jag definiera användarens miljö vid runlevel och/eller hur kan jag manipulera skriptet så att det körs som en vanlig användare?