- SimpleKVM es un programa para Windows que permite controlar varias computadoras con un solo conjunto de teclado, mouse y monitor, y es una alternativa para reducir el costo de un KVM de alta resolución y alta tasa de refresco
- El usuario solo necesita conectar cada computadora al monitor, conectar el teclado y el mouse al USB Switch, y ejecutar SimpleKVM en una de las computadoras
- El cambio se puede hacer con el botón del USB Switch o con una tecla rápida, y el programa detecta la conexión o desconexión de dispositivos USB o la entrada de la tecla rápida
- El cambio de entrada del monitor se maneja con comandos DDC/CI, compatibles con muchos monitores, y también soporta configuraciones de múltiples monitores
- La descarga está disponible en la sección de GitHub releases y por ahora solo se ofrece para Windows
El problema que resuelve SimpleKVM
- SimpleKVM es un programa para controlar varias computadoras con un solo teclado, mouse y monitor
- Los KVM comunes suelen ser costosos, especialmente los modelos que soportan alta resolución y alta tasa de refresco
- SimpleKVM permite crear una configuración similar usando un USB Switch económico, sin tener que gastar cientos de dólares
Configuración necesaria
- El usuario lo configura en este orden
- Conecta las computadoras al monitor
- Conecta el mouse y el teclado al USB Switch
- Ejecuta SimpleKVM en una de las computadoras
- Después de eso, es posible cambiar entre computadoras con el USB Switch o una tecla rápida
Cómo funciona
- El programa detecta cuándo se conecta o desconecta un dispositivo USB
- La entrada de una tecla rápida también se puede usar como disparador del cambio
- Al cambiar, envía comandos DDC/CI al monitor para modificar la fuente de entrada
- DDC/CI es un método compatible con muchos monitores
Múltiples monitores y entorno de ejecución
- SimpleKVM soporta múltiples monitores
- Las versiones se pueden descargar en la sección releases
- Actualmente, la compilación disponible es para Windows
Ejemplos de USB Switch
- Se puede usar cualquier USB Switch
- En el README se muestran los siguientes productos como ejemplos sin afiliación
- SABRENT 4 Port USB Switch for $29 USD: soporta 4 computadoras
- 2 port USB switch for $24 USD: soporta 2 computadoras
- 2 ports for for $3 USD: soporta 2 computadoras, con 1 USB de entrada
Configuración de inicio y origen
- Para ejecutarlo automáticamente al iniciar, haz clic en el botón de configuración y marca Run at Startup
- SimpleKVM está inspirado en el programa display-switch de haimgel
1 comentarios
Opiniones de Hacker News
Es más o menos un “yo también llegué a la misma conclusión”, pero creo que mi configuración es un poco más compleja, aunque mejor y más barata
El enfoque de arriba me resulta difícil porque hay que instalarlo en todas las computadoras, y al depender del cambio USB no permite un disparo totalmente remoto
En cambio, manejo el cambio de entrada de los monitores con comandos DDC, el USB con un KVM USB de 25 dólares de un solo botón, y la entrada del botón con un macropad de AliExpress de 5 a 15 dólares
Los productos listos como Stream Deck son caros, más de 80 dólares por unos pocos botones, y los macropads baratos pueden programarse con proyectos de GitHub como https://github.com/rOzzy1987/MacroPad en vez del software incluido
Hago que el botón del KVM USB se presione con un FingerBot de 16 dólares o un Switchbot de 28 dólares, y AHK vigila el atajo de teclado para disparar juntos los comandos DDC y el botón del switch USB
Hay unos segundos de demora, pero se controla desde un solo lugar y también permite ejecución totalmente remota
Al final era algo inestable, y como otras cosas estaban aún más desordenadas, prácticamente lo abandoné
El macropad es una buena idea, y ubicar bien el switch USB siempre fue molesto
No sé cuánto cuesta el envío a EE. UU., pero el envío a Europa salía 15 dólares
Investigando KVM, al final llegué a la misma conclusión: DDC es la solución
En mi caso son dos Windows con una configuración de dos monitores, y uso NirSoft ControlMyMonitor con CLI y Elgato Stream Deck
Un KVM común hace que los dos monitores muestren una sola computadora, pero yo quiero mostrar una computadora en el monitor A y otra en el monitor B, e intercambiarlas si hace falta
Uso un monitor vertical y uno horizontal, y quiero cambiar el mouse y el teclado independientemente de la configuración de monitores
Ejecuto el software de Stream Deck en cada computadora, y el Stream Deck está conectado al switch USB
Incluso un switch USB simple es bastante caro, y a veces exigía drivers que no funcionaban en Linux
Así que dibujé rápido una placa de circuito sencilla con un hub USB y un switch, y encargué el ensamblado a fabricantes DIY como JLCPCB o PCBWay
Fueron 25 euros por cinco unidades de un switch 2 a 1, sin experiencia diseñando circuitos y sin soldar nada, pero funciona perfectamente
Creo que también encajaría bien con este software, así que quizá lo pruebe
Me parece menos caro que hacer uno a medida
Creo que una parte importante debe ser evitar problemas de puesta a tierra y ground loops entre potenciales distintos
Es interesante que algunos switches USB no funcionen bien en Linux
Yo pensaba que, al ser un simple hub USB, no necesitarían drivers aparte, pero los productos con funciones avanzadas como transferencia de archivos entre PCs o compartir mouse, como https://www.aliexpress.com/item/1005006202631772.html, a menudo requieren software y drivers especiales
Es un dispositivo lo más “tonto” posible; según una de las reseñas, si conectas y desconectas demasiadas veces los puertos pueden quedar algo inestables, pero con mis 2 monitores Dell P2419H todavía funciona perfecto
Elegí este porque todos los cables salen por atrás, y el modelo con control remoto que aparece en la página de GitHub del OP también parece bueno
Probé varios y también investigué mientras buscaba una configuración parecida, pero ninguno requería drivers
Uso udev para esto. Cuando aparece el switch USB, envío un comando 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 buen KVM, especialmente los de Level1Tech, mantiene todos los monitores virtualmente conectados todo el tiempo, así que las posiciones de las ventanas permanecen igual al cambiar entre máquinas
Desde la perspectiva de la PC cliente, los dispositivos USB/DisplayPort nunca desaparecieron, así que tampoco hay demora por volver a conectar dispositivos
También se podrían conectar muchos periféricos a un dock y cambiar solo el Thunderbolt upstream, pero ese enfoque no funciona bien
Un KVM mediocre es fácil; un buen KVM es difícil
No tiene relación con https://www.store.level1techs.com/products/hardware
Al cambiar entre una Mac y una máquina Linux (Gnome), la Mac se dormía y Gnome volvía a la configuración de monitor predeterminada, moviendo las posiciones de las ventanas
Hay KVM DP 1.2 con emulación EDID, pero se pierden las ventajas de DP 1.4
También aparece en el foro de FAQ: https://forum.level1techs.com/t/official-l1techs-kvm-faq-ult...
Usarlos con periféricos inalámbricos que usan receptor USB permite una configuración sin cables, y en una laptop basta con conectar un solo cable para que todo quede conectado
Cambio varias veces al día entre la PC de trabajo y la PC personal, y hasta ahora funciona perfecto con dos máquinas Linux y dos monitores, uno 4K a 60 Hz y otro 2K a 144 Hz
Tengo conectados audio USB, micrófono, cámara 4K, impresora, teclado y mouse
Un gestor de ventanas decente es lo bastante inteligente como para devolver las ventanas a su posición original cuando el monitor regresa
Nunca falló al cambiar de fuente, y la demora de la que hablaban otros era solo el proceso de handshake HDMI del propio monitor
También tenía un TESmart mucho más caro https://www.amazon.com/gp/product/B08N494N7X, pero no pude usarlo por problemas raros de compatibilidad con un dock Thunderbolt https://www.amazon.com/gp/product/B08HR3T837 y una MBP
Incluso consulté al soporte, pero nunca lograron descubrir la causa
Algo a tener en cuenta con este tipo de herramientas es que, en DisplayPort, normalmente solo se permiten comandos para la entrada activa
Una vez que cambias a otra entrada, no puedes volver salvo que ejecutes el comando desde la otra computadora, lo cual es molesto
En cambio, HDMI normalmente permite comandos DDC incluso en puertos que no son la entrada activa
No sé si necesariamente debe ser así, pero en todas las pantallas que he probado fue así
Justo es el proyecto que necesitaba. Me pregunto si también sería posible cambiar solo un dock Thunderbolt
Por ejemplo, tener cuatro computadoras con soporte Thunderbolt y cambiar solo un USB-C entre ellas
No lo he probado por temor a afectar el hardware, y al buscar KVM Thunderbolt inspirado por este artículo encontré cosas como https://sabrent.com/products/sb-tb4k y https://www.reddit.com/r/Thunderbolt/comments/11gos6n/kvm_sw...
Si puedes tolerar la demora, tal vez funcione
En resumen, cada computadora debe conectar su propio cable HDMI a cada entrada del monitor
No es un KVM real como el que muchos imaginan, sino una forma de evitar presionar el botón de selección de entrada del monitor
Al menos una máquina debe estar encendida y ejecutar Windows, aunque probablemente alcance con que solo una lo haga
Cuando detecta que se insertó un dispositivo USB, cambia la entrada del monitor a la computadora Windows; cuando detecta que se quitó el dispositivo USB, cambia a la computadora Linux
Ya uso algo parecido: al presionar un atajo, se ejecuta un script que cambia la rotación del monitor con xrandr
Hasta que volví a usar una sola computadora, estuve conectando y desconectando cables manualmente, luego usé el switch USB de Ugreen que aparece en el README y al final me quedé con un monitor con KVM integrado, que fue lo mejor
El problema es cuando quieres usar el mismo monitor para trabajo y juegos
Los switches KVM 4K o de alta tasa de refresco son carísimos y suelen ser poco confiables, así que normalmente terminas usando un switch USB y cambiando la entrada del monitor manualmente
Este software reduce la necesidad de presionar el botón de “cambiar fuente de entrada”, pero parece ser solo para Windows; por lo tanto, si ambas máquinas no son Windows, solo se puede cambiar en una dirección y al volver hace falta cambiar manualmente
Un monitor apto para gaming, con alto DPI, alta tasa de refresco y KVM integrado es el Gigabyte M28U
Con un solo botón cambia la fuente de entrada junto con los periféricos USB, y funciona bastante bien
También está el M32U, pero tiene menor DPI
Porque puede detectar que se quitó el dispositivo USB, es decir, que se pasó a la otra computadora, y que se insertó, es decir, que se volvió a esta computadora
Yo también hice algo parecido por mi cuenta y lo hice funcionar sin switch USB ni otro hardware
A los monitores HDMI/USB-C les envío comandos DDC, y al teclado y mouse Logi MX les envío bytecode HID++
El código está demasiado desordenado como para compartirlo, pero quien quiera hacerlo por su cuenta puede estructurarlo enviando secuencias de bytes para cambiar a cada host en un Logi Bolt Receiver, Logitech Unified Receiver, MX Keys Mini Bluetooth y MX Anywhere 3 Bluetooth
Mi configuración actual tiene dos monitores Dell U2415 y una desktop Linux x86_64, y uso un mouse vertical Logi compatible tanto con Bluetooth como con dongle, además de un teclado ATK (A.JAZZ)
Quiero compartir teclado/monitor/mouse con la Bluetooth de una Raspberry Pi 5 y sus dos puertos micro-HDMI de forma puramente por software, y no quiero gastar mucho dinero en un KVM de hardware