- SimpleKVM ist ein Programm für Windows, mit dem sich mehrere Computer mit einem einzigen Set aus Tastatur, Maus und Monitor steuern lassen, und eine Alternative, um die Kosten für KVMs mit hoher Auflösung und hoher Bildwiederholrate zu senken
- Nutzer verbinden jeden Computer mit dem Monitor, schließen Tastatur und Maus an einen USB-Switch an und starten dann SimpleKVM auf einem der Computer
- Das Umschalten ist per USB-Switch-Taste oder Hotkey möglich; das Programm erkennt das Verbinden und Trennen von USB-Geräten oder Hotkey-Eingaben
- Das Umschalten des Monitoreingangs erfolgt über DDC/CI-Befehle, die von vielen Monitoren unterstützt werden; auch Multi-Monitor-Konfigurationen werden unterstützt
- Der Download wird im GitHub-Bereich releases bereitgestellt, aktuell nur für Windows
Welches Problem SimpleKVM löst
- SimpleKVM ist ein Programm, um mehrere Computer mit einer einzigen Tastatur, Maus und einem Monitor zu steuern
- Normale KVMs sind tendenziell teuer, besonders Modelle mit Unterstützung für hohe Auflösungen und hohe Bildwiederholraten
- SimpleKVM ermöglicht zusammen mit einem günstigen USB-Switch einen ähnlichen Aufbau, ohne mehrere hundert Dollar auszugeben
Benötigte Konfiguration
- Nutzer richten es in folgender Reihenfolge ein
- Die Computer mit dem Monitor verbinden
- Maus und Tastatur mit dem USB-Switch verbinden
- SimpleKVM auf einem der Computer starten
- Danach ist das Umschalten zwischen den Computern per USB-Switch oder Hotkey möglich
Funktionsweise
- Das Programm erkennt, wann USB-Geräte verbunden oder getrennt werden
- Auch Hotkey-Eingaben können als Auslöser für das Umschalten verwendet werden
- Beim Umschalten sendet es DDC/CI-Befehle an den Monitor, um die Eingangsquelle zu ändern
- DDC/CI ist ein Verfahren, das von vielen Monitoren unterstützt wird
Multi-Monitor und Laufzeitumgebung
- SimpleKVM unterstützt Multi-Monitor
- Releases können im Bereich releases heruntergeladen werden
- Derzeit werden nur Builds für Windows bereitgestellt
Beispiele für USB-Switches
- Es kann jeder USB-Switch verwendet werden
- Im README werden als nicht affiliierte Beispiele folgende Produkte genannt
- SABRENT 4 Port USB Switch for $29 USD: unterstützt 4 Computer
- 2 port USB switch for $24 USD: unterstützt 2 Computer
- 2 ports for for $3 USD: unterstützt 2 Computer, ein USB-Eingang
Autostart-Einstellung und Quelle
- Für automatisches Starten beim Systemstart auf den Einstellungsbutton klicken und Run at Startup aktivieren
- SimpleKVM ist von haimgels Programm display-switch inspiriert
1 Kommentare
Meinungen auf Hacker News
Es läuft auf „ich bin zum gleichen Schluss gekommen“ hinaus, aber mein Setup ist etwas komplexer, dafür meiner Ansicht nach besser und günstiger
Der oben beschriebene Ansatz ist für mich schwierig, weil er auf allen Computern installiert werden muss, und da er vom USB-Umschalten abhängt, lässt er sich nicht vollständig remote auslösen
Stattdessen erledige ich das Umschalten der Monitoreingänge per DDC-Befehl, USB über einen 25-Dollar-USB-KVM mit nur einem Button, und den Button-Input über ein AliExpress-Macropad für 5–15 Dollar
Fertigprodukte wie Stream Deck sind für ein paar Tasten mit über 80 Dollar teuer, und günstige Macropads lassen sich statt mit der mitgelieferten Software über GitHub-Projekte wie https://github.com/rOzzy1987/MacroPad programmieren
Den USB-KVM-Button lasse ich von einem FingerBot für 16 Dollar oder einem Switchbot für 28 Dollar drücken, und AHK überwacht Hotkeys und triggert zusammen den DDC-Befehl und den Button des USB-Switches
Es gibt ein paar Sekunden Verzögerung, aber es wird nur von einer Stelle aus gesteuert und lässt sich auch vollständig remote ausführen
Am Ende war es etwas instabil, und weil andere Dinge noch chaotischer waren, habe ich es größtenteils aufgegeben
Ein Macropad ist eine gute Idee, und den USB-Switch richtig zu platzieren war immer lästig
Versandkosten in die USA kenne ich nicht, nach Europa waren es 15 Dollar
Beim Recherchieren zu KVMs bin ich letztlich zum gleichen Schluss gekommen: DDC ist die Lösung
In meinem Fall sind es zwei Windows-Rechner und ein Dual-Monitor-Setup; ich nutze NirSoft ControlMyMonitor mit CLI und ein Elgato Stream Deck
Ein normaler KVM zeigt auf beiden Monitoren nur einen Computer, aber ich möchte auf Monitor A einen Computer und auf Monitor B den anderen anzeigen und sie bei Bedarf tauschen können
Ich nutze einen Monitor im Hochformat und einen im Querformat und möchte Maus und Tastatur unabhängig von der Monitorkonfiguration umschalten
Auf jedem Computer läuft die Stream-Deck-Software, und das Stream Deck ist an den USB-Switch angeschlossen
Selbst einfache USB-Switcher sind ziemlich teuer, und manchmal verlangen sie Treiber, die unter Linux nicht funktionieren
Also habe ich schnell eine einfache Leiterplatte mit USB-Hub und Switch entworfen und sie bei DIY-Fertigern wie JLCPCB oder PCBWay inklusive Bestückung herstellen lassen
Fünf Stück eines einfachen 2-zu-1-Switches kosteten 25 Euro, und obwohl ich keine Erfahrung im Schaltungsdesign hatte und nicht gelötet habe, funktioniert es perfekt
Das dürfte auch gut zu dieser Software passen, vielleicht probiere ich es einmal aus
Ich denke, das ist günstiger als eine Sonderanfertigung
Erdung und das Vermeiden von Ground Loops zwischen unterschiedlichen Potenzialen dürften ein ziemlich großer Teil davon sein
Interessant ist, dass manche USB-Switcher unter Linux nicht gut funktionieren
Ich hätte gedacht, dass ein einfacher USB-Hub keinen separaten Treiber braucht, aber Produkte mit erweiterten Funktionen wie Dateiübertragung zwischen PCs oder Maus-Sharing, etwa https://www.aliexpress.com/item/1005006202631772.html, benötigen oft spezielle Software und Treiber
Es ist ein möglichst „dummes“ Gerät; laut einer Rezension können die Ports etwas wackelig werden, wenn man zu oft ein- und aussteckt, aber mit meinen zwei Dell-P2419H-Monitoren funktioniert es bisher perfekt
Ich habe dieses Modell gewählt, weil alle Kabel hinten herausgehen, und das Modell mit Fernbedienung auf OPs GitHub-Seite scheint ebenfalls in Ordnung zu sein
Ich habe auf der Suche nach einem ähnlichen Setup mehrere ausprobiert und recherchiert, aber keines davon brauchte einen Treiber
Ich verwende dafür udev. Wenn der USB-Switch auftaucht, wird ein DDC-Befehl gesendet
ACTION=="add", SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="1a40", ENV{ID_MODEL_ID}=="0101", RUN+="/usr/bin/ddcutil --sn ABCDEFGHI setvcp 60 0x0f"Gute KVMs, insbesondere die Produkte von Level1Tech, halten alle Monitore virtuell dauerhaft verbunden, sodass die Fensterpositionen beim Wechsel zwischen Rechnern erhalten bleiben.
Aus Sicht des Client-PCs sind die USB-/DisplayPort-Geräte nie verschwunden, daher gibt es auch keine Verzögerung durch erneutes Einstecken der Geräte.
Man kann auch jede Menge Peripherie an ein Dock hängen und nur den Upstream-Thunderbolt umschalten, aber dieser Ansatz funktioniert nicht richtig.
Schlechte KVMs sind einfach, gute KVMs sind schwierig.
Hat nichts mit https://www.store.level1techs.com/products/hardware zu tun.
Beim Wechsel zwischen Mac und einer Linux-Box (Gnome) geht der Mac in den Ruhezustand, und Gnome fällt auf die Standard-Monitorkonfiguration zurück und verschiebt die Fensterpositionen.
Es gibt DP-1.2-KVMs mit EDID-Emulation, aber damit verliert man die Vorteile von DP 1.4.
Steht auch im FAQ-Forum: https://forum.level1techs.com/t/official-l1techs-kvm-faq-ult...
In Kombination mit kabelloser Peripherie über USB-Empfänger ergibt das ein schönes Setup ohne Kabelsalat, und beim Laptop ist mit nur einem Kabel alles verbunden.
Ich wechsle mehrmals täglich zwischen Arbeits-PC und privatem PC, und mit zwei Linux-Rechnern, einem Dual-Monitor-Setup aus 4K 60 Hz und 2K 144 Hz, funktioniert es bisher perfekt.
Daran hängen USB-Audio, Mikrofon, 4K-Kamera, Drucker, Tastatur und Maus.
Ein ordentlicher Window Manager ist schlau genug, Fenster wieder an ihre ursprüngliche Position zu setzen, wenn der Monitor zurückkommt.
Das Umschalten der Quellen ist nie fehlgeschlagen, und die von anderen erwähnte Verzögerung war nur der HDMI-Handshake des Monitors selbst.
Es gab auch den deutlich teureren TESmart https://www.amazon.com/gp/product/B08N494N7X, aber mit meinem Thunderbolt-Dock https://www.amazon.com/gp/product/B08HR3T837 und dem MBP hatte er merkwürdige Kompatibilitätsprobleme, sodass ich ihn nicht verwenden konnte.
Ich habe auch den Support kontaktiert, aber die Ursache ließ sich am Ende nicht klären.
Bei solchen Tools muss man beachten, dass DisplayPort normalerweise nur für den aktiven Eingang Befehle zulässt.
Wenn man einmal auf einen anderen Eingang umgeschaltet hat, kommt man nicht mehr zurück, sofern man den Befehl nicht auf dem anderen Computer ausführt; das ist lästig.
HDMI dagegen erlaubt DDC-Befehle normalerweise auch auf Ports, die nicht der aktive Eingang sind.
Ich weiß nicht, ob das zwingend so sein muss, aber bei allen Displays, die ich ausprobiert habe, war es so.
Das ist genau das Projekt, das ich gerade brauche. Ich frage mich, ob man auch nur ein Thunderbolt-Dock umschalten kann.
Zum Beispiel vier Computer mit Thunderbolt-Unterstützung, zwischen denen man nur einen USB-C-Anschluss umschaltet.
Ich habe es nicht ausprobiert, weil ich befürchtete, die Hardware zu beeinträchtigen; inspiriert von diesem Beitrag habe ich nach Thunderbolt-KVMs gesucht und Dinge wie https://sabrent.com/products/sb-tb4k und https://www.reddit.com/r/Thunderbolt/comments/11gos6n/kvm_sw... gefunden.
Wenn man die Verzögerung in Kauf nimmt, könnte es vielleicht funktionieren.
Kurz gesagt: Jeder Computer muss sein eigenes HDMI-Kabel in jeweils einen Eingang des Monitors stecken.
Das ist nicht der echte KVM, an den viele denken, sondern eine Methode, um nicht die Eingangswahltaste am Monitor drücken zu müssen.
Mindestens ein Rechner muss eingeschaltet sein und Windows ausführen, aber vermutlich reicht einer aus.
Wenn erkannt wird, dass ein USB-Gerät eingesteckt wurde, wird der Monitoreingang auf den Windows-Computer umgeschaltet; wenn erkannt wird, dass das USB-Gerät entfernt wurde, wird auf den Linux-Computer umgeschaltet.
Ich nutze bereits etwas Ähnliches: Per Tastenkürzel wird ein Skript ausgeführt, das mit xrandr die Monitordrehung ändert.
Bis ich wieder zu einem einzigen Computer zurückgekehrt bin, habe ich Kabel manuell ab- und angesteckt, dann den im README erwähnten Ugreen-USB-Switch genutzt und bin schließlich bei einem Monitor mit integriertem KVM gelandet; das war am besten.
Das Problem entsteht, wenn man denselben Monitor für Arbeit und Gaming verwenden möchte.
4K- oder High-Refresh-Rate-KVM-Switches sind extrem teuer und tendenziell unzuverlässig, daher nutzt man meist einen USB-Switch und schaltet den Monitoreingang manuell um.
Diese Software reduziert zwar das Drücken der Taste zum „Eingangsquelle wechseln“, scheint aber Windows-only zu sein. Wenn also nicht beide Maschinen Windows nutzen, funktioniert der Wechsel nur in eine Richtung; beim Zurückwechseln muss man manuell umschalten.
Als Monitor, der gamingtauglich ist und zugleich hohe DPI, hohe Bildwiederholrate und einen integrierten KVM bietet, gibt es den Gigabyte M28U.
Mit einem einzigen Knopf wechseln Eingangsquelle und USB-Peripherie gemeinsam, und das funktioniert ziemlich gut.
Es gibt auch den M32U, aber dessen DPI ist niedriger.
Denn es kann erkennen, dass ein USB-Gerät entfernt wurde, also zum anderen Computer gewechselt ist, und dass es eingesteckt wurde, also zu diesem Computer zurückgekehrt ist.
Ich habe etwas Ähnliches selbst gebaut und dafür gesorgt, dass es ohne USB-Switch oder andere Hardware funktioniert.
An HDMI-/USB-C-Monitore sende ich DDC-Befehle, und an Logi-MX-Tastatur und -Maus sende ich HID++-Bytecode.
Der Code ist zu chaotisch, um ihn zu teilen, aber wer so etwas selbst bauen möchte, kann es so aufsetzen, dass Byte-Sequenzen zum Wechseln auf den jeweiligen Host an Logi Bolt Receiver, Logitech Unified Receiver, MX Keys Mini Bluetooth und MX Anywhere 3 Bluetooth gesendet werden.
Meine aktuelle Konfiguration besteht aus zwei Dell-U2415-Monitoren und einem Linux-x86_64-Desktop; ich nutze eine vertikale Logi-Maus sowie eine ATK-(A.JAZZ)-Tastatur, die beide Bluetooth und Dongle unterstützen.
Ich möchte Tastatur/Monitor/Maus rein softwarebasiert über Bluetooth und die beiden micro-HDMI-Ports eines Raspberry Pi 5 teilen und kein Vermögen für einen Hardware-KVM ausgeben.