Back to Client Overview

Install the FSRdp Client on Linux

For Linux Mint, Ubuntu, Debian and Raspberry Pi OS (64-bit). The client is an ordinary Debian package: on a PC a double-click is usually enough, on a Raspberry Pi a single command.

1. Prerequisites

  • Linux with a graphical desktop. Tested on Linux Mint 22 and Ubuntu (x64) and on Raspberry Pi OS (64-bit) on Raspberry Pi 5. The client does not run on a server without a desktop.
  • A 64-bit system: amd64 for Intel/AMD computers, arm64 for Raspberry Pi. Check with dpkg --print-architecture. 32-bit Linux is not supported.
  • No separate .NET installation; the package is self-contained.
  • The server name and ports of your FsRdpServer (default 8888 and 8889).
  • An account with sudopermissions for installation.

2. Download the Right Package

There are two packages; which one you need depends only on the processor:

FileFor
fsrdp-client_amd64.deb PCs and laptops with an Intel or AMD processor (Linux Mint, Ubuntu, Debian)
fsrdp-client_arm64.deb Raspberry Pi 4/5 with Raspberry Pi OS (64-bit) and other ARM64 computers

3. Install the Package

1

With a Double-Click (Linux Mint, Ubuntu)

Open the Downloads folder in the file manager and double-click the downloaded file. The software installer opens: click Install and confirm with your password.

2

Or in a Terminal (Also on Raspberry Pi)

Raspberry Pi OS has no software installer for individual files. There, and everywhere else, one command in a terminal (Ctrl+Alt+T) is enough:

cd ~/Downloads
sudo apt install ./fsrdp-client_arm64.deb

On a PC the file is named fsrdp-client_amd64.deb. The ./ before the file name matters: without it, apt looks for a package of that name on the internet.

3

Start

FSRdpClient then appears in the application menu. On first start it asks once for your consent to the terms of use. Alternatively, in a terminal:

fsrdp-client

4. Enable Remote Control of This Computer

Only required if your computer should be controlled by someone else. If you only want to control other computers, skip this section.

On Linux, an ordinary program cannot generate keyboard and mouse events. For this, the package sets up the small system service ydotoold as fsrdp-input.service for your user account, provided ydotool version 1.0 or later is available. That depends on the system:

  • Raspberry Pi OS (Debian 13 "trixie"): ydotool 1.0 is in Debian backports. This one command adds the repository and installs ydotool together with the service:
    sudo /opt/fsrdp-client/setup-remote-input.sh --install-ydotool
  • Linux Mint 22, Ubuntu 24.04: These systems only ship ydotool 0.1.8, so this computer cannot be remotely controlled for now. Everything else works, including controlling other computers. The package deliberately does not install the old version: its own service would be writable for every user of the computer.

Check that it is running:

systemctl status fsrdp-input.service --no-pager

5. Microphone, Audio and Echo Cancellation

Unlike Windows, there are no permission switches: if PipeWire is running and a microphone is connected, it works. Select devices in the client's settings.

Without echo cancellation, the client uses half-duplex audio: while playing audible room audio, it pauses your microphone. Otherwise it would capture other participants' sound and everyone would hear a delayed echo. With a headset, this is not noticeable.

To work without a headset and still talk at the same time, enable PipeWire's echo cancellation once per computer:

mkdir -p ~/.config/pipewire/pipewire.conf.d
cat > ~/.config/pipewire/pipewire.conf.d/99-echo-cancel.conf <<'EOF'
context.modules = [
  { name = libpipewire-module-echo-cancel }
]
EOF
systemctl --user restart pipewire pipewire-pulse

Then check with wpctl status: "Echo-Cancel Source" and "Echo-Cancel Sink" appear there, and the client reports "Echo cancellation is active (full duplex)" when joining a room. This applies as long as no specific device is selected in the settings.

6. Settings: Server, Name and Language

Open settings using the gear icon and enter:

Your NameThe display name other participants see.
Server AddressYour server's DNS name, e.g. server.ihrefirma.de. Do not use an IP address : the certificate is issued for the name.
PortsNormally 8888 and 8889.
Spoken LanguageDetermines the language in which your speech is recognized and in which you read other participants' captions. Only relevant if your server offers live captions.
Supporter KeyIf you have one, it makes you the owner of rooms you create.

7. Join Your First Room

A room is a virtual meeting place. Everyone entering the same room number joins the same session. Enter the number you received and connect. While alone in a room, screen sharing, chat and file sending are disabled, since there is no one to receive them.

When sharing your screen, a red border continuously shows the transmitted area. Only one person can share at a time; starting a new share replaces the current one.

8. Differences from the Windows Client

Both clients offer the same features, with three platform-specific exceptions:

  • No session recording. Only the Windows client can record a session as a video file. The Linux client displays a notice while someone else records, but cannot start a recording itself.
  • Plain-text clipboard only. The Linux client does not transfer formatted content such as tables or styled text; it uses the included plain-text representation. There is no common way to transfer formatted clipboard content across X11 and Wayland.
  • Starting again does not bring the window forward. Only one client instance runs per user here as well. A second launch displays a notice and exits because Wayland compositors refuse requests to activate another application's windows.

The single-instance limit has the same reason as on Windows: a second instance would recapture the first instance's room audio through the shared microphone. Neither half-duplex switching nor PipeWire echo cancellation can prevent this, since each only knows its own playback stream.

9. Updates and Uninstallation

At startup, the client checks its update channel; x64 and ARM64 are separate. Updates are downloaded only after confirmation. A cryptographically signed manifest, package size and SHA-256 checksum are verified before you are asked for your password, and apt installs the new package, including any dependencies a new version may need. Nothing is silently installed in the background.

Remove the client like any other program in the application manager or in a terminal. Your personal settings in ~/.config/FsRdpClient are kept:

sudo apt remove fsrdp-client

10. Common Problems

A Double-Click Opens an Archive Program Instead of the Installer

Your system has no graphical installer for individual packages; this is normal on Raspberry Pi OS. Use the terminal command from section 3.

Screen Sharing Is Black or Does Not Start

On X11 (Linux Mint, Xubuntu) the client captures the screen itself. On Wayland it needs grim (Raspberry Pi OS and other wlroots desktops) or gnome-screenshot (GNOME); the package recommends both. To identify your session type:

echo $XDG_SESSION_TYPE

Remote Control of My Computer Does Not Work

Check systemctl status fsrdp-input.service. If the service is missing, ydotool 1.0 was not available during installation; see section 4. Once it is, sudo /opt/fsrdp-client/setup-remote-input.sh sets the service up afterwards.

The Mouse Pointer Jumps During Remote Control

On labwc systems, the virtual input device needs a flat acceleration profile. Installation creates an appropriate rc.xml file. If your own file already exists, it is left unchanged and you copy the section from /opt/fsrdp-client/labwc-rc.xml yourself.

Others Cannot Hear Me

  1. Is the microphone muted in the client?
  2. Is the correct recording device selected in settings?
  3. Is PipeWire running? systemctl --user status pipewire
  4. Is the client currently playing room audio? The microphone is intentionally paused in that case (section 5).

The Client Does Not Connect

Check the server address (name, rather than IP) and both port numbers. To check name resolution, run getent hosts server.ihrefirma.de. If there is no answer, the problem is DNS rather than the client.

Something Not Working as Described? Please write to me; I am happy to help.

Robert Fischbacher

Contact Me Directly