# FSRdp Client unter Linux installieren

Für Linux Mint, Ubuntu, Debian und Raspberry Pi OS (64 Bit). Installiert wird ein
gewöhnliches Debian-Paket – auf dem PC reicht meist ein Doppelklick, auf dem Raspberry
Pi ein einziger Befehl.

> Reine Textfassung der Seite <https://www.fssoft.de/FsRdp/InstallingClientLinux.aspx>
> für KI-Assistenten und zum Ausdrucken. Inhaltlich identisch mit der HTML-Fassung;
> maßgeblich ist im Zweifel die Seite selbst.
>
> Automatisch erzeugt aus der Seite (FsRdp/Build-InstallDocs.ps1) – Änderungen
> bitte in der .aspx vornehmen, nicht hier.

> **Zulässige Nutzung:** FSRdp dient der Fernwartung, der Zusammenarbeit und dem Gespräch.
> Nicht geduldet werden insbesondere die Übertragung von Sportveranstaltungen, Kinofilmen,
> Konzerten oder Sendungen ohne Erlaubnis des Rechteinhabers, die Übertragung oder
> Aufnahme von Personen ohne deren Einwilligung sowie strafbare Handlungen oder Inhalte
> jeder Art. Verstöße führen zur Sperrung und können zur Anzeige gebracht werden. Der
> Client fragt beim ersten Start einmal nach Ihrer Zustimmung. Hinweise auf Missbrauch an
> [abuse@fssoft.de](mailto:abuse@fssoft.de). Es gelten die
> [Nutzungsbedingungen](https://www.fssoft.de/Nutzungsbedingungen.aspx).

## Inhalt

1. Voraussetzungen
2. Das richtige Paket herunterladen
3. Paket installieren
4. Fernsteuerung dieses Rechners ermöglichen
5. Mikrofon, Ton und Echounterdrückung
6. Einstellungen: Server, Name, Sprache
7. Den ersten Raum betreten
8. Unterschiede zum Windows-Client
9. Updates und Deinstallation
10. Häufige Probleme

---

## 1. Voraussetzungen

- **Ein Linux mit grafischer Oberfläche.** Getestet sind Linux Mint 22 und Ubuntu (x64)
  sowie Raspberry Pi OS (64 Bit) auf Raspberry Pi 5. Auf einem Server ohne Desktop läuft
  der Client nicht.
- Ein 64-Bit-System: `amd64` für Intel-/AMD-Rechner, `arm64` für den Raspberry Pi.
  Prüfen mit `dpkg --print-architecture`. 32-Bit-Linux wird nicht unterstützt.
- Keine separate .NET-Installation – das Paket ist eigenständig.
- Den **Servernamen** und die Ports Ihres FsRdpServers (Standard `8888` und `8889`).
- Ein Konto mit `sudo`-Rechten für die Installation.

> **Am Client müssen Sie keine Ports freigeben.** Der Client baut die Verbindung immer von
> sich aus zum Server auf. Nur der *Server* muss erreichbar sein.

---

## 2. Das richtige Paket herunterladen

Es gibt zwei Pakete – welches Sie brauchen, hängt nur vom Prozessor ab:

| Datei | Für |
|---|---|
| [`fsrdp-client_amd64.deb`](https://www.fssoft.de/FsRdp/Downloads/LinuxX64/fsrdp-client_amd64.deb) | PCs und Notebooks mit Intel- oder AMD-Prozessor (Linux Mint, Ubuntu, Debian) |
| [`fsrdp-client_arm64.deb`](https://www.fssoft.de/FsRdp/Downloads/LinuxArm64/fsrdp-client_arm64.deb) | Raspberry Pi 4/5 mit Raspberry Pi OS (64 Bit) und andere ARM64-Rechner |

> **Alles Nötige kommt automatisch mit.** Das Paket nennt die Programme, die der Client
> braucht – PipeWire-Werkzeuge für Mikrofon und Lautsprecher, ffmpeg für die Kamera, ein
> Werkzeug für die Zwischenablage. Fehlende installiert die Paketverwaltung bei der
> Installation selbst. Sie müssen nichts zusammensuchen und keine Skripte ausführen.

---

## 3. Paket installieren

### Schritt 1: Per Doppelklick (Linux Mint, Ubuntu)

Öffnen Sie im Dateimanager den Ordner Downloads und doppelklicken Sie auf die
heruntergeladene Datei. Die Softwareinstallation öffnet sich: Klicken Sie auf
**Installieren** und bestätigen Sie mit Ihrem Passwort.

### Schritt 2: Oder im Terminal (auch auf dem Raspberry Pi)

Raspberry Pi OS hat keine Softwareinstallation für einzelne Dateien – dort und überall
sonst genügt ein Befehl im Terminal (Strg+Alt+T):

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

Auf einem PC heißt die Datei `fsrdp-client_amd64.deb`. Wichtig ist das `./` vor dem
Dateinamen – ohne sucht apt im Internet nach einem Paket dieses Namens.

### Schritt 3: Starten

FSRdpClient steht danach im Anwendungsmenü. Beim ersten Start fragt er einmal nach Ihrer
Zustimmung zu den Nutzungsbedingungen. Alternativ im Terminal:

```bash
fsrdp-client
```

> **Falsches Paket oder 32-Bit-System?** Dann bricht die Installation ab und meldet, dass
> die Architektur des Pakets nicht zum System passt. Laden Sie das andere Paket herunter –
> auf dem Raspberry Pi installieren Sie gegebenenfalls das 64-Bit-Raspberry-Pi-OS.

> **Umstieg von der früheren ZIP-Installation:** Installieren Sie das Paket einfach
> darüber. Es übernimmt den Programmordner, entfernt den alten Menüeintrag und
> Startbefehl, und Ihre Einstellungen bleiben erhalten.

---

## 4. Fernsteuerung dieses Rechners ermöglichen

Nur nötig, wenn **Ihr** Rechner von jemand anderem gesteuert werden soll. Wollen Sie
umgekehrt nur andere steuern, können Sie diesen Abschnitt überspringen.

Unter Linux darf ein normales Programm keine Tastatur- und Mausereignisse erzeugen.
Dafür richtet das Paket den kleinen Systemdienst `ydotoold` als `fsrdp-input.service`
für Ihr Benutzerkonto ein – vorausgesetzt, `ydotool` ist ab Version 1.0 vorhanden. Das
hängt vom System ab:

- **Raspberry Pi OS (Debian 13 „trixie“):** ydotool 1.0 liegt in den Debian-Backports.
  Dieser eine Befehl richtet die Paketquelle ein und installiert ydotool samt Dienst:

  ```bash
  sudo /opt/fsrdp-client/setup-remote-input.sh --install-ydotool
  ```
- **Linux Mint 22, Ubuntu 24.04:** Diese Systeme bringen nur ydotool 0.1.8 mit. Dieser
  Rechner lässt sich damit derzeit nicht fernsteuern – alles andere funktioniert, auch
  das Fernsteuern anderer Rechner. Die alte Version installiert das Paket bewusst nicht:
  Ihr eigener Dienst wäre für alle Benutzer des Rechners beschreibbar.

Prüfen, ob er läuft:

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

> **Warum ein eigener Dienst und nicht der mitgelieferte?** Der Standarddienst von ydotool
> legt seine Steuerschnittstelle für alle Benutzer beschreibbar an – wer sich am Rechner
> anmeldet, könnte damit Tastatureingaben aller anderen erzeugen. Der von FSRdp
> eingerichtete `fsrdp-input.service` beschränkt die Schnittstelle auf Ihr Konto.

---

## 5. Mikrofon, Ton und Echounterdrückung

Anders als unter Windows gibt es keine Berechtigungsschalter – wenn PipeWire läuft und
ein Mikrofon angeschlossen ist, funktioniert es. Die Geräteauswahl treffen Sie in den
Einstellungen des Clients.

**Ohne Echounterdrückung arbeitet der Client im Wechselsprechbetrieb:** Solange er
hörbaren Raum-Ton abspielt, pausiert er Ihr Mikrofon. Sonst würde Ihr Mikrofon den Ton
der anderen wieder einfangen und alle hörten sich verzögert selbst. Mit einem Headset
fällt das nicht auf.

Wollen Sie ohne Headset arbeiten und gleichzeitig sprechen können, aktivieren Sie die
Echounterdrückung von PipeWire einmalig pro Rechner:

```bash
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
```

Prüfen Sie danach mit `wpctl status`: Dort erscheinen „Echo-Cancel Source“ und
„Echo-Cancel Sink“, und der Client meldet beim Betreten eines Raums „Echo cancellation
is active (full duplex)“. Das gilt, solange in den Einstellungen kein bestimmtes Gerät
ausgewählt ist.

---

## 6. Einstellungen: Server, Name, Sprache

Öffnen Sie die Einstellungen über das Zahnrad-Symbol und tragen Sie ein:

| Feld | Bedeutung |
|---|---|
| Ihr Name | Der Anzeigename, den die anderen Teilnehmer sehen. |
| Serveradresse | Der DNS-Name Ihres Servers, z. B. `server.ihrefirma.de`. **Keine IP-Adresse** – das Zertifikat lautet auf den Namen. |
| Ports | Normalerweise `8888` und `8889`. |
| Gesprochene Sprache | Bestimmt, in welcher Sprache Ihre Rede erkannt wird und in welcher Sprache Sie die Untertitel der anderen mitlesen. Nur relevant, wenn Ihr Server Live-Untertitel anbietet. |
| Supporter-Schlüssel | Falls Sie einen haben: Er macht Sie zum Besitzer der Räume, die Sie eröffnen. |

> Der Einstellungsdialog lässt sich **während einer laufenden Sitzung nicht öffnen**.
> Nehmen Sie Ihre Einstellungen vor, bevor Sie einem Raum beitreten.

---

## 7. Den ersten Raum betreten

Ein **Raum** ist der virtuelle Treffpunkt: Wer dieselbe Raumnummer eingibt, landet
zusammen in einer Sitzung. Tragen Sie die Nummer ein, die Sie bekommen haben, und
verbinden Sie sich. Solange Sie allein im Raum sind, sind Bildschirmfreigabe, Chat und
Dateiversand deaktiviert – es gäbe niemanden, der etwas empfängt.

Beim Teilen des Bildschirms zeigt ein roter Rahmen dauerhaft an, welcher Bereich
übertragen wird. Es kann immer nur eine Person gleichzeitig teilen; wer neu startet,
übernimmt.

> **Verbinden Sie sich mit einem Server ohne Lizenz?** Ein Server in seiner 30-tägigen
> Testphase kennt genau **eine** Raumnummer: `123456789`. Jede andere Nummer lehnt er mit
> einem entsprechenden Hinweis ab. Der Raum darf **bis zu 24 Stunden** offen bleiben und
> lässt sich danach sofort wieder öffnen; alle Teilnehmer sehen dabei ein Wasserzeichen.
> Auf einem lizenzierten Server ist genau diese Nummer umgekehrt gesperrt.

---

## 8. Unterschiede zum Windows-Client

Beide Clients können dasselbe – mit drei Ausnahmen, die an der Plattform liegen:

- **Keine Sitzungsaufnahme.** Eine Sitzung als Videodatei aufzeichnen kann nur der
  Windows-Client. Der Linux-Client zeigt den Hinweis an, solange jemand anderes
  aufzeichnet, kann aber selbst keine Aufnahme starten.
- **Zwischenablage nur als Text.** Formatierte Inhalte (Tabellen, formatierter Text)
  überträgt der Linux-Client nicht; er verwendet den mitgelieferten Klartext. Für X11
  und Wayland gibt es dafür keinen einheitlichen Weg.
- **Ein zweiter Start holt kein Fenster nach vorn.** Auch hier läuft der Client nur
  einmal je Benutzer – der zweite Start zeigt aber nur einen Hinweis und endet, weil
  Wayland-Compositoren das Aktivieren fremder Fenster verweigern.

Die Beschränkung auf eine Instanz hat denselben Grund wie unter Windows: Eine zweite
Instanz würde den Raum-Ton der ersten über das gemeinsame Mikrofon wieder einfangen –
dagegen hilft weder die Wechselsprech-Automatik noch PipeWires Echounterdrückung, weil
beide nur den eigenen Wiedergabestrom kennen.

---

## 9. Updates und Deinstallation

Der Client prüft beim Start seinen Updatekanal – x64 und ARM64 werden getrennt geführt.
Ein Update wird erst nach Rückfrage heruntergeladen; geprüft werden ein kryptografisch
signiertes Manifest sowie Paketgröße und SHA-256-Prüfsumme. Erst danach folgt die
Rückfrage nach Ihrem Passwort, und apt installiert das neue Paket – samt Abhängigkeiten,
die eine neue Version vielleicht braucht. Im Hintergrund wird nichts stillschweigend
installiert.

Entfernen lässt sich der Client wie jedes andere Programm in der Anwendungsverwaltung
oder im Terminal. Ihre persönlichen Einstellungen in ~/.config/FsRdpClient bleiben dabei
erhalten:

```bash
sudo apt remove fsrdp-client
```

---

## 10. Häufige Probleme

### Ein Doppelklick öffnet ein Archivprogramm statt der Installation

Ihr System hat keine grafische Installation für einzelne Pakete – auf Raspberry Pi OS
ist das normal. Nehmen Sie den Terminal-Befehl aus Abschnitt 3.

### Die Bildschirmfreigabe bleibt schwarz oder startet nicht

Unter X11 (Linux Mint, Xubuntu) nimmt der Client den Bildschirm selbst auf. Unter
Wayland braucht er `grim` (Raspberry Pi OS und andere wlroots-Desktops) bzw.
`gnome-screenshot` (GNOME); das Paket bringt beide als Empfehlung mit. Welche
Sitzungsart läuft, verrät:

```bash
echo $XDG_SESSION_TYPE
```

### Die Fernsteuerung meines Rechners funktioniert nicht

Prüfen Sie `systemctl status fsrdp-input.service`. Fehlt der Dienst, war ydotool 1.0 bei
der Installation nicht vorhanden – siehe Abschnitt 4. Ist es inzwischen da, richtet
`sudo /opt/fsrdp-client/setup-remote-input.sh` den Dienst nachträglich ein.

### Der Mauszeiger springt beim Fernsteuern

Auf labwc-Systemen braucht das virtuelle Eingabegerät ein flaches Beschleunigungsprofil.
Die Installation legt dafür eine passende `rc.xml` an – existierte bereits eine eigene,
bleibt sie unangetastet, und Sie übernehmen den Abschnitt aus
/opt/fsrdp-client/labwc-rc.xml selbst.

### Man hört mich nicht

1. Ist das Mikrofon im Client stummgeschaltet?
2. Ist in den Einstellungen das richtige Aufnahmegerät gewählt?
3. Läuft PipeWire? `systemctl --user status pipewire`
4. Spielt der Client gerade Raum-Ton ab? Dann pausiert das Mikrofon absichtlich
   (Abschnitt 5).

### Der Client verbindet sich nicht

Prüfen Sie Serveradresse (Name, keine IP) und die beiden Portnummern. Ob der Name
überhaupt auflöst, zeigt `getent hosts server.ihrefirma.de`. Kommt keine Antwort, liegt
das Problem im DNS und nicht am Client.

---

## Weiterführend

- [Dieselbe Anleitung für
  Windows](https://www.fssoft.de/FsRdp/InstallingClientWindows.aspx)
- [Eigenen Server unter Linux
  betreiben](https://www.fssoft.de/FsRdp/InstallingServerLinux.aspx)
- [Lizenzbedingungen](https://www.fssoft.de/FsRdp/Lizenz.aspx)

**Etwas funktioniert nicht wie beschrieben?** Schreiben Sie mir – ich helfe gerne
weiter.

Robert Fischbacher

[Direkt Kontakt aufnehmen](https://www.fssoft.de/Impressum.aspx)
