openSUSE Leap 15.1 KDE Plasma 5: My experiments in accessing other desktops remotely using VNC and RDP
I have a few computing machines at home. However, I had never endeavored to connect them holistically. They worked in isolation only thinly connected using the cloud services. All that changed this weekend when a thought was born:
One LAN to rule them all, one LAN to find them, One LAN to bring them all. and in the darkness bind them.
TEST MACHINES
I chose two machines for my tests:
- Dell XPS M1330, Pentium Core 2 Duo T8100 CPU, 4GB RAM, openSUSE Leap 15.1 with KDE Plasma 5 - a 12-year old laptop acting acting as VNC and RDP server.
- Dell Inspiron 3543, Core i3-5005U, 8GB RAM, openSUSE Leap 15.1 with KDE Plasma 5 - a 5-year old laptop that has the VNC and RDP clients installed.
So, with my wlan0
interface configured in to the home
zone in both machines, I began my quest.
TigerVNC - VIRTUAL NETWORK COMPUTING SERVER
TigerVNC is available in openSUSE Leap 15.1 by default. Nothing to install, but a few things to configure.
TigerVNC is a high-performance, platform-neutral implementation of VNC (Virtual Network Computing), a client/server application that allows users to launch and interact with graphical applications on remote machines.
Instaed of using vncviewer
, the client component of TigerVNC, I decided to use Remmina:
sudo zypper in remmina
Opened firewall
The openSUSE firewall is configurable using the YaST Firewall GUI or firewall-cmd
command. Both are functionally equal. I used the GUI to allow TigerVNC server to listen unhindered at its favourite ports.This did not work at all.
Enabled Remote Administration
Further research led me to YaST Remote Administration. Followed all the steps mentioned. No matter what I did, nothing could let me connect.
SDDM does not work with TigerVNC
I simply love KDE Plasma 5. Plasma 5 comes with SDDM (Simple Desktop Display Manager). SDDM hates TigerVNC:
SDDM (Simple Desktop Display Manager), which is the default display manager in KDE5 doesn't support XDMCP. You must switch to different display manager to get login screen in VNC sessions.
I was in no mood to nuke SDDM just so that TigerVNC could have my machines. I decided to look for alternatives.
xrdp - THE REMOTE DESKTOP PROTOCOL SERVER
I installed xrdp:
sudo zypper -n in xrdp
sudo systemctl enable xrdp
sudo systemctl start xrdp
sudo firewall-cmd --add-port=3389/tcp --permanent
sudo firewall-cmd --reload
I had to terminate xrdp
experiments when Remmina endlessly tried to reconnect. It was obvious that Remmina was able to connect, but the connection was dropping immediately. Also, it is very much possible that xrdp
server tries to start another GUI session and fails since I was already logged in in a KDE Plasma 5 session. Needs more research and experiments.
krfb - KDE DESKTOP SHARING
Tired of TigerVNC and xrdp
, I needed an alternative. My search led me to krfb
:
KDE Desktop Sharing (krfb) is a small server for the RFB protocol, better known as VNC. Unlike most other Unix/Linux RFB servers, KRfb allows you to share your X11 session instead of creating a new X11 session.
Since krfb
share X11 session instead of creating a new X11 session, it should theoretically not suffer from the xrdp
issues. Also,:
Krfb (server) is one of a pair of KDE programs - Krdc (client) is the other - that let you share your desktop (make it visible remotely) through the local network with another user, probably somebody like the tech downstairs who you wants to help you figure out how to do something you are having trouble with. You can call the tech on the phone and be talking with her while she assists you.
So, I installed krfb
and krdc
on both my test machines:
sudo zypper in krfb
sudo zypper in krdc
Since krfb
listens on port 5900
, openSUSE firewall needs to be opened on both machines:
sudo firewall-cmd --zone=home --permanent --add-port=5900/tcp
sudo firewall-cmd --reload
The above commands are functionally equal to adding ports manually in the YaST Firewall GUI.
Success at last and connection was established from both machines. However, krdc
was extremely slow. Barely usable. Remmina works satisfactorily.
CONCLUSION
In openSUSE Leap 15.1 with KDE Plasma 5, only krfb
, the VNC server, works with Remmina, the VNC client. TigerVNC made me angry although it was SDDM's fault. xrdp
did not work at all.