Virtual Network Computing (VNC) is a graphical desktop-sharing application that uses the Remote Frame Buffer (RFB) protocol to remotely control another machine over a network. RFB protocol is a simple open protocol that works at the frame buffer level making it easy to deploy and hence applicable in all windowing systems.
TigerVNC is an open-source Virtual Network Computing client/server application that allows users to launch and interact with graphical applications on remote machines. It started off as a fork of TightVNC in 2009 which was never released. It works to provide the high-performance levels required to run 3D and video applications.
TigerVNC is provided in source code and self-contained binaries for 64-bit and 32-bit Linux, installers for 64-bit and 32-bit Windows, and a universal binary for Intel-based Macs. All versions of TigerVNC contain a vncviewer that connects to the VNC server and interact with the remote desktop being displayed by the server.
In Linux, TigerVNC contains the following programs
- Xvnc is the server with a virtual framebuffer for Unix
- vncpasswd that allows you to change the VNC server password
- vnconfig a program used to configure a running instance of Xvnc
- x0vncserver is an inefficient VNC server used mainly as a demonstration of a VNC server
- [email protected] a service to start a user session of Xvnc
- Cross-platform, supported on Windows, Linux, and macOS.
- Supports extensions to provide advanced authentication methods and TLSS encryption.
- High performance and speed that RealVNC
- Maintain a common look and feel and re-use components, where possible, across the various platforms that it supports
This guide will show how to Install and configure the Tiger VNC server and client on KDE Neon|Kubuntu.
Install TigerVNC server on KDE Neon / Kubuntu
Update your packages systems
### Kubuntu ### sudo apt update && sudo apt upgrade -y ### KDE Neon ### sudo apt update && sudo pkcon update -y
Install the application using the following command.
sudo apt install tigervnc-standalone-server
Startup a VNC server. This will create a password for a VNC session with ID 1.
$ vncserver You will require a password to access your desktops. Password: Verify: Would you like to enter a view-only password (y/n)? n New 'kdeneon:1 (ann)' desktop at :1 on machine kdeneon Starting applications specified in /etc/X11/Xvnc-session Log file is /home/ann/.vnc/kdeneon:1.log Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/ann/.vnc/passwd :1 to connect to the VNC server.
Create a startup script
The startup script allows a client to connect to the server remotely even after a reboot.
Add the following code which looks into the user’s Xresources file and starts the desktop environment as a background process.
#!/bin/sh xrdb $HOME/.Xresources startKDE &
Save and exit the file.
Make the script executable.
chmod +x ~/.vnc/xstartup
Starting our VNC server shows output similar to this. The desktop environment has been loaded from the startup script.
New 'kdeneon:2 (ann)' desktop at :2 on machine kdeneon Starting applications specified in /home/ann/.vnc/xstartup Log file is /home/ann/.vnc/kdeneon:2.log Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/ann/.vnc/passwd :2 to connect to the VNC server.
You can create a lot of VNC sessions in Linux. To kill a session like the second we have created above, use the following command
$ vncserver -kill :1 Killing Xtigervnc process ID 3604... success!
To kill all instances use the * as shown below
$ vncserver -kill :*
To list VNC sessions use the following command.
$ vncserver -list
Install TigerVNC viewer on a Client computer
Install TigerVNCviewer on your system.
sudo apt install tigervnc-viewer
Create a local SSH tunnel using the following command. Enter the IP address of the remote machine with the server.
$ ssh -L 5901:127.0.0.1:5901 email@example.com The authenticity of host '192.168.200.36 (192.168.200.36)' can't be established. ECDSA key fingerprint is SHA256:9CeD8Q32/mHY4YQyx2UbKlJ0XRFKxOGpP2w5KIJcuBhU. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '192.168.200.36' (ECDSA) to the list of known hosts. [email protected]'s password: Welcome to KDE neon User - Plasma 5.24 (GNU/Linux 5.13.0-41-generic x86_64) Last login: Sun May 22 15:13:54 2022 from 192.168.200.1
Once connected, run the VNC client to connect as shown below
Input the password for the VNC server that you created.
Then you will be able to see the remote machine as shown below.
From this guide, we have gone through what VNC is and the TigerVNC application. We have installed TigerVNC on KDE Neon|Kubuntu. We have also installed a VNC viewer on a client computer and configured it to connect to the VNC server.