- SimpleKVM est un programme Windows qui permet de contrôler plusieurs ordinateurs avec un seul ensemble clavier, souris et moniteur, et constitue une alternative pour réduire le coût des KVM haute résolution et à haut taux de rafraîchissement
- L’utilisateur connecte chaque ordinateur au moniteur, branche le clavier et la souris sur un switch USB, puis lance SimpleKVM sur l’un des ordinateurs
- Le basculement peut se faire via le bouton du switch USB ou par raccourci clavier, le programme détectant la connexion/déconnexion des périphériques USB ou l’entrée du raccourci clavier
- Le changement d’entrée du moniteur est géré via des commandes DDC/CI prises en charge par de nombreux moniteurs, avec prise en charge des configurations multi‑moniteurs
- Le téléchargement est proposé dans la section GitHub releases, et seule une version Windows est actuellement disponible
Le problème que résout SimpleKVM
- SimpleKVM est un programme destiné à contrôler plusieurs ordinateurs avec un seul clavier, une seule souris et un seul moniteur
- Les KVM classiques sont souvent coûteux, surtout les modèles prenant en charge la haute résolution et un haut taux de rafraîchissement
- SimpleKVM, utilisé avec un switch USB bon marché, permet de créer une configuration similaire sans dépenser des centaines de dollars
Configuration nécessaire
- L’utilisateur procède dans l’ordre suivant
- connecter les ordinateurs au moniteur
- connecter la souris et le clavier au switch USB
- lancer SimpleKVM sur l’un des ordinateurs
- Ensuite, il est possible de basculer d’un ordinateur à l’autre via le switch USB ou un raccourci clavier
Fonctionnement
- Le programme détecte le moment où un périphérique USB est connecté ou déconnecté
- L’entrée d’un raccourci clavier peut aussi servir de déclencheur de basculement
- Lors du basculement, il envoie au moniteur des commandes DDC/CI pour changer la source d’entrée
- Le DDC/CI est pris en charge par de nombreux moniteurs
Multi‑moniteurs et environnement d’exécution
- SimpleKVM prend en charge le multi‑moniteur
- Les versions sont disponibles dans la section releases
- Le build actuellement proposé est pour Windows
Exemples de switchs USB
- N’importe quel switch USB peut être utilisé
- Le README propose les produits suivants à titre d’exemple, sans affiliation
- SABRENT 4 Port USB Switch for $29 USD : prise en charge de 4 ordinateurs
- 2 port USB switch for $24 USD : prise en charge de 2 ordinateurs
- 2 ports for for $3 USD : prise en charge de 2 ordinateurs, avec 1 USB d’entrée
Démarrage automatique et origine
- Pour l’exécuter automatiquement au démarrage, cliquez sur le bouton des paramètres puis cochez Run at Startup
- SimpleKVM s’inspire du programme display-switch de haimgel
1 commentaires
Avis de Hacker News
C’est à peu près « j’en suis arrivé à la même conclusion », mais je pense que ma configuration est un peu plus complexe, tout en étant meilleure et moins chère
L’approche ci-dessus est difficile pour moi, car elle doit être installée sur tous les ordinateurs, et comme elle dépend de la commutation USB, elle ne permet pas un déclenchement entièrement à distance
À la place, le changement d’entrée des moniteurs se fait via des commandes DDC, l’USB via un KVM USB à un seul bouton à 25 dollars, et l’appui sur le bouton via un macropad AliExpress à 5–15 dollars
Les produits finis comme le Stream Deck coûtent cher, plus de 80 dollars pour quelques boutons, tandis que les macropads bon marché peuvent être programmés avec des projets GitHub comme https://github.com/rOzzy1987/MacroPad au lieu du logiciel fourni
Le bouton du KVM USB est actionné par un FingerBot à 16 dollars ou un SwitchBot à 28 dollars, et AHK surveille un raccourci clavier pour déclencher à la fois les commandes DDC et le bouton du switch USB
Il y a quelques secondes de délai, mais tout est contrôlé depuis un seul endroit et l’exécution entièrement à distance est aussi possible
Au final, c’était assez instable, et comme d’autres choses étaient encore plus bancales, j’ai presque tout abandonné
Le macropad est une bonne idée, et trouver le bon emplacement pour le switch USB a toujours été pénible
Je ne connais pas les frais de livraison vers les États-Unis, mais la livraison en Europe coûtait 15 dollars
En étudiant les KVM, j’en suis finalement arrivé à la même conclusion : DDC était la solution
Dans mon cas, j’ai deux machines Windows avec deux moniteurs, et j’utilise NirSoft ControlMyMonitor, qui dispose d’une CLI, ainsi qu’un Elgato Stream Deck
Un KVM classique affiche les deux moniteurs sur un seul ordinateur, mais moi je veux afficher un ordinateur sur le moniteur A et l’autre sur le moniteur B, puis pouvoir les intervertir si besoin
J’utilise ensemble un moniteur en portrait et un en paysage, et je veux pouvoir basculer la souris et le clavier indépendamment de la configuration des moniteurs
Le logiciel Stream Deck tourne sur chaque ordinateur, et le Stream Deck est connecté au switch USB
Même les simples switchs USB sont assez chers, et il m’est arrivé qu’ils exigent des pilotes qui ne fonctionnaient pas sous Linux
J’ai donc rapidement dessiné une petite carte avec un hub USB et un switch, puis je l’ai fait fabriquer et assembler par un atelier DIY comme JLCPCB ou PCBWay
Cinq exemplaires d’un switch 2-vers-1 à un seul commutateur m’ont coûté 25 euros ; je n’avais aucune expérience en conception de circuits et je n’ai rien soudé, mais ça fonctionne parfaitement
Ça pourrait aussi bien aller avec ce logiciel, donc j’essaierai peut-être
À mon avis, c’est moins cher que du sur mesure
La mise à la terre et l’évitement des boucles de masse entre des potentiels différents doivent représenter une part assez importante du sujet
Le fait que certains switchs USB fonctionnent mal sous Linux est intéressant
Je pensais qu’un simple hub USB n’aurait pas besoin de pilote particulier, mais les produits dotés de fonctions avancées comme le transfert de fichiers entre PC ou le partage de souris, par exemple https://www.aliexpress.com/item/1005006202631772.html, nécessitent souvent un logiciel et des pilotes spécifiques
C’est un appareil aussi « bête » que possible ; d’après l’un des avis, le port peut devenir un peu instable si on branche et débranche trop souvent, mais avec mes deux moniteurs Dell P2419H, il fonctionne encore parfaitement
Je l’ai choisi parce que tous les câbles sont à l’arrière, et le modèle avec télécommande présent sur la page GitHub de l’OP me semble aussi correct
En cherchant une configuration similaire, j’en ai essayé et étudié plusieurs, mais aucun ne nécessitait de pilote
J’utilise udev pour cet usage. Quand le switch USB apparaît, il envoie une commande DDC
ACTION=="add", SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="1a40", ENV{ID_MODEL_ID}=="0101", RUN+="/usr/bin/ddcutil --sn ABCDEFGHI setvcp 60 0x0f"Un bon KVM, en particulier les produits Level1Techs, garde virtuellement tous les moniteurs connectés en permanence, si bien que les positions des fenêtres restent inchangées quand on passe d’une machine à l’autre
Du point de vue du PC client, les périphériques USB/DisplayPort n’ont jamais disparu, donc il n’y a pas non plus de délai lié à une reconnexion des périphériques
On peut aussi brancher plein de périphériques sur un dock et ne basculer que l’uplink Thunderbolt, mais cette approche ne fonctionne pas correctement
Un KVM médiocre, c’est facile ; un bon KVM, c’est difficile
Aucun lien avec https://www.store.level1techs.com/products/hardware
Quand je passe d’un Mac à une machine Linux (Gnome), le Mac se met en veille, et Gnome revient à la configuration de moniteur par défaut en déplaçant les fenêtres
Il existe des KVM DP 1.2 avec émulation EDID, mais on perd les avantages du DP 1.4
C’est aussi indiqué dans le forum de la FAQ : https://forum.level1techs.com/t/official-l1techs-kvm-faq-ult...
Utilisés avec des périphériques sans fil à récepteur USB, ils permettent une configuration sans câbles plutôt agréable, et il suffit de brancher un seul câble au portable pour que tout soit connecté
Je passe plusieurs fois par jour entre mon PC de travail et mon PC personnel, et avec deux machines Linux en double écran 4K 60 Hz et 2K 144 Hz, il fonctionne parfaitement jusqu’ici
J’y ai aussi branché l’audio USB, un micro, une caméra 4K, une imprimante, ainsi que clavier et souris
Un gestionnaire de fenêtres correct est assez intelligent pour remettre les fenêtres à leur emplacement d’origine quand le moniteur revient
Il n’a jamais raté un changement de source, et les délais dont parlaient d’autres personnes n’étaient que le handshake HDMI du moniteur lui-même
Il y avait aussi le TESmart, bien plus cher https://www.amazon.com/gp/product/B08N494N7X, mais je n’ai pas pu l’utiliser à cause de problèmes de compatibilité étranges avec un dock Thunderbolt https://www.amazon.com/gp/product/B08HR3T837 et un MBP
J’ai même contacté le support, mais on n’a jamais réussi à en trouver la cause
Avec ce genre d’outil, il faut faire attention au fait qu’en DisplayPort, les commandes ne sont généralement autorisées que pour l’entrée active
Une fois passé sur une autre entrée, on ne peut pas revenir sauf à exécuter la commande depuis l’autre ordinateur, ce qui est pénible
À l’inverse, en HDMI, les commandes DDC sont généralement autorisées même sur les ports qui ne sont pas l’entrée active
Je ne sais pas si c’est obligatoire, mais c’était le cas sur tous les écrans que j’ai utilisés
C’est justement le projet qu’il me fallait. Je me demande s’il est aussi possible de ne basculer que le dock Thunderbolt
Par exemple, avec quatre ordinateurs compatibles Thunderbolt, en ne basculant qu’un seul USB-C entre eux
Je n’ai pas essayé par crainte d’affecter le matériel, et en cherchant des KVM Thunderbolt inspiré par cet article, j’ai trouvé des choses comme https://sabrent.com/products/sb-tb4k et https://www.reddit.com/r/Thunderbolt/comments/11gos6n/kvm_sw...
Si le délai est acceptable, ça pourrait peut-être fonctionner
En résumé, chaque ordinateur doit brancher son propre câble HDMI sur chaque entrée du moniteur
Ce n’est pas le vrai KVM auquel beaucoup pensent, mais plutôt une façon d’éviter d’appuyer sur le bouton de sélection d’entrée du moniteur
Au moins une machine doit être allumée et exécuter Windows, mais il semble probable qu’une seule suffise
Lorsqu’il détecte l’insertion d’un périphérique USB, il bascule l’entrée du moniteur vers l’ordinateur Windows ; lorsqu’il détecte le retrait du périphérique USB, il bascule vers l’ordinateur Linux
J’utilise déjà quelque chose du même genre : quand j’appuie sur un raccourci clavier, un script s’exécute et modifie la rotation du moniteur avec xrandr
Avant de revenir à un seul ordinateur, je débranchais et rebranchais les câbles à la main, puis j’ai utilisé le switch USB Ugreen mentionné dans le README, et j’ai fini par adopter un moniteur avec KVM intégré : c’est ce qui m’a le plus convaincu
Le problème, c’est quand on veut utiliser le même moniteur pour le travail et le jeu
Les switchs KVM 4K ou à taux de rafraîchissement élevé sont très chers et ont tendance à être peu fiables ; en général, on utilise donc un switch USB et on change manuellement l’entrée du moniteur
Ce logiciel réduit le besoin d’appuyer sur le bouton de « changement de source d’entrée », mais il semble réservé à Windows ; donc si les deux machines ne sont pas toutes les deux sous Windows, le basculement ne fonctionne que dans un sens, et il faut revenir manuellement
Parmi les moniteurs adaptés au jeu, avec haute densité de pixels, taux de rafraîchissement élevé et KVM intégré, il y a le Gigabyte M28U
Un seul bouton permet de changer à la fois la source d’entrée et les périphériques USB, et ça fonctionne plutôt bien
Il existe aussi le M32U, mais sa densité de pixels est plus faible
En effet, il peut détecter le retrait du périphérique USB — donc le passage à l’autre ordinateur — ainsi que son insertion, c’est-à-dire le retour sur cet ordinateur
J’ai aussi fabriqué quelque chose de similaire moi-même, en le faisant fonctionner sans switch USB ni autre matériel
J’envoie des commandes DDC aux moniteurs HDMI/USB-C, et du bytecode HID++ au clavier et à la souris Logi MX
Le code est trop brouillon pour être partagé, mais pour ceux qui voudraient le faire eux-mêmes, l’idée est d’envoyer, pour chaque hôte, des séquences d’octets permettant de basculer vers celui-ci sur Logi Bolt Receiver, Logitech Unified Receiver, MX Keys Mini Bluetooth et MX Anywhere 3 Bluetooth
Ma configuration actuelle comprend deux moniteurs Dell U2415 et un desktop Linux x86_64, avec une souris verticale Logi prenant en charge à la fois le Bluetooth et le dongle, ainsi qu’un clavier ATK (A.JAZZ)
J’aimerais partager clavier/moniteurs/souris de façon purement logicielle via le Bluetooth et les deux ports micro-HDMI d’un Raspberry Pi 5, sans dépenser une fortune dans un KVM matériel