Rustdesk wayland
RustDesk sur EndeavourOS/CachyOS KDE Plasma avec serveur relais sur VPS
Cette installation utilise :
- Client RustDesk sur EndeavourOS ou CachyOS avec KDE Plasma.
- Serveur RustDesk OSS sur un VPS.
- Les deux services serveur :
hbbs: serveur d’identification/rendez-vous ;hbbr: serveur relais lorsque la connexion directe échoue.
Docker Compose est la méthode recommandée par la documentation RustDesk pour un serveur Linux : elle facilite les mises à jour, la sauvegarde et la migration.
1. Installer RustDesk sur EndeavourOS ou CachyOS
Mettez le système à jour :
1
sudo pacman -Syu
Installez les outils AUR si nécessaire :
1
sudo pacman -S --needed base-devel git
Avec paru :
1
paru -S rustdesk-bin
Ou avec yay :
1
yay -S rustdesk-bin
rustdesk-bin est généralement préférable à la compilation complète du paquet RustDesk. Si vous ne souhaitez pas utiliser l’AUR, téléchargez le paquet AppImage ou le paquet Linux depuis la page officielle de téléchargement, puis rendez-le exécutable.
Vérifiez l’installation :
1
rustdesk --version
Lancez RustDesk :
1
rustdesk
Pour lancer automatiquement RustDesk avec la session KDE, ajoutez-le aux applications de démarrage :
Configuration du système → Démarrage et extinction → Démarrage automatique → Ajouter une application, puis sélectionnez RustDesk.
2. Particularités de KDE Plasma sous Wayland
Sous Plasma Wayland, RustDesk doit obtenir l’autorisation de capturer l’écran et de contrôler les périphériques d’entrée. Lors de la première connexion, acceptez les demandes de partage d’écran et de contrôle à distance affichées par KDE.
Si la session Wayland pose problème, vérifiez la session utilisée :
1
echo "$XDG_SESSION_TYPE"
Résultat attendu :
1
wayland
Pour une assistance ponctuelle, Wayland fonctionne généralement correctement avec les versions récentes de RustDesk. Si l’écran distant est noir, si le clavier ne répond pas ou si le contrôle est incomplet :
- mettez RustDesk à jour ;
- relancez RustDesk après l’ouverture de session KDE ;
- vérifiez les autorisations de partage d’écran de KDE ;
- testez provisoirement une session Plasma (X11) depuis l’écran de connexion.
3. Préparer le VPS
L’exemple ci-dessous suppose un VPS Debian ou Ubuntu accessible en SSH.
Connectez-vous :
1
ssh root@ADRESSE_IP_DU_VPS
Mettez le système à jour :
1
apt update && apt full-upgrade -y
Installez Docker :
1
curl -fsSL https://get.docker.com | sh
Activez Docker au démarrage :
1
systemctl enable --now docker
Créez le répertoire du serveur :
1
2
mkdir -p /opt/rustdesk/data
cd /opt/rustdesk
4. Créer le fichier Docker Compose
Créez /opt/rustdesk/compose.yml :
1
nano /opt/rustdesk/compose.yml
Collez ceci :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs
volumes:
- ./data:/root
network_mode: "host"
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped
Le mode réseau host est recommandé sur Linux dans ce cas : hbbs et hbbr voient directement les adresses IP entrantes et il n’est pas nécessaire d’ajouter des redirections de ports Docker.
Démarrez les conteneurs :
1
2
cd /opt/rustdesk
docker compose -f compose.yml up -d
Vérifiez leur état :
1
docker compose -f compose.yml ps
Vous devez voir hbbs et hbbr en état running.
Consultez les journaux :
1
docker compose -f compose.yml logs -f
Pour arrêter les services :
1
docker compose -f compose.yml down
5. Ouvrir les ports du VPS
Pour un serveur RustDesk OSS classique, ouvrez au minimum :
| Port | Protocole | Fonction |
|---|---|---|
| 21115 | TCP | Test NAT |
| 21116 | TCP et UDP | Identification, rendez-vous et hole punching |
| 21117 | TCP | Relais hbbr |
Les ports 21118 et 21119 concernent le client Web et peuvent rester fermés si vous ne l’utilisez pas. Le port 21114 concerne principalement des fonctions Pro.
Avec UFW :
1
2
3
4
5
6
7
8
9
10
11
12
13
apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 21115/tcp
ufw allow 21116/tcp
ufw allow 21116/udp
ufw allow 21117/tcp
ufw enable
ufw status verbose
Si SSH n’utilise pas le port 22, remplacez la règle par le port approprié avant d’activer UFW.
Vérifiez les ports en écoute :
1
ss -lntup | grep -E '21115|21116|21117'
Vérifiez également le pare-feu fourni par l’hébergeur du VPS : certains fournisseurs ont un pare-feu réseau séparé d’UFW.
6. Récupérer la clé publique RustDesk
Au premier démarrage, RustDesk génère les clés dans :
1
/opt/rustdesk/data/
Affichez la clé publique :
1
cat /opt/rustdesk/data/id_ed25519.pub
Vous pouvez aussi l’obtenir depuis les journaux :
1
docker logs hbbs 2>&1 | grep 'Key:'
La clé à utiliser dans les clients est la clé publique, jamais le fichier privé id_ed25519. Sauvegardez au minimum tout le répertoire :
1
tar -czf /root/rustdesk-data-$(date +%F).tar.gz /opt/rustdesk/data
Ne publiez jamais le contenu de :
1
/opt/rustdesk/data/id_ed25519
La documentation indique que les clients ont besoin de l’adresse du serveur d’identification et de la clé publique du serveur.
7. Configurer le client RustDesk sous KDE
Sur chaque poste EndeavourOS/CachyOS :
- Ouvrez RustDesk.
- Cliquez sur le menu ⋮ ou Paramètres.
- Ouvrez Réseau.
- Dans Serveur ID, indiquez :
1
ADRESSE_IP_OU_DOMAINE_DU_VPS
- Dans Clé, collez le contenu de :
1
cat /opt/rustdesk/data/id_ed25519.pub
- Laissez les autres champs vides pour une installation OSS standard.
- Redémarrez RustDesk.
Si vous utilisez un nom DNS, vous pouvez saisir par exemple :
1
rustdesk.example.net
Le champ Serveur relais peut généralement rester vide : hbbs transmettra automatiquement l’adresse du relais hbbr. Si vous devez le renseigner manuellement, utilisez :
1
rustdesk.example.net
La configuration doit être identique sur le poste contrôleur et sur le poste contrôlé.
8. Tester le fonctionnement
Sur les deux ordinateurs :
1
rustdesk
Vérifiez que chacun affiche un identifiant.
Depuis le poste contrôleur :
- saisissez l’identifiant de l’autre ordinateur ;
- cliquez sur Connexion ;
- validez la demande sur le poste distant ;
- testez le clavier, la souris et l’affichage.
Sur le VPS, surveillez les journaux pendant le test :
1
docker logs -f hbbs
Dans un autre terminal :
1
docker logs -f hbbr
Si hbbs fonctionne mais que hbbr ne reçoit rien, la connexion est probablement directe. Le relais n’est utilisé que lorsque la connexion directe échoue ; le trafic relais peut varier fortement selon la résolution et le contenu de l’écran.
9. Mise à jour du serveur
Avant une mise à jour, sauvegardez les données :
1
tar -czf /root/rustdesk-data-backup-$(date +%F).tar.gz /opt/rustdesk/data
Puis mettez à jour l’image :
1
2
3
4
cd /opt/rustdesk
docker compose -f compose.yml pull
docker compose -f compose.yml up -d
docker image prune
Contrôlez l’état :
1
2
docker compose -f compose.yml ps
docker compose -f compose.yml logs --tail=100
10. Dépannage rapide
Les clients indiquent “serveur indisponible”
1
2
3
docker compose -f /opt/rustdesk/compose.yml ps
ufw status
ss -lntup | grep -E '21115|21116|21117'
Vérifiez aussi les règles du pare-feu du fournisseur VPS.
Le poste apparaît, mais la connexion ne s’établit pas
- vérifiez le port
21117/tcp; - vérifiez que la clé est exactement celle de
id_ed25519.pub; - vérifiez que les deux clients utilisent le même serveur ID ;
- redémarrez RustDesk sur les deux postes.
Écran noir sous KDE Wayland
- acceptez l’autorisation de partage d’écran ;
- relancez RustDesk après la connexion KDE ;
- essayez Plasma X11 pour isoler un problème Wayland ;
- mettez à jour KDE Plasma et RustDesk.
La clé ne fonctionne plus
Ne régénérez pas les clés sans nécessité. Si elles sont supprimées, tous les clients devront recevoir la nouvelle clé publique. Vérifiez que le montage Docker conserve bien :
1
- ./data:/root
Sans ce volume persistant, les clés peuvent être perdues lors de la recréation du conteneur.