Remote access to Wayland desktops under Fedora 29

Bird's Eye View

Lead Image © M Tomczak,

Lead Image © M Tomczak,

Article from Issue 223/2019

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).

Figure 1: The Gnome Remote Desktop is hidden under Screen Sharing. With the settings shown here, clients can later access the desktop on the computer named Fedora 29.
Figure 2: With the settings shown here, you have to explicitly confirm every client's connection request.

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.


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).

Figure 3: Connecting to a remote computer with Vinagre.

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).

Figure 4: Enter the IP address in the Remmina Remote Desktop Client dialog box.

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.

Figure 5: By pressing Accept, a waiting client is permitted to view the desktop.

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.

Figure 6: You can disconnect from the client program at any time via the System menu, which will terminate the client's access to your desktop.

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

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Wayland

    The X11 graphics protocol is showing some serious signs of age, but Wayland is poised to come to the rescue.

  • This Month's DVD

    Parrot OS 4.11 and Fedora Workstation 35

  • DWS Remote Control

    DWS Remote Control offers convenient browser access to computers outside of your home network.

  • Fedora 21

    Fedora 21 appears with a new vision and some interesting new tools for developers and system administrators.

  • This Month's DVD

    Ubuntu 21.04 and Fedora 34 Workstation

comments powered by Disqus
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.

Learn More