I configured the VNC server (service) to auto start in the background last night, using an init.d script. I find myself using a SSH shell now to do all of the admin and management on the Pi, so I have set the Xwindows to 'not' auto start. Below is a few notes for reference:
Set Xwindow to 'not' autostart
sudo raspi-config
Select option 3 Boot options
Select option B2 Console Autologin
Install TightVNC
sudo apt-get update
sudo apt-get install tightvncserver
Auto Starting TightVNC Service
sudo nano /etc/init.d/tightvncserver
cut-n-paste the following lines into your new tightvncserver script file:
#!/bin/sh
# /etc/init.d/tightvncserver
# Set the VNCUSER variable to the name of the user to start tightvncserver under
VNCUSER='pi'
case "$1" in
start)
su $VNCUSER -c '/usr/bin/tightvncserver :1'
echo "Starting TightVNC server for $VNCUSER"
;;
stop)
pkill Xtightvnc
echo "Tightvncserver stopped"
;;
*)
echo "Usage: /etc/init.d/tightvncserver {start|stop}"
exit 1
;;
esac
exit 0
To exit and save your new script, hit Ctrl-X, then Y to save, then ENTER to select the file name.
Restart your Pi with: sudu reboot
That's the process I used and all seemed to work ok. This gives you a bash shell at start time on the Pi console (getting you ready to auto run CumulusMX

). If you want to pop into Xwindows for something, just type "sudo startx" If you VNC to your Pi, you will get a Xwindows session. If you SSH to your Pi you will get a bash shell session.