@abinning - Thanks for these instructions.
But I notice there is a problem (or two) in your service spec:
You have “Type=” entered twice.
And also, contrary to @blacksmithtb the “tightvncserver” DOES fork, so my understanding (See https://wiki.archlinux.org/index.php/systemd) is that the type should be Type=forking.
For me, if I set it to Type=simple, IT DOES NOT WORK. Type=forking does work.
Weird that 2 of us get such different behaviour. (Maybe systemd or tightvncserver has changed at some point?)
So, with Type=forking I finally have this auto-starting.
P.S. The chmod should also be 644, not 755.
Having the x bit on a service spec actually generates a warning in dmesg.
P.P.S. It is actually important who you are logged in as when you first run “/usr/bin/tightvncserver” - It writes into your home directory. The instructions above are ambiguous in this regard - root or chip? It NEEDS to be chip or chip won’t get a vnc password.
P.P.P.S. - I think you need a final “systemctl start tightvncservce.service” (or a reboot) to actually get it running.
What a waste of several hours… Anyone from CHIP listening? - Why-o-why is this not configured out-of-the-box??? The lack of a proper digital screen connector is a major short-coming of CHIP. (But great that is saves $$$).
Having good GUI remote access from power-on should be a no-brainer, should it not???
Cheers. Hope I have helped some other poor souls out there in CHIP-land.
@abinning - Could you please update the top post above, as other resources point here.
For clarity, here is the final service spec that works for me:
Description=TightVNC remote desktop server