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

Features

  • 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.

nano $HOME/.vnc/xstartup

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 ann@192.168.200.36

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.

Conclusion

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.

More guides:

LEAVE A REPLY

Please enter your comment!
Please enter your name here