Show HN: Yalnızca bir USB Switch kullanarak çoklu monitör KVM
(github.com/fiddyschmitt)- SimpleKVM, tek bir klavye, fare ve monitör setiyle birden fazla bilgisayarı kontrol etmeyi sağlayan Windows için bir programdır ve yüksek çözünürlüklü, yüksek yenileme hızlı KVM'lerin maliyetini düşüren bir alternatiftir
- Kullanıcı, her bilgisayarı monitöre bağlar, klavye ve fareyi USB Switch'e bağlar ve ardından bilgisayarlardan birinde SimpleKVM'i çalıştırır
- Geçiş, USB Switch düğmesi veya hotkey ile yapılabilir; program USB aygıtlarının bağlanmasını/çıkarılmasını ya da hotkey girişini algılar
- Monitör giriş geçişi, birçok monitörün desteklediği DDC/CI komutları ile yapılır ve çoklu monitör yapılandırmalarını da destekler
- İndirme, GitHub releases bölümünde sunulmaktadır ve şu anda yalnızca Windows için mevcuttur
SimpleKVM'in çözdüğü sorun
- SimpleKVM, tek bir klavye, fare ve monitörle birden fazla bilgisayarı kontrol etmek için bir programdır
- Geleneksel KVM'ler, özellikle yüksek çözünürlük ve yüksek yenileme hızı destekleyen ürünlerde pahalı olma eğilimindedir
- SimpleKVM, ucuz bir USB Switch ile birlikte kullanılarak yüzlerce dolar harcamadan benzer bir kurulum oluşturmayı mümkün kılar
Gerekli kurulum
- Kullanıcı aşağıdaki sırayla kurulum yapar
- Bilgisayarları monitöre bağlar
- Fare ve klavyeyi USB Switch'e bağlar
- Bilgisayarlardan birinde SimpleKVM'i çalıştırır
- Sonrasında USB Switch veya hotkey ile bilgisayarlar arasında geçiş yapılabilir
Çalışma şekli
- Program, USB aygıtlarının bağlandığı veya çıkarıldığı anı algılar
- Hotkey girişi de geçiş tetikleyicisi olarak kullanılabilir
- Geçiş sırasında giriş kaynağını değiştirmek için monitöre DDC/CI komutları gönderilir
- DDC/CI, birçok monitörün desteklediği bir yöntemdir
Çoklu monitör ve çalışma ortamı
- SimpleKVM, çoklu monitör desteği sunar
- Sürümler releases bölümünden indirilebilir
- Şu anda sunulan derleme Windows içindir
USB Switch örnekleri
- Herhangi bir USB Switch kullanılabilir
- README'de, sponsorlu olmayan örnekler olarak şu ürünler verilmektedir
- SABRENT 4 Port USB Switch for $29 USD: 4 bilgisayar desteği
- 2 port USB switch for $24 USD: 2 bilgisayar desteği
- 2 ports for for $3 USD: 2 bilgisayar desteği, giriş USB'si 1 adet
Başlangıçta çalıştırma ayarı ve kaynak
- Başlangıçta otomatik çalıştırmak için ayarlar düğmesine tıklayıp Run at Startup seçeneğini işaretleyin
- SimpleKVM, haimgel'in display-switch programından ilham almıştır
1 yorum
Hacker News yorumları
“Ben de aynı sonuca vardım” denebilir, ama benim kurulumum biraz daha karmaşık olsa da daha iyi ve daha ucuz bence
Bu yöntem her bilgisayara kurulum gerektiriyor, bu yüzden bana uymuyor ve USB geçişine dayandığı için tamamen uzaktan tetikleme de yapılamıyor
Bunun yerine monitör giriş geçişini DDC komutları ile, USB’yi ise tek tuşlu 25 dolarlık bir USB KVM ile yapıyorum; tuş girdisi için de AliExpress’ten 5–15 dolarlık bir makro pad kullanıyorum
Stream Deck gibi hazır ürünler birkaç düğme için 80 doların üstünde olduğu için pahalı; düşük maliyetli makro pad’ler ise birlikte gelen yazılım yerine https://github.com/rOzzy1987/MacroPad gibi GitHub projeleriyle programlanabiliyor
USB KVM düğmesine FingerBot 16 dolar ya da Switchbot 28 dolar ile bastırıyorum; AHK de kısayol tuşlarını izleyip DDC komutlarıyla USB anahtar düğmesini birlikte tetikliyor
Birkaç saniyelik gecikme var ama tek bir yerden kontrol ediliyor ve tamamen uzaktan çalıştırmak da mümkün
Sonunda biraz kararsız çalışıyordu ve başka şeyler daha da dağınıktı, bu yüzden çoğunu bıraktım
Makro pad iyi fikir; USB anahtarının yerini ayarlamak hep can sıkıcıydı
ABD kargosunu bilmiyorum ama Avrupa gönderimi 15 dolardı
KVM araştırırken sonunda çözümün DDC olduğu yönünde aynı sonuca vardım
Benim durumda iki Windows makinesi ve çift monitörlü bir kurulum var; CLI sunan NirSoft ControlMyMonitor ile Elgato Stream Deck kullanıyorum
Normal bir KVM iki monitörün de tek bir bilgisayarı göstermesini sağlar, ama ben A monitörde bir bilgisayarı, B monitörde başka bir bilgisayarı göstermek ve gerekirse bunları yer değiştirmek istiyorum
Dikey/yatay monitörleri birlikte kullanıyorum ve fare ile klavyenin monitör düzeninden bağımsız olarak geçiş yapmasını istiyorum
Her bilgisayarda Stream Deck yazılımını çalıştırıyorum ve Stream Deck USB anahtarına bağlı
Basit bir USB anahtarlayıcı bile oldukça pahalı olabiliyor ve bazen Linux’ta çalışmayan sürücüler isteyebiliyordu
Bu yüzden USB hub ve anahtar içeren basit bir devre kartını hızlıca çizip JLCPCB ya da PCBWay gibi DIY üreticilere montajıyla birlikte yaptırdım
Tek 2’ye 1 anahtarlı 5 adet kart 25 avroya mal oldu; devre tasarımı deneyimim de yoktu, lehim de yapmadım ama kusursuz çalışıyor
Bu yazılımla da iyi uyum sağlayacak gibi görünüyor, o yüzden belki bir ara denerim
Özel üretimden daha ucuz olduğunu düşünüyorum
Topraklama ve farklı potansiyeller arasındaki ground loop sorunlarından kaçınmak işin önemli bir kısmı gibi görünüyor
Bazı USB anahtarlayıcıların Linux’ta pek iyi çalışmaması ilginç
Basit bir USB hub oldukları için ayrı sürücü gerektirmezler diye düşünmüştüm ama https://www.aliexpress.com/item/1005006202631772.html gibi PC’ler arasında dosya aktarımı veya fare paylaşımı gibi gelişmiş özellikleri olan ürünlerde özel yazılım ve sürücü gerekebiliyor
Mümkün olduğunca “aptal” bir cihaz olduğu için, incelemelerden birine göre çok fazla tak çıkar yapılırsa port biraz gevşeyebiliyor ama benim 2 adet Dell P2419H monitörümde hâlâ kusursuz çalışıyor
Tüm kablolar arkada olduğu için bunu seçmiştim; OP’nin GitHub sayfasındaki uzaktan kumandalı model de iyi görünüyor
Benzer bir kurulum ararken birkaçını kullandım ve araştırdım ama sürücü gerektiren tek bir ürüne bile rastlamadım
Bu amaç için udev kullanıyorum. USB anahtarı göründüğünde DDC komutu gönderiyorum
ACTION=="add", SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="1a40", ENV{ID_MODEL_ID}=="0101", RUN+="/usr/bin/ddcutil --sn ABCDEFGHI setvcp 60 0x0f"İyi bir KVM, özellikle de Level1Tech ürünleri, tüm monitörleri sanal olarak sürekli bağlı tutar; böylece makineler arasında geçseniz de pencere konumları olduğu gibi kalır
İstemci PC açısından bakıldığında USB/DisplayPort aygıtları hiç kaybolmamış olur, bu yüzden aygıtları yeniden takma gecikmesi de yaşanmaz
Çevre birimlerini bir dock'a topluca bağlayıp yalnızca upstream Thunderbolt'u da değiştirebilirsiniz, ancak bu yöntem düzgün çalışmaz
Kötü bir KVM kolaydır, iyi bir KVM zordur
https://www.store.level1techs.com/products/hardware ile bir ilgim yok
Mac ve Linux kutusu (Gnome) arasında gidip gelirken Mac uykuya geçiyor, Gnome ise varsayılan monitör yapılandırmasına dönüp pencere konumlarını değiştiriyor
EDID emülasyonu olan DP 1.2 KVM'ler var ama bu durumda DP 1.4'ün avantajlarını kaybediyorsunuz
FAQ forumunda da yazıyor: https://forum.level1techs.com/t/official-l1techs-kvm-faq-ult...
USB alıcısı kullanan kablosuz çevre birimleriyle birlikte kullanınca kablosuz bir kurulum için iyi oluyor ve dizüstü bilgisayarda tek kablo takmanız her şeyi bağlıyor
İş bilgisayarımla kişisel bilgisayarım arasında günde birçok kez geçiş yapıyorum ve iki Linux makinede 4K 60Hz ile 2K 144Hz çift monitör kurulumunda şimdiye kadar kusursuz çalıştı
USB ses, mikrofon, 4K kamera, yazıcı, klavye ve fare de bağlı
İyi bir pencere yöneticisi, monitör geri geldiğinde pencereleri eski konumlarına geri koyacak kadar akıllıdır
Kaynak değiştirme hiç başarısız olmadı ve başkalarının bahsettiği gecikme yalnızca monitörün kendi HDMI handshake sürecinden ibaretti
Çok daha pahalı bir TESmart https://www.amazon.com/gp/product/B08N494N7X de vardı ama Thunderbolt dock https://www.amazon.com/gp/product/B08HR3T837 ve MBP kombinasyonunda garip uyumluluk sorunları yaşadığı için kullanamadım
Destek ekibine de ulaştım ama nedenini hiçbir zaman öğrenemedim
Bu tür araçlarda dikkat edilmesi gereken nokta şu: DisplayPort tarafında komutlara genelde yalnızca etkin giriş için izin verilir
Bir kez başka girişe geçince, diğer bilgisayar tarafında çalıştırmadığınız sürece geri dönemezsiniz; bu da zahmetlidir
Buna karşılık HDMI, genelde etkin olmayan girişlerdeki portlara da DDC komutlarına izin verir
Bunun zorunlu olup olmadığını bilmiyorum ama benim kullandığım tüm ekranlarda durum buydu
Tam da ihtiyacım olan proje. Sadece Thunderbolt dock değiştirmek de mümkün mü diye merak ediyorum
Örneğin Thunderbolt destekleyen dört bilgisayarınız var ve aralarında yalnızca tek bir USB-C'yi değiştiriyorsunuz
Donanıma zarar verir mi diye denemeye cesaret edemedim; bu yazıdan ilham alıp Thunderbolt KVM arayınca https://sabrent.com/products/sb-tb4k ve https://www.reddit.com/r/Thunderbolt/comments/11gos6n/kvm_sw... gibi şeyler buldum
Gecikmeyi kabul edebiliyorsanız çalışabilir
Özetle, her bilgisayarın monitördeki her girişe kendi HDMI kablosunu takması gerekiyor
Bu, birçok kişinin düşündüğü anlamda gerçek bir KVM değil; monitörün giriş seçme düğmesine basma ihtiyacını ortadan kaldıran bir yöntem
En az bir makinenin açık olup Windows çalıştırması gerekiyor ama muhtemelen yalnızca bir tanesinin böyle olması yeterli
USB aygıtı takıldığını algılarsa monitör girişini Windows bilgisayarına geçiriyor, USB aygıtının çıkarıldığını algılarsa Linux bilgisayarına geçiriyor
Zaten bir kısayol tuşuna basınca script çalıştırıp
xrandrile monitör döndürmeyi değiştirecek şekilde benzer bir kullanımım varBen de tek bir bilgisayara dönene kadar kabloları elle söküp takıyordum, README’de geçen Ugreen USB switch’i kullandım, en sonunda da dahili KVM’li monitörde karar kıldım; en iyisi o oldu
Sorun, iş ve oyun için aynı monitörü kullanmak istediğinizde ortaya çıkıyor
4K veya yüksek yenileme hızlı KVM switch’ler aşırı pahalı ve genelde çok güvenilir değil; bu yüzden çoğu kişi USB switch kullanıp monitör girişini elle değiştiriyor
Buradaki yazılım “giriş kaynağını değiştir” düğmesine basma işini azaltıyor, ama yalnızca Windows’a özel görünüyor; bu yüzden iki makine de Windows değilse geçiş sadece tek yönde olur ve geri dönerken elle geçiş yapmak gerekir
Oyun için uygun olup yüksek DPI, yüksek yenileme hızı ve dahili KVM sunan monitörlerden biri Gigabyte M28U
Tek düğmeyle giriş kaynağı ve USB çevre birimleri birlikte değişiyor ve oldukça iyi çalışıyor
M32U da var ama DPI değeri daha düşük
Çünkü USB aygıtının kaldırıldığını, yani diğer bilgisayara geçildiğini, ve tekrar takıldığını, yani bu bilgisayara dönüldüğünü algılayabiliyor
Ben de buna benzer bir şeyi kendim yaptım ve USB switch veya başka bir donanım olmadan çalışmasını sağladım
HDMI/USB-C monitörlere DDC komutları gönderiyor, Logi MX klavye ve fareye ise HID++ byte kodları yolluyorum
Kod paylaşılacak kadar derli toplu değil, ama kendisi yapmak isteyen biri bunu Logi Bolt Receiver, Logitech Unified Receiver, MX Keys Mini Bluetooth ve MX Anywhere 3 Bluetooth için her host’a geçiş yapan byte dizilerini göndererek kurgulayabilir
Mevcut kurulumum iki adet Dell U2415 monitör ve Linux x86_64 masaüstünden oluşuyor; Bluetooth ve dongle desteği olan Logi dikey fare ile ATK(A.JAZZ) klavye kullanıyorum
Raspberry Pi 5’in Bluetooth’u ve iki micro-HDMI portu üzerinden klavye/monitör/fareyi tamamen yazılım tabanlı olarak paylaşmak istiyorum ve donanımsal KVM’e büyük para harcamak istemiyorum