I installed the Ubuntu desktop on a Ubuntu 9.10 VPS server and am able to connect to the server using TightVNC. However, the VNC server on this VPS can only be started by logging in through SSH and typing the following command:
vncserver :1 -geometry 800x600 -depth 16 -pixelformat rgb565
If I run this command on startup or as a schedule task, it won’t start. What are my options?
Solution:
I found these instructions by searching Google for “ubuntu launch vnc server on startup“.
- Install the VNC server.
- Launch
vncserver
for the first time to set up a password. - Add the following file as
/etc/init.d/vncserver
(be sure to modify the USER, GEOMETRY, NAME, etc. to your liking). sudo chmod +x /etc/init.d/vncserver
sudo update-rc.d vncserver defaults
/etc/init.d/vncserver
#!/bin/sh -e### BEGIN INIT INFO# Provides: vncserver# Required-Start: networking# Default-Start: S# Default-Stop: 0 6### END INIT INFOPATH="$PATH:/usr/X11R6/bin/"# The Username:Group that will run VNCexport USER="mythtv"#${RUNAS}# The display that VNC will useDISPLAY="1"# Color depth (between 8 and 32)DEPTH="16"# The Desktop geometry to use.#GEOMETRY="<WIDTH>x<HEIGHT>"#GEOMETRY="800x600"GEOMETRY="1024x768"#GEOMETRY="1280x1024"# The name that the VNC Desktop will have.NAME="my-vnc-server"OPTIONS="-name ${NAME} -depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}". /lib/lsb/init-functionscase "$1" instart)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;;esacexit 0