Remote access to Wayland desktops under Fedora 29

Bird's Eye View

Lead Image © M Tomczak, fotolia.com

Lead Image © M Tomczak, fotolia.com

Article from Issue 223/2019
Author(s):

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.

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

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

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Fedora 21

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

  • Fedora 20 Released

    Latest version includes improved security, virtualization, and remote control.

  • Fedora 22

    Fedora 22 was released a week late, but it is seriously impressive with Gnome 3.16 and the new DNF package manager. Only the installer, Anaconda, might cause beginners a headache.

  • Cutting-Edge Fedora 25 Released

    The Fedora project adds Wayland and Gnome 3.22

  • Hawaii Desktop

    The Hawaii desktop relies on Qt Quick, supports Wayland, and comes with its own compositor. Thanks to the Maui Linux system, you can test Hawaii on a Live CD or on a VMware virtual machine.

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95

News