How to setup VNC on your Pine64 (Debian, SSH, headless)
#1
Since I couldn't find any info here about this I was thinking to write a little tutorial, maybe it going to help.

I got my Pine64 recently and I don't have any display or keyboard available so the only way to get desktop environment was over VNC (or RDP). This tutorial is for Debian 8 Jessie with MATE and how to VNC.

How to VNC

1: login into terminal via SSH

2: update server packages
Code:
sudo apt-get update

3: install vnc4server 
Code:
apt-get install vnc4server

4: create a password for your vnc server
Code:
vnc4passwd

5: setup the xstartup script to get mate environment on VNC
Code:
sudo nano ~/.vnc/xstartup
 
 overwrite with this code
Code:
#!/bin/sh

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
-terminal-emulator -geometry 80x20+10+10 -ls -title "$VNCDESKTOP Desktop" &
mate-session &
mate-panel &

6: start the vnc server with vnc4server -geometry <resolution> -depth <16,24 whatever depth you want>
Code:
vnc4server -geometry 800x600 -depth 24
 
 you should get a message like this
Code:
New '<hostname>:1 (<your_username>)' desktop is <hostname>:1

Starting applications specified in /home/<your_username>/.vnc/xstartup
Log file is /home/<your_username>/.vnc/hostname:1.log

this means that a VNC server has started on your at port :1 (5901) if it said :2 in means port 5902 and so on...
user a VNC viewer (Real VNC, Ultra VNC) to login to your VNC server, usually is <your_local_ip>:5901 

If you get only a grey screen change the permissions on xstartup file

first stop the server 
Code:
vnc4server -kill :1

then
Code:
sudo chmod 755 xstartup

start the server again

Update #1
How to run VNC server as a service automatically

make sure you kill the server first
Code:
vnc4server -kill :1

make a new script where you can setup the VNC server
Code:
sudo nano /usr/local/bin/vncserver

paste the code bellow (here you can put your desired resolution and depth)
Code:
#!/bin/bash
PATH="$PATH:/usr/bin/"
DISPLAY="1"
DEPTH="24"
GEOMETRY="1024x768"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"

case "$1" in
start)
/usr/bin/vnc4server ${OPTIONS}
;;

stop)
/usr/bin/vnc4server -kill :${DISPLAY}
;;

restart)
$0 stop
$0 start
;;
esac
exit 0

save the file and make it executable
Code:
sudo chmod +x /usr/local/bin/vncserver

now make a unit file, that will describe the service and tell the server how to work with the service
Code:
sudo nano /lib/systemd/system/vncserver.service

paste the code bellow (make sure to put your user under User=)
Code:
[Unit]
Description=Manage VNC Server

[Service]
Type=forking
ExecStart=/usr/local/bin/vncserver start
ExecStop=/usr/local/bin/vncserver stop
ExecReload=/usr/local/bin/vncserver restart
User=pine64user

[Install]
WantedBy=multi-user.target

reload systemctl and enable VNC server
Code:
sudo systemctl daemon-reload
sudo systemctl enable vncserver.service

reboot and see if it's works

Coming next: connect to VNC server over SSH.
Have fun!
  Reply
#2
Thank you for this post.  Smile 
It was very usefull for me.

Could you please add information about getting VNC automatically at startup?
  Reply
#3
(04-27-2016, 07:36 AM)kiltman Wrote: Thank you for this post.  Smile 
It was very usefull for me.

Could you please add information about getting VNC automatically at startup?

Updated. Enjoy!
  Reply
#4
Are you a part of the Reddit Pine64 sub?  If not, would you mind if I share your instructions?  I feel like this would be a valuable post there.
  Reply
#5
(05-04-2016, 12:43 PM)ibhoopin Wrote: Are you a part of the Reddit Pine64 sub?  If not, would you mind if I share your instructions?  I feel like this would be a valuable post there.

I am not part of Pine64 sub, you can go ahead and share it.
  Reply
#6
hi

this didn't work for me.
Can you tell me what information or command results I can post to diagnose the problem ?

I preformed the procedure under:
Update #1

How to run VNC server as a service automatically


I run the Ubuntu image provided on this forum and installed LXDE (not Mate).
Manual start of VNC works.
  Reply
#7
Sad 
(05-21-2016, 07:38 AM)pelgrim Wrote: hi

this didn't work for me.
Can you tell me what information or command results I can post to diagnose the problem ?

I preformed the procedure under:
Update #1

How to run VNC server as a service automatically


I run the Ubuntu image provided on this forum and installed LXDE (not Mate).
Manual start of VNC works.

This tutorial is for Debian, for Ubuntu it's a different set of settings. You need to build a startup script in /etc/init.d/  and update the boot startup update-rc.d  in order to make it work. Haven't tried Ubuntu yet so I can't tell you for sure all the steps.
  Reply
#8
Guess I forgot to report here, the matter was solved back then.

All I had to do was:
sudo apt-get install x11vnc
run gnome-session-properties
add: x11vnc -forever
  Reply
#9
Thanks! I've tried that on ubuntu 3.10.101-4-pine64-longsleep aarch64 and it worked. only change I made is user name.
  Reply
#10
(04-26-2016, 08:06 PM)pine64nutz Wrote: 3: install vnc4server 
Code:
apt-get install vnc4server
Thank you, pine64nutz !
I was not aware of vnc4server...  I have been trying (depserately) to get tightvncserver running on debian from the repos, and tightvncserver is (supposed) to work like vnc4server, but is seriously broken on debian; at least from the respos.
Anyway, vnc4server (Xvnc4) works great !,  again, thank you.
There is a baby bug if attaching from the mac (screen sharing) client. If the mouse cursor is 'inside' the xterminal frame then typing into the terminal will lock the interface !  Closing the vncviewer session and starting over unlocks...  so, the mouse cursor must be riding at the top of the terminal window but not resting inside it !

edit: PS I have only had the locking issue using twm (tiny window manager).

My gnu+linux vncviewer clients worked fine with Xvnc4 (vnc4server) as did the ssh tunnel and encrypted channel.
marcus
  Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
Information Pine64 Head Unit Zoidiano0 100 27,980 11-19-2019, 04:35 AM
Last Post: rogatip79
  PINE64 to allow use of SATA disk on network/FTP mwelbourne 10 126 11-18-2019, 04:09 PM
Last Post: evilbunny
  Pine64 E-ink screen - Android projectileobjects 3 1,838 06-25-2019, 07:31 AM
Last Post: clamum
  Setup Pine64+ with OP-TEE stdys 0 301 09-13-2018, 03:23 PM
Last Post: stdys
Information UEFI for Pine64 z4v4l 20 4,624 06-24-2018, 03:06 PM
Last Post: z4v4l
  Domoticz + PINE64 Z-Wave Module + Open Z-Wave klliew 4 3,158 04-19-2018, 02:23 AM
Last Post: Harlan Mueller
  Pine64 as Security Camera / Baby Monitor utdrmac 2 1,968 02-01-2018, 07:49 AM
Last Post: davidbrucs
Photo Nextcloud running on Pine64 gbjensen 1 1,415 01-18-2018, 05:51 AM
Last Post: Luke
  smartphone based on a pine64 Little_Johnny 9 1,642 10-28-2017, 02:57 AM
Last Post: Little_Johnny
  Does my idea is possible ? Use of pinebook + rock64 + pine64 liochan 0 899 07-17-2017, 06:48 AM
Last Post: liochan

Forum Jump:


Users browsing this thread: 1 Guest(s)