Remote access to Wayland desktops under Fedora 29
Bird's Eye View
In Fedora 29, you can enable a VNC server on Wayland with a few mouse clicks, thus enabling remote desktop access.
On Linux, the X Window System (short X11) still draws the graphical user interface on the screen in most cases. Thanks to its integrated network functions, it can even transport program windows from remote computers onto the screen if required. This facilitates remote maintenance and simplifies thin client setup. While the computationally intensive application runs on a powerful computer, the user looks at the output on their local PC, which requires very little in terms of resources.
In Wayland, the newly-developed X11 successor, these neat network functions are missing in the plain vanilla version. Although Wayland is leaner and significantly more secure than X11, it lacks some proven functions. If you want to share your desktop on Wayland, you need separate remote desktop software.
Pimped Up
The lack of remote access in Wayland was a thorn in the Fedora team's side. While they used proven components and protocols to restore these missing network capabilities, they had to adapt or slightly modify existing software to meet their goal [1].
The idea was for communication to use the established Virtual Network Computing (VNC) protocol, with encrypted data on the wire and access to the remote desktop only possible for legitimate users. VNC relies on the client-server principle: A server program sends the content to be transferred to a client program, which in turn displays it on the screen.
The LibVNCServer library provides help in creating a VNC server. The Fedora developers first extended this with the functions required for encryption. Using LibVNCServer, the Gnome Remote Desktop implements a VNC server. The developers added the possibility to authenticate users with a password.
They used the relatively young PipeWire for data transfer and data format negotiation [2]. PipeWire's long-term goal is to transport audio and video data to the required locations as quickly as possible.
For the remote desktop function under Fedora, the developers had to adjust the systemd configuration accordingly. The init system can now enable PipeWire via a socket. Finally, the Fedora developers added the matching options in Gnome's System Preferences that allow users to enable or disable Gnome Remote Desktop.
Turn It On
The result of all this work can be found for the first time in Fedora 29 Workstation. The distribution automatically installs the gnome-remote-desktop package and all other components necessary for sharing the desktop. If you are using Fedora 29 with the Wayland session enabled by default, it is not difficult to display the desktop on other computers. In fact, it takes just a few clicks.
To do this, under Settings, select Sharing, and toggle the ON button in the titlebar, as shown in Figure 1. Then click Screen Sharing and enable this with the corresponding ON button in the dialog's titlebar (Figure 2).
Now you have a VNC server running on your system, which allows other computers to display your desktop on their local system. If you want to let the users work actively with the desktop environment, check the Allow connections to control the screen box.
You can expect some of your desktop's would-be users to be up to no good. To prevent this, the software requires you to explicitly grant each request with a mouse click. Alternatively, you can give other people password-based access. To do this, enable the Require a password option and enter a strong password in the input field. Anyone with the password will be able to view the desktop environment from their computer in the future.
Clientele
Next, you need to set up a VNC client for the computers that you want to access your desktop. You can do this on Fedora via Software by installing either Remmina or the Remote Desktop Viewer (aka Vinagre).
Start the client program and connect it to the VNC server – and thus to the machine on which you enabled sharing. In the case of Vinagre, click Connect, set Protocol to VNC, and type the VNC server's IP address or hostname in the Computer field. After you click Connect, Vinagre establishes contact with the remote computer(Figure 3).
If you select Remmina as the remote desktop client, set the combobox at the top left of the input field to VNC. Then enter the VNC server's IP address or hostname and press Enter (Figure 4).
If you previously set a password, you must tell it to the client. Otherwise, Fedora will ask you on the VNC server if you want to share the desktop with the corresponding client (Figure 5). You can confirm by pressing Accept.
In any case, an orange icon in the upper right corner (Figure 6) indicates that at least one other person can see the desktop. The client also presents the VNC server's desktop live.
If you disconnect from the client program, the VNC server may report an error (Oops! …). You can ignore this error: In tests, the release then continued to function without any problems.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Budgie 10.10 Scheduled for Q1 2025 with a Surprising Desktop Update
If Budgie is your desktop environment of choice, 2025 is going to be a great year for you.
-
Firefox 134 Offers Improvements for Linux Version
Fans of Linux and Firefox rejoice, as there's a new version available that includes some handy updates.
-
Serpent OS Arrives with a New Alpha Release
After months of silence, Ikey Doherty has released a new alpha for his Serpent OS.
-
HashiCorp Cofounder Unveils Ghostty, a Linux Terminal App
Ghostty is a new Linux terminal app that's fast, feature-rich, and offers a platform-native GUI while remaining cross-platform.
-
Fedora Asahi Remix 41 Available for Apple Silicon
If you have an Apple Silicon Mac and you're hoping to install Fedora, you're in luck because the latest release supports the M1 and M2 chips.
-
Systemd Fixes Bug While Facing New Challenger in GNU Shepherd
The systemd developers have fixed a really nasty bug amid the release of the new GNU Shepherd init system.
-
AlmaLinux 10.0 Beta Released
The AlmaLinux OS Foundation has announced the availability of AlmaLinux 10.0 Beta ("Purple Lion") for all supported devices with significant changes.
-
Gnome 47.2 Now Available
Gnome 47.2 is now available for general use but don't expect much in the way of newness, as this is all about improvements and bug fixes.
-
Latest Cinnamon Desktop Releases with a Bold New Look
Just in time for the holidays, the developer of the Cinnamon desktop has shipped a new release to help spice up your eggnog with new features and a new look.
-
Armbian 24.11 Released with Expanded Hardware Support
If you've been waiting for Armbian to support OrangePi 5 Max and Radxa ROCK 5B+, the wait is over.