Contexte

Mon bureau ? Un bordel.

Je dispose de quelques serveurs directement chez moi et de plusieurs pc, majoritairement du reconditionné, enfin là ça à pas trop d'importance.

Je me retrouve du coup avec deux pc principaux, l'honorable Thinkpad T430, sous Windows (Alpha) et un HP Compaq Elite 8200 SFF sous Manjaro (Neptune).
Problème, avoir deux claviers et deux souris sur le bureau est un enfer quand on doit passer rapidement de l'un à l'autre...

Solutions

Plusieurs solutions se montrent :

  • Les KVM Switchs physiques.
  • Les solution logicielles de contrôle à distance.
  • Les solutions de KVM Switchs virtuel.

Les KVM Switchs physiques, c'est selon moi, pas vraiment pratique dans ce cas précis, aucun support du presse papier partagé, pas de drag'n'drop de fichiers et surtout un gros problème, pour passer d'un pc à l'autre, obligé d'enclencher soit un bouton soit un raccourcis clavier...
Accessoirement, c'est... ehh cher.

Les solution de contrôle à distance sont être intéressantes, du fait qu'elles peuvent disposer des fonctions manquantes de la solution 1.
Problème, très généralement, c'est mal adapté avec beaucoup d'applications et autre problème, l'input lag est immonde.

Les KVM Switchs virtuels, c'est la solution la plus adaptée je pense, du fait qu'elles prennent quasiment tous les avantages.

Dans ce domaine il y a Synergy qui fait sa publicité de partout, problème : c'est payant.
En plus il faut la version premium pour avoir une connexion chiffrée entre les pc... Et puis quoi encore ?

Heureusement, des gens géniaux ont fait un fork d'une partie du code de Synergy afin de l'améliorer : Barrier

En pratique !

Barrier est une application cross plateform qui fonctionne aussi bien sous Windows que sur Mac et Linux.

Du coup pour Windows, je récupère les derniers binaires disponibles sur le wiki, et sur Manjaro je les récupère sur AUR.

Assurément, si vous n'avez pas confiance dans les binaires pré-compilés, vous pouvez les faire vous-même en suivant les instructions sur le repo.

La GUI est en Qt5, mon chouchou après WPF :D

La configuration est super simple, on définit un serveur et un ou plusieurs clients (selon le nombre de machines).
Le serveur sera la machine qui aura le combo clavier souris qui pourra controler toutes les machines connectées.
En l'occurrence, Neptune (donc Manjaro) sera mon serveur et Alpha (Windows) sera mon client.

Serveur

On ouvre donc la GUI sur la machine "serveur", on clique sur la case "Server", "Configure interactively" et "Configure Server...".
De là, on peut définir pas mal de paramètres, notamment le plus important, la disposition des écrans.

Au centre, vous avez normalement un écran avec le hostname de votre machine.
Il faut savoir que même si vous avez plusieurs écrans, barrier le prendra comme si ça n'en était qu'un seul.

Pour ajouter un nouvel "écran" on glisse l'item en haut à droite de la GUI sur la case souhaitée, par exemple, Alpha est à gauche de Neptune physiquement parlant, je le mets donc à gauche.

Ensuite on double clique dessus et dans "Screen name" mettez le hostname de la machine client, dans mon cas "ALPHA" et on fait "Ok". (Attention, c'est case sensitive)
Vous pouvez vous amuser à changer d'autres paramètres si cela vous envie, une fois terminé, on fait "Ok" pour revenir à la vue principale.

Par précaution, on enregistre la configuration dans "Barrier" et "Save config as..."
Mettez-le dans un répertoire où votre user peut le lire.

Ainsi, vous aurez juste à load la configuration au démarrage.

Pour finir, on clique sur "Apply" et "Start".

Client

On attaque le client maintenant.

Pareil, sur la machine client, on ouvre la GUI de Barrier sauf que maintenant, on clique sur "Client".
On décoche "Auto config" et on met l'adresse IP du serveur dans la textbox.

On clique sur "Apply" et "Start".

Une popup vous demandera de vérifier l'empreinte SSL, elle est trouvable sur la GUI du serveur.
Une fois que vous êtes certain que elle est correcte, validez.

Tada !

Et voilà ! Essayez de faire passer la souris de votre serveur vers votre client et ça marche !