DebianDebian Based

How To Install VNC Server on Debian 12

Install VNC Server on Debian 12

In this tutorial, we will show you how to install VNC Server on Debian 12. Virtual Network Computing (VNC) is a powerful desktop-sharing protocol that allows you to control a computer remotely. It operates in Graphical User Interface (GUI) environments, transmitting mouse movements and keyboard inputs over the network. This makes VNC an invaluable tool for technicians who need to control client desktops or for anyone who needs to access their desktops remotely.

This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of the VNC Server on a Debian 12 (Bookworm).


  • A server running one of the following operating systems: Debian 12 (Bookworm).
  • It’s recommended that you use a fresh OS install to prevent any potential issues.
  • SSH access to the server (or just open Terminal if you’re on a desktop).
  • An active internet connection. You’ll need an internet connection to download the necessary packages and dependencies for VNC Server.
  • A user account with sudo privileges to execute administrative commands.

Install VNC Server on Debian 12 Bookworm

Step 1. Start by updating your system’s package list to ensure you have the latest versions of the required software. Run the following command:

sudo apt update
sudo apt upgrade

Step 2. Installing the Desktop Environment.

VNC works on Graphical User Interface (GUI) environments. Therefore, the first step is to install a desktop environment on your Debian 12 server.  If you haven’t already installed a desktop environment on your Debian server, you can do so using the tasksel command:

sudo apt install tasksel

After installing tasksel, you can use it to install a desktop environment:

sudo tasksel

Choose your preferred desktop environment from the list and proceed with the installation.

Step 3. Installing VNC Server on Debian 12.

With the desktop environment installed, we can now proceed to install the TigerVNC server package, which will enable us to create a VNC Server on our Debian 12 server. Run the following command to install the TigerVNC server packages:

sudo apt install tigervnc-standalone-server tigervnc-common

After installing TigerVNC, set a password for the VNC server. This password will be used to authenticate your VNC sessions. To set the password, use the vncpasswd command:


You will be prompted to enter and confirm your password. Optionally, you can also set a view-only password, which allows users to view your desktop without having control.

Step 4. Starting the VNC Server.

Now that you’ve set a password, you can start the VNC server using the vncserver command:


Step 5. Configure Firewall.

If your firewall is enabled, you need to open ports for incoming VNC connections. For one connection, it is enough to open 5901 using the following command:

ufw allow 5901/tcp

Step 6. Connecting to VNC Server via SSH Tunneling.

For security reasons, it’s recommended to connect to your VNC server via an SSH tunnel. This encrypts your VNC traffic, preventing it from being intercepted over the network.

To securely connect to the VNC server, set up an SSH tunnel on the local machine:

ssh -L 5901:localhost:5901 -N -f -l username server_ip

Replace <username> with your username and <server_IP> with the IP address of your Debian server.

Next, launch your VNC viewer and connect to localhost:5901. This will route your VNC traffic through the SSH tunnel.

Install VNC Server on Debian 12 Bookworm

Step 7. Configuration.

  • Customizing the VNC Session.

You can customize your VNC session by editing the .vnc/xstartup file. This file is executed when you start a VNC session, and it determines which applications and settings are used in the session.

  • Setting the Screen Resolution.

You can set the screen resolution of your VNC session using the -geometry option when starting the VNC server. For example, to start a VNC session with a resolution of 800×600, use the following command:

vncserver -geometry 800x600
  • Configuring TLS/SSL Encryption.

TigerVNC supports TLS/SSL encryption, which provides an additional layer of security for your VNC sessions. To enable TLS/SSL encryption, you need to configure TigerVNC to use the -SecurityTypes option with the VncAuth and TLSVnc security types.

  • Limiting Access with Firewall Rules.

To further secure your VNC server, you can limit access to it using firewall rules. For example, you can configure your firewall to only allow VNC connections from specific IP addresses or networks.

Congratulations! You have successfully installed the VNC Server. Thanks for using this tutorial for installing the latest version of VNC Server on Debian 12 Bookworm. For additional help or useful information, we recommend you check the official VNC Server website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!


r00t is a seasoned Linux system administrator with a wealth of experience in the field. Known for his contributions to, r00t has authored numerous tutorials and guides, helping users navigate the complexities of Linux systems. His expertise spans across various Linux distributions, including Ubuntu, CentOS, and Debian. r00t's work is characterized by his ability to simplify complex concepts, making Linux more accessible to users of all skill levels. His dedication to the Linux community and his commitment to sharing knowledge makes him a respected figure in the field.
Back to top button