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.
Need Help Setting Up?
Ask an AI chatbot of your choice using the following prompt:
Please help me set up my FSRdp client on Linux using this guide:
https://www.fssoft.de/FsRdp/en/InstallingClientLinux.md
Guide me step by step, only one step per response, and wait for my feedback after each command. Never ask me for a password.
The link points to the plain-text version of this page, which a chatbot can read in full rather than the shortened content it often retrieves from HTML pages.
Acceptable use: FSRdp is meant for remote support, collaboration and conversation. In particular, we do not tolerate streaming sports events, films, concerts or broadcasts without the rights holder's permission, transmitting or recording people without their consent, and criminal acts or content of any kind. Violations lead to suspension and may be reported to the police. The client asks for your consent once, at its first start.
Report abuse to
abuse@fssoft.de.
See the
terms of use.
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.
You do not need to open any ports on the client. The client always initiates the connection to the server. Only the
server must be reachable.
2. Download the Right Package
There are two packages; which one you need depends only on the processor:
Everything else comes along automatically. The package names the programs the client needs: PipeWire tools for microphone and speakers, ffmpeg for the camera and a clipboard tool. The package manager installs any that are missing. You do not need to collect anything or run any scripts.
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
Wrong package or 32-bit system? Then the installation stops and reports that the package architecture does not match the system. Download the other package; on a Raspberry Pi, install the 64-bit Raspberry Pi OS if necessary.
Switching from the former ZIP installation: Simply install the package over it. It takes over the program folder, removes the old menu entry and launcher, and keeps your settings.
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:
Check that it is running:
systemctl status fsrdp-input.service --no-pager
Why Use a Dedicated Service?
The standard ydotool service makes its control interface writable by all users, so anyone signed in could generate keyboard input for other users. By contrast, FSRdp's
fsrdp-input.service restricts the interface to your account.
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 Name | The display name other participants see. |
| Server Address | Your server's DNS name, e.g. server.ihrefirma.de. Do not use an IP address : the certificate is issued for the name. |
| Ports | Normally 8888 and 8889. |
| Spoken Language | Determines 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 Key | If you have one, it makes you the owner of rooms you create. |
The settings dialog cannot be opened during an active session. Configure settings before joining a room.
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.
Connecting to a Server without a License?
During its 30-day trial period, a server accepts exactly one
room number: 123456789. Any other number is rejected with an explanatory message. The room can remain open for up to 24 hours and can be reopened immediately afterwards; all participants see a watermark. On a licensed server, this particular number is blocked instead.
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
- Is the microphone muted in the client?
- Is the correct recording device selected in settings?
- Is PipeWire running?
systemctl --user status pipewire
- 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.