Initial setup (Ubuntu image)
The OrangePI 3 LTS used in this article is the 2GB version.
When you get your Orange Pi 3 LTS, I'd recommend using an Ubuntu image instead of the Debian. I spent 8 hours trying to get the Debian image that was available at the time my Orange Pi can in to work with tightVNC, and never could. Once I used
After installing the Ubuntu image on your SD card, you can start the Orange Pi up. It comes loaded with SSH, so you can use that to log in, or you can do like I did and simply hook an HDMI capable display up and a keyboard and mouse for direct access.
The default login info for the Orange Pi is
Username
Password
Once you are logged in (the Ubuntu install automatically logs you in when using a display and keyboard mouse upon boot up.
You will need to open a terminal window and make sure you update to the latest of the operating system.
To set up the VNC server on Ubuntu Jammy
Install the XFonts base used by tightVNC (this may already be installed)
Install tightVNC server
This is where I strayed from most of the guides that tell you to set up a user for VNC. Since I already had the default
So, while logged in as
You will be prompted to create a password for access. Keep it less than 8 characters. You will also be asked if you want set up a view only password, which I chose not to do.
You can create a user of your own if you choose to.
Once you have done this, you should be able to connect to the instance for the
Now, to get tightVNC to autostart, you will need to do a few more things.
The VERY first thing you need to do is add your
Create a service by creating the below file (which will be an actual script when done)
(note, I use joe personally instead of nano as it uses the old WorsStar combos)
In that file you need to have
You now need to make this file executable (to be a script)
Now you need to set up the Systemd process to start it automatically (again, you can use any text based editor you are comfortable with, nano, vi or joe as examples)
This file needs to contain the following information
Be sure to change your
The next step to do is restart Systemd and enable the tightvnc server process
You have the basic commands that most services use under Linux for stopping, starting and restarting
to start
to stop
to restart
and to get status
Now all you have to do is reboot your Orange Pi and it should have tightVNC up and running.
When you get your Orange Pi 3 LTS, I'd recommend using an Ubuntu image instead of the Debian. I spent 8 hours trying to get the Debian image that was available at the time my Orange Pi can in to work with tightVNC, and never could. Once I used
BalenaEtcher
to install Ubuntu Jammy I had no issues. I will detail the issues that I had with the Debian install at the end of the article. This is primarily targeted at using Ubuntu Jammy with the Orange Pi LTS.After installing the Ubuntu image on your SD card, you can start the Orange Pi up. It comes loaded with SSH, so you can use that to log in, or you can do like I did and simply hook an HDMI capable display up and a keyboard and mouse for direct access.
The default login info for the Orange Pi is
Username
orangepi
Password
orangepi
Once you are logged in (the Ubuntu install automatically logs you in when using a display and keyboard mouse upon boot up.
You will need to open a terminal window and make sure you update to the latest of the operating system.
Code:
sudo apt-get update
sudo apt-get upgrade
To set up the VNC server on Ubuntu Jammy
Install the XFonts base used by tightVNC (this may already be installed)
sudo apt-get install xfonts-base
Install tightVNC server
sudo apt-get install tightvncserver
This is where I strayed from most of the guides that tell you to set up a user for VNC. Since I already had the default
orangepi
user, I simply set up the :1
for that user.So, while logged in as
orangepi
I ran
Code:
vncserver :1
You can create a user of your own if you choose to.
Once you have done this, you should be able to connect to the instance for the
orangepi
user by usingIP_Address:5901
in your VNC client on your remote system. I would suggest testing to make sure you can connect at this point.Now, to get tightVNC to autostart, you will need to do a few more things.
The VERY first thing you need to do is add your
orangepi
user (or the one you created) into the sudo
group bysudo gpasswd -a orangepi sudo
Create a service by creating the below file (which will be an actual script when done)
Code:
sudo nano /usr/local/bin/tightvncserver
In that file you need to have
Bash:
#!/bin/bash
PATH="$PATH:/usr/bin/"
DISPLAY="1"
DEPTH="16"
GEOMETRY="1024x768"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"
case "$1" in
start)
/usr/bin/vncserver ${OPTIONS}
;;
stop)
/usr/bin/vncserver -kill :${DISPLAY}
;;
restart)
$0 stop
$0 start
;;
esac
exit 0
You now need to make this file executable (to be a script)
Code:
sudo chmod +x /usr/local/bin/tightvncserver
Now you need to set up the Systemd process to start it automatically (again, you can use any text based editor you are comfortable with, nano, vi or joe as examples)
Code:
sudo nano /lib/systemd/system/tightvncserver.service
This file needs to contain the following information
Code:
[Unit]
Description=Manage tightVNC Server
[Service]
Type=forking
ExecStart=/usr/local/bin/tightvncserver start
ExecStop=/usr/local/bin/tightvncserver stop
ExecReload=/usr/local/bin/tightvncserver restart
User=orangepi
[Install]
WantedBy=multi-user.target
Be sure to change your
user
to whatever you ran the vncserver :1
command under.The next step to do is restart Systemd and enable the tightvnc server process
Code:
sudo systemctl daemon-reload
sudo systemctl enable tightvncserver.service
You have the basic commands that most services use under Linux for stopping, starting and restarting
to start
sudo systemctl start tightvncserver.service
to stop
sudo systemctl stop tightvncserver.service
to restart
sudo systemctl restart tightvncserver.service
and to get status
sudo systemctl status tightvncserver.service
Now all you have to do is reboot your Orange Pi and it should have tightVNC up and running.