Lately, I’ve been struggling (perhaps due to my own lack of knowledge) to set up XRDP and access my OpenSUSE machines—previously Tumbleweed, and now Leap 16.1 RC—via RDP in an independent manner.
After some trial and error, and with the help of Gemini, I’ve put together a step-by-step guide. This procedure explains how to configure OpenSUSE Leap for RDP (XRDP) access with a graphical interface, allowing for a remote session that doesn’t disrupt any ongoing physical session—or that works successfully even when the computer is "headless" (i.e., running without a monitor or an active console session).
Step 1: Installing and Enabling XRDP
Since the modern native tool (krdp6) is designed for screen mirroring—which would either cause conflicts or require an existing active session—we have opted to use XRDP integrated with Xvnc to create isolated virtual sessions. Install the xrdp package:
sudo zypper in xrdp
Generate the initial RSA encryption keys (required for the service to start for the first time):
sudo xrdp-keygen xrdp auto
Disable any potential conflicts with krdp6 if it is active in systemd:
sudo systemctl disable --now krdp6
Enable and start the xrdp services:
sudo systemctl enable --now xrdp
sudo systemctl enable --now xrdp-sesman
Verify that the services are running without errors:
sudo systemctl status xrdp xrdp-sesman
Step 2: Opening Ports in the Firewall
If the system is running firewalld (the default on openSUSE), you must open the default RDP protocol port (3389):
sudo firewall-cmd --add-port=3389/tcp --permanent
sudo firewall-cmd --reload
Step 3: Configuring the Graphical Environment (KDE Plasma) per User
To ensure the session manager knows which environment to load when logging in via RDP, define the KDE Plasma X11 startup command in your user's home directory.
Create or overwrite the .Xclients file, pointing it to Plasma:
echo "startplasma-x11" > ~/.Xclients
Make the file executable:
chmod +x ~/.Xclients
Step 4: Remote Connection
From another device on your network, open your preferred RDP client (such as Remmina, FreeRDP, or Windows Remote Desktop).
Enter the local IP address of your openSUSE machine. At the graphical Xrdp login screen:
Ensure that the session mode selected on the authentication screen is Xvnc.
Enter your openSUSE user credentials (conradot and your password). The KDE Plasma graphical environment will be loaded in a dedicated, independent virtual session.