Synergy est un fantastique outil permettant de partager par le réseau un clavier et une souris entre deux ordinateurs, aux OS différents, équipés chacun de leur écran. Cela permet de se retrouver dans une configuration double-écran avec deux ordinateurs Windows et Linux par exemple. Malheureusement, Synergy n’est pas compatible avec le serveur X Wayland utilisé par défaut par Debian 10.
Installer Synergy sur Debian 10
Ancienne version
Le logiciel Synergy (client et serveur) en version open-source a été retiré des dépôts Debian 10 et c’est son fork open-source Barrier qui prend sa place. La société Symless derrière Synergy a décidé de proposer une version commerciale qui utilise le nom Synergy.
Il reste possible de l’installer depuis les dépôts de Debian 9 Stretch. Pour cela il suffit d’ajouter les dépôts suivants dans le fichier sources.list.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
deb http://deb.debian.org/debian/ buster main contrib non-free deb-src http://deb.debian.org/debian/ buster main contrib non-free deb http://security.debian.org/debian-security buster/updates main contrib non-free deb-src http://security.debian.org/debian-security buster/updates main contrib non-free # buster-updates, previously known as 'volatile' deb http://deb.debian.org/debian/ buster-updates main contrib non-free deb-src http://deb.debian.org/debian/ buster-updates main contrib non-free # Fallback pour synergy deb http://ftp.fr.debian.org/debian/ stretch main contrib non-free deb-src http://ftp.fr.debian.org/debian/ stretch main contrib non-free deb http://security.debian.org/debian-security stretch/updates main contrib non-free deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free |
Après un apt-get update on peut installer le paquet synergy en version 1.4.16-2. L’équivalent pour Windows ou MacOS en version 1.4.16 se trouve sur internet. Plusieurs versions ultérieures jusqu’à la 1.8.8 sont encore trouvables chez Sourceforge, et elles devraient être compatibles.
Nouvelle version commerciale de Synergy
En vous inscrivant sur le site officiel et en payant, vous aurez accès à une version payante de Synergy 1 stable dont le numéro de version est 1.10.2. Les paquets sont proposés pour Debian 9.4, Ubuntu 16, Ubuntu 18, Ubuntu 19, CentOS 7, MacOS, Windows 32 et 64 bits et Raspbian.
Cette version commerciale ne supporte pas mieux le serveur X Wayland. Vous pouvez néanmoins l’acquérir si vous souhaitez supporter l’équipe et l’entreprise à l’origine du projet.
Installer Barrier sur Debian 10
En réalité il n’y a pas vraiment d’intérêt d’installer l’ancien paquet Synergy open-source étant donné que le fork open-source s’appelle Barrier et qu’il propose des fonctionnalités équivalentes. Je n’ai pas testé mais je ne serais pas étonné que Barrier (serveur) soit compatible avec Synergy (client) ou l’inverse. Un simple apt-get install barrier suffira donc. Les releases Windows et MacOS sont disponibles sur Github.
Basculer de Wayland à X.org
Que vous utilisiez Synergy open-source, Synergy payant ou Barrier, le même problème se pose si la machine serveur (celle avec le clavier et la souris) utilise un serveur X Wayland. Le basculement d’écran ne se fera pas, sauf cas particulier où Firefox (ou Thunderbird) occupe le bord de l’écran où doit se faire le basculement.
En cause, le fonctionnement interne de Wayland qui isole les fenêtres et empêche que les événements utilisateurs ne soient diffusés d’une application à l’autre (en savoir plus sur Wayland). Si vous utilisez OBS Studio et que vous tentez une capture XSHM, vous comprendrez qu’il n’existe pas de capture possible avec 100% du bureau. Cela ne se fait que fenêtre par fenêtre de manière isolée.
Heureusement, Debian 10 permet de basculer de Wayland à X.org en éditant le fichier /etc/gdm3/daemon.conf comme ceci :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# GDM configuration storage # # See /usr/share/gdm/gdm.schemas for a list of available options. [daemon] # Uncomment the line below to force the login screen to use Xorg WaylandEnable=false # Enabling automatic login # AutomaticLoginEnable = true # AutomaticLogin = user1 # Enabling timed login # TimedLoginEnable = true # TimedLogin = user1 # TimedLoginDelay = 10 [security] [xdmcp] [chooser] [debug] # Uncomment the line below to turn on debugging # More verbose logs # Additionally lets the X server dump core if it crashes #Enable=tru |
Au relancement de gdm3, la configuration habituelle de synergy fonctionnera. Cela permettra également d’utiliser des outils de capture d’écran comme OBS Studio par exemple.
Configuration de Barrier
Coté serveur Debian
Mon fichier de configuration ~/.barrier.conf ressemble à ceci.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
section: screens debian: windows: altgr = shift end section: links debian: right = windows windows: left = debian end section:aliases windows: DESKTOP-5AAA end |
La ligne altgr = shift est un hack qui permet de faire fonctionner les caractères utilisant Alt Gr comme le pipe |. La section d’alias permet de faire coïncider un nom arbitraire avec le hostname de la machine.
La commande de lancerment du serveur à l’ouverture de session est la suivante :
1 |
/usr/bin/barriers -c /home/paul/.barrier.conf -a mon-ip |
Coté client Windows
Il suffit de cocher « Client » et saisir l’IP du serveur Barrier. Dans les options j’ai désactivé SSL, étant sur un réseau local sûr. Je recommande de laisser Elevate : As Needed afin d’éviter les latences au basculement de la souris. Ces latences apparaissent avec Elevate : Alway s si la souris bascule de l’écran du serveur à l’écran du client, si aucune application ne touche la bordure.
Sur Windows, le GUI permet de configurer le service Windows visible avec la commande services.msc .
Je n’ai pas essayé d’utiliser Debian 10 comme client Synergy, mes quelques essais avec Wayland ont été infructueux avec le curseur invisible.
Merci pour ce tuto
Vous m’avez permis de comprendre pourquoi Synergy ne voulait pas fonctionner sur mon Debian10.