22halomedia

Secure Remote Support on LAN with x11vnc over SSH on Rocky Linux

Subscribe to 22halomedia YouTube Channel

Read this same article on the Rocky Linux Documentation website

Introduction

x11vnc is a powerful VNC program that distinguishes itself by utilizing the existing X session instead of creating a new one. This makes it an excellent tool for providing remote support, as the user’s screen or X session can be controlled remotely.

In this guide, you will learn how to stand up an x11vnc server and how to connect to it remotely.

Setting Up the VNC server

To capture a user’s X session, x11vnc server will need to be installed on their Rocky workstation.

Disable Wayland

First, you need to disable Wayland. Open the custom.conf file using your text editor of choice:

sudo vim /etc/gdm/custom.conf

Uncomment WaylandEnable=false:

# GDM configuration storage

[daemon]
WaylandEnable=false

[security]

[xdmcp]

[chooser]

[debug]
# Uncomment the line below to turn on debugging
#Enable=true

Restart gdm service:

sudo systemctl restart gdm

Install and configure x11vnc

Enable the EPEL repository:

sudo dnf install epel-release

Install x11vnc:

sudo dnf install x11vnc

Create a password for x11vnc:

x11vnc -storepasswd ~/.x11vnc.pwd

Create a new file with your text editor of choice. This will be used to create a service to run x11vnc:

sudo vim /etc/systemd/system/x11vnc.service

Copy and paste the following text into the file, then write and quit. Replace the rfbauth path with the path to the password file you created earlier. Replace User and Group with the user you intend to provide remote support to:

[Unit]
Description=Start x11vnc at startup
After=display-manager.service

[Service]
Type=simple
Environment=DISPLAY=:1
Environment=XAUTHORITY=/run/user/1000/gdm/Xauthority
ExecStart=/usr/bin/x11vnc -auth /var/lib/gdm/.Xauthority -forever -loop -noxdamage -repeat -rfbauth /home/server/.x11vnc.pwd -rfbport 5900 -shared
User=server
Group=server

[Install]
WantedBy=multi-user.target

Enable and start the x11vnc service:

sudo systemctl enable --now x11vnc.service

Setting Up Your Client

Install the EPEL repository

Install the EPEL repository:

sudo dnf install epel-release

Install a VNC client

Install TigerVNC. We will not be using the server, but will utilize the client:

sudo dnf install tigervnc

Create the SSH Tunnel

Create an SSH tunnel to securely connect to the VNC server:

ssh -L 5900:localhost:5900 REMOTEIP

Launch the VNC Viewer

Open your VNC viewer:

vncviewer

Connect to the VNC server by entering 127.0.0.1 or localhost into TigerVNC and connect.

Enter the x11vnc password you created earlier.

Conclusion

At this point, you have successfully set up an x11vnc server and connected to it using a TigerVNC client. This solution is ideal for providing remote support, as it shares the same X session as the user, ensuring a seamless support experience.

Thank you for reading this article. If you found it helpful, please consider subscribing to our newsletter.

Additionally, if you’re considering starting an organization or business, creating a website, protecting your WordPress site from malware and cyber attacks, or are in the market for a new gaming laptop, checkout the affiliate links below! 22halomedia uses each of these products and is proudly partnered with these companies.

Articles to Read Next

How to Setup WireGuard VPN on Rocky 9 Linux

Secure Remote Support on LAN with x11vnc over SSH on Rocky Linux

How to Install Virtual Box and Answering “What is a Hypervisor?”

How to Enable Bidirectional Shared Clipboard on VirtualBox VM

How to Create a Linux VM with VirtualBox

Affiliate Links

Form your business with Northwest registered agent

Create a website with namedotcom

Secure your website with Wordfence

My work laptop

Affiliate Disclaimer

Please note that my website and content may contain affiliate links. This means that when you click on these links and make a purchase, I may earn a commission. Rest assured, all the products I promote are ones that I believe to be of high quality, and I personally use them as a consumer myself. Your support through these links helps me continue to create valuable content. Thank you for your support!

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *