How do I start VNC Server on boot?
First, install the TightVNC server
sudo apt-get install tightvncserver
.Set up the VNC server for the user you wish to log in as. When you run "vncserver" for the first time, it will ask you to set a password. only allow SSH tunnelled or VPN connections. To launch programs or a session when your VNC session starts, modify
~/.vnc/xstartup
. Here is an example.#!/bin/sh xrdb $HOME/.Xresources xsetroot -solid black /opt/azureus/azureus & k3b & icewm-session &
Copy the following into
/etc/init.d/vncserver
. The easiest way to do it is to copy it to your clipboard, runsudo -i && cat > /etc/init.d/vncserver && exit
in a terminal, paste it in, and type CTRL-D. Be sure to change the USER variable to whatever user you want the VNC server to run under.#!/bin/sh -e ### BEGIN INIT INFO # Provides: vncserver # Required-Start: networking # Default-Start: 3 4 5 # Default-Stop: 0 6 ### END INIT INFO PATH="$PATH:/usr/X11R6/bin/" # The Username:Group that will run VNC export USER="mythtv" #${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="1280x1024" # The name that the VNC Desktop will have. NAME="my-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
Make the script executable with
sudo chmod +x /etc/init.d/vncserver
.- Finally, connect to your server with a VNC client on port 590X, where X is the value of "DISPLAY" in the vncserver script. On OS X, I like to use Chicken of the VNC. On Windows and Linux, the TightVNC client works nicely.
Source
One possibility: /etc/rc.local
The content says it:
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing
The execution bits are set to 755 on my system already. (chmod 755 /etc/rc.local)
You can put any command in there, which will be executed as root.
This is ok for your purpose as long as you do not change runlevels, I guess. (If you do not know what runlevels are, nevermind).
this seems to be an old post but the topic might be still interesting for some users. To have vnc to start at boot up, you will need to
- install a vnc server software (here we will be using x11vnc)
- configure a startup script (used to start the vnc service)
Step 1 - install x11vnc server
from a command line, type
sudo apt-get install x11vnc
To add security, you should set a pwd
sudo x11vnc -storepasswd
Step 2 - Configure your startup script
- if your ubuntu version is lower 15.04,
you create the config file under /etc/init.d/x11vnc.conf
and populate it with the correct commands to be executed
start on login-session-start
script
/usr/bin/x11vnc -xkb -auth
/var/run/lightdm/root/:0
-noxrecord -noxfixes -noxdamage
-rfbauth /etc/x11vnc.pass
-forever -bg -rfbport 5900 -o /var/log/x11vnc.log
end script
- if your ubuntu version is 15.04 or later,
these systems are using systemd and you will need to create your service unit file under /lib/systemd/system/x11vnc.service
and populate it with the correct commands to be executed
[Unit] Description=Start x11vnc at startup. After=multi-user.target
[Service] Type=simple ExecStart=/usr/bin/x11vnc -auth guess -forever
-loop -noxdamage -repeat -rfbauth /home/USERNAME/.vnc/passwd -rfbport 5900 -shared
[Install] WantedBy=multi-user.target
Reload the service
sudo systemctl daemon-reload
sudo systemctl enable x11vnc.service
You can find detailed information on Help Ubuntu Community wiki page (see here) or you can try to use this quick to use recipice
- For Ubuntu version lower than 15.04, check this post
- For Ubuntu version 15.04 or later, check this post
Hope this is helpful