Remote access to Wayland desktops under Fedora 29
Bird's Eye View
![Lead Image © M Tomczak, fotolia.com Lead Image © M Tomczak, fotolia.com](/var/linux_magazin/storage/images/issues/2019/223/gnome-remote-desktop/po-20932-fotolia-m_tomczak_fotolia-menschenmenge_resized.png/748434-1-eng-US/PO-20932-Fotolia-M_Tomczak_Fotolia-Menschenmenge_resized.png_medium.png)
Lead Image © M Tomczak, fotolia.com
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).
![](/var/linux_magazin/storage/images/issues/2019/223/gnome-remote-desktop/figure-1/748437-1-eng-US/Figure-1_large.png)
![](/var/linux_magazin/storage/images/issues/2019/223/gnome-remote-desktop/figure-2/748440-1-eng-US/Figure-2_large.png)
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.
![](/var/linux_magazin/storage/images/issues/2019/223/gnome-remote-desktop/figure-6/748452-1-eng-US/Figure-6_large.png)
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.
![Learn More](https://www.linux-magazine.com/var/linux_magazin/storage/images/media/linux-magazine-eng-us/images/misc/learn-more/834592-1-eng-US/Learn-More_medium.png)
News
-
NVIDIA Released Driver for Upcoming NVIDIA 560 GPU for Linux
Not only has NVIDIA released the driver for its upcoming CPU series, it's the first release that defaults to using open-source GPU kernel modules.
-
OpenMandriva Lx 24.07 Released
If you’re into rolling release Linux distributions, OpenMandriva ROME has a new snapshot with a new kernel.
-
Kernel 6.10 Available for General Usage
Linus Torvalds has released the 6.10 kernel and it includes significant performance increases for Intel Core hybrid systems and more.
-
TUXEDO Computers Releases InfinityBook Pro 14 Gen9 Laptop
Sporting either AMD or Intel CPUs, the TUXEDO InfinityBook Pro 14 is an extremely compact, lightweight, sturdy powerhouse.
-
Google Extends Support for Linux Kernels Used for Android
Because the LTS Linux kernel releases are so important to Android, Google has decided to extend the support period beyond that offered by the kernel development team.
-
Linux Mint 22 Stable Delayed
If you're anxious about getting your hands on the stable release of Linux Mint 22, it looks as if you're going to have to wait a bit longer.
-
Nitrux 3.5.1 Available for Install
The latest version of the immutable, systemd-free distribution includes an updated kernel and NVIDIA driver.
-
Debian 12.6 Released with Plenty of Bug Fixes and Updates
The sixth update to Debian "Bookworm" is all about security mitigations and making adjustments for some "serious problems."
-
Canonical Offers 12-Year LTS for Open Source Docker Images
Canonical is expanding its LTS offering to reach beyond the DEB packages with a new distro-less Docker image.
-
Plasma Desktop 6.1 Released with Several Enhancements
If you're a fan of Plasma Desktop, you should be excited about this new point release.