3 पॉइंट द्वारा GN⁺ 2024-02-12 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • SimpleKVM Windows के लिए एक प्रोग्राम है, जो एक ही keyboard, mouse और monitor सेट से कई computers को नियंत्रित करने देता है, और high-resolution तथा high-refresh-rate KVM की लागत कम करने का एक विकल्प है
  • उपयोगकर्ता को हर computer को monitor से connect करना है, keyboard और mouse को USB Switch से जोड़ना है, फिर किसी एक computer पर SimpleKVM चलाना है
  • स्विचिंग USB Switch के बटन या hotkey से की जा सकती है, और प्रोग्राम USB device के connect/disconnect होने या hotkey input को detect करता है
  • monitor input switching बहुत से monitors द्वारा समर्थित DDC/CI command के जरिए की जाती है, और multi-monitor configuration भी supported है
  • डाउनलोड GitHub के releases सेक्शन में उपलब्ध है, और फिलहाल यह केवल Windows के लिए उपलब्ध है

SimpleKVM किस समस्या को हल करता है

  • SimpleKVM एक ही keyboard, mouse और monitor से कई computers को नियंत्रित करने के लिए बनाया गया प्रोग्राम है
  • सामान्य KVM, खासकर high-resolution और high-refresh-rate को support करने वाले products, महंगे होते हैं
  • SimpleKVM सस्ते USB Switch के साथ इस्तेमाल करके बिना सैकड़ों dollars खर्च किए मिलती-जुलती setup बनाने में मदद करता है

जरूरी सेटअप

  • उपयोगकर्ता को यह setup इस क्रम में करना है
    • computers को monitor से connect करें
    • mouse और keyboard को USB Switch से connect करें
    • किसी एक computer पर SimpleKVM चलाएं
  • इसके बाद USB Switch या hotkey से computers के बीच switch किया जा सकता है

यह कैसे काम करता है

  • प्रोग्राम यह detect करता है कि USB device कब connect या disconnect हुआ
  • hotkey input को भी switching trigger के रूप में इस्तेमाल किया जा सकता है
  • switch करते समय यह monitor को DDC/CI command भेजकर input source बदलता है
  • DDC/CI एक ऐसा तरीका है जिसे बहुत से monitors support करते हैं

मल्टी मॉनिटर और रनटाइम वातावरण

  • SimpleKVM multi-monitor को support करता है
  • release को releases सेक्शन से डाउनलोड किया जा सकता है
  • फिलहाल उपलब्ध build Windows के लिए है

USB Switch के उदाहरण

  • कोई भी USB Switch इस्तेमाल किया जा सकता है
  • README में बिना किसी affiliation के उदाहरण के तौर पर ये products दिए गए हैं

startup सेटिंग और स्रोत

1 टिप्पणियां

 
GN⁺ 2024-02-12
Hacker News टिप्पणियाँ
  • मोटे तौर पर कहें तो “मैं भी इसी निष्कर्ष पर पहुँचा”, लेकिन मेरा सेटअप थोड़ा ज़्यादा जटिल है, पर मेरे हिसाब से बेहतर और सस्ता भी है
    ऊपर वाला तरीका हर कंप्यूटर पर इंस्टॉल करना पड़ता है, इसलिए मेरे लिए मुश्किल है, और यह USB switching पर निर्भर है, इसलिए पूरी तरह remote trigger संभव नहीं है
    इसके बजाय monitor input switching के लिए DDC commands इस्तेमाल करता हूँ, USB के लिए एक-बटन वाला 25 डॉलर का USB KVM, और button input के लिए 5~15 डॉलर का AliExpress macropad
    Stream Deck जैसे तैयार प्रोडक्ट कुछ बटनों के लिए ही 80 डॉलर से ऊपर पड़ते हैं, इसलिए महंगे हैं, और सस्ते macropad को bundled software की जगह https://github.com/rOzzy1987/MacroPad जैसे GitHub project से program किया जा सकता है
    USB KVM के बटन को FingerBot 16 डॉलर या Switchbot 28 डॉलर से दबवाता हूँ, और AHK shortcuts को watch करके DDC commands और USB switch button को साथ में trigger करता है
    कुछ सेकंड की देरी होती है, लेकिन सिर्फ एक जगह से control होता है और पूरी तरह remote execution भी संभव है

    • लगता है सब लोग लगभग इसी निष्कर्ष पर पहुँचे हैं। Windows और macOS में सिर्फ USB switch से automation करने की कोशिश में गलत DDC values, device event detection जैसी काफ़ी समस्याएँ आईं: https://nokappa.notion.site/Making-a-software-KVM-using-only...
      आखिर में यह थोड़ा unstable रहा, और दूसरी चीज़ें ज़्यादा बिगड़ी हुई थीं, इसलिए ज़्यादातर छोड़ दिया
      Macropad अच्छा idea है, और USB switch कहाँ रखा है यह पता करना हमेशा झंझट वाला रहा है
    • इस सेटअप के सामान्य KVM switch की तुलना में कुछ फायदे हैं और यह मज़ेदार hacking project भी रहा होगा, लेकिन सिर्फ कीमत देखें तो AliExpress पर 4-port 4K HDMI KVM और control pad 29.25 डॉलर में मिल जाता है
      अमेरिका की shipping cost पता नहीं, लेकिन यूरोप की shipping 15 डॉलर थी
    • मुझे ऐसा setup चाहिए, लेकिन मेरा monitor पर्याप्त DDC commands support नहीं करता। क्या कोई recommend करने लायक monitor है?
    • आपने कहा कि “ऊपर वाला तरीका हर कंप्यूटर पर इंस्टॉल करना पड़ता है” यह पसंद नहीं, लेकिन इस समाधान में भी क्या आखिरकार हर कंप्यूटर पर AHK script इंस्टॉल नहीं करनी पड़ती?
  • KVM पर रिसर्च करते-करते मैं भी आखिर इसी निष्कर्ष पर पहुँचा कि DDC ही समाधान है
    मेरे मामले में दो Windows मशीनें और dual-monitor setup है, और मैं CLI वाले NirSoft ControlMyMonitor और Elgato Stream Deck का इस्तेमाल करता हूँ
    सामान्य KVM में दोनों monitors सिर्फ एक ही कंप्यूटर दिखाते हैं, लेकिन मैं चाहता हूँ कि monitor A पर एक कंप्यूटर और monitor B पर दूसरा कंप्यूटर दिखे, और ज़रूरत पड़े तो उन्हें आपस में बदल सकूँ
    मैं portrait/landscape monitors साथ में इस्तेमाल करता हूँ, और mouse व keyboard को monitor configuration से स्वतंत्र रूप से switch करना चाहता हूँ
    मैं हर कंप्यूटर पर Stream Deck software चलाता हूँ, और Stream Deck USB switch से जुड़ा है

    • यह जानना दिलचस्प होगा कि Stream Deck से जुड़े bindings तक सब कुछ ठीक से काम करता है या नहीं
    • DDC का full form क्या है?
  • एक साधारण USB switcher भी काफ़ी महंगा था, और कभी-कभी Linux में ऐसे driver माँगता था जो चलते ही नहीं थे
    इसलिए मैंने USB hub और switch वाला एक simple circuit board जल्दी से डिज़ाइन किया और JLCPCB या PCBWay जैसी DIY fabrication service से assembly भी करवा ली
    2-to-1 switch वाला 5 पीस 25 यूरो में पड़ा, और मुझे circuit design का कोई अनुभव नहीं था, soldering भी नहीं की थी, फिर भी यह पूरी तरह काम करता है
    यह इस software के साथ भी अच्छी तरह फिट लग रहा है, इसलिए शायद मैं इसे भी आज़माऊँ

    • ऐसे switch में सब कुछ physically होता है, इसलिए software की ज़रूरत नहीं पड़ती, और Amazon पर लगभग 20 यूरो में मिल जाता है
      मेरे हिसाब से custom बनाने से कम महंगा है
    • अगर आप design कहीं accessible जगह पर डालें तो अच्छा होगा। KVM सस्ते हों तो अक्सर अजीब तरीके से काम नहीं करते, और महंगे हों तो काम तो करते हैं लेकिन quirks होते हैं
      grounding और अलग-अलग potential वाले ground loop से बचाव शायद इसका काफ़ी बड़ा हिस्सा होगा
    • लगता है पिछले कुछ सालों में कीमत थोड़ी बढ़ी है। आपके बनाए हुए प्रोडक्ट के लिए भी शायद बाज़ार हो सकता है
      कुछ USB switchers का Linux में ठीक से काम न करना दिलचस्प है
      मैंने सोचा था कि यह एक simple USB hub होगा, इसलिए अलग driver की ज़रूरत नहीं होगी, लेकिन https://www.aliexpress.com/item/1005006202631772.html जैसे प्रोडक्ट, जिनमें PCs के बीच file transfer या mouse sharing जैसे advanced features होते हैं, उनमें अक्सर special software और drivers की ज़रूरत पड़ती है
    • 2019 में मैंने https://www.amazon.com/gp/product/B01HV1N674 13 डॉलर में खरीदा था, और आज भी OP द्वारा बताए गए display-switch के साथ इस्तेमाल कर रहा हूँ
      यह जितना हो सके उतना “dumb” device है, इसलिए एक review के मुताबिक़ अगर बहुत ज़्यादा plug/unplug किया जाए तो port थोड़ा unstable हो सकता है, लेकिन मेरे 2 Dell P2419H monitors पर यह अब भी पूरी तरह काम करता है
      मैंने यह प्रोडक्ट इसलिए चुना क्योंकि इसकी सारी केबलें पीछे की तरफ़ हैं, और OP के GitHub page में remote वाला model भी ठीक लगता है
    • TA ने जिन कुछ प्रोडक्ट्स के लिंक दिए, उनकी कीमत काफ़ी reasonable थी
      ऐसा ही setup ढूँढते हुए मैंने कुछ इस्तेमाल किए और रिसर्च भी की, लेकिन जिन प्रोडक्ट्स को मैंने देखा उनमें किसी में भी driver की ज़रूरत नहीं थी
  • मैं इस काम के लिए udev इस्तेमाल करता हूँ। USB switch दिखते ही DDC command भेजता हूँ
    ACTION=="add", SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="1a40", ENV{ID_MODEL_ID}=="0101", RUN+="/usr/bin/ddcutil --sn ABCDEFGHI setvcp 60 0x0f"

  • अच्छे KVM, खासकर Level1Tech के प्रोडक्ट्स, सभी मॉनिटरों को वर्चुअली लगातार connected रखते हैं, इसलिए मशीनों के बीच जाने पर भी विंडो की position वही बनी रहती है
    client PC के नज़रिए से USB/DisplayPort device कभी गायब नहीं हुआ, इसलिए device को दोबारा plug करने वाली delay भी नहीं होती
    peripherals को dock में बहुत सारे जोड़कर सिर्फ upstream Thunderbolt को switch भी किया जा सकता है, लेकिन वह तरीका ठीक से काम नहीं करता
    घटिया KVM बनाना आसान है, अच्छा KVM बनाना मुश्किल
    https://www.store.level1techs.com/products/hardware से मेरा कोई संबंध नहीं है

    • मैंने Level1Tech KVM खरीदा था, लेकिन वह EDID emulation को support नहीं करता था
      Mac और Linux box (Gnome) के बीच स्विच करने पर Mac सो जाता था, और Gnome default monitor configuration पर लौटकर विंडो की position बदल देता था
      EDID emulation वाला DP 1.2 KVM तो है, लेकिन उससे DP 1.4 के फायदे खो जाते हैं
      FAQ forum में भी इसका ज़िक्र है: https://forum.level1techs.com/t/official-l1techs-kvm-faq-ult...
    • ज़्यादातर नए Dell monitor में built-in KVM और hub होता है
      USB receiver इस्तेमाल करने वाले wireless peripherals के साथ इसे चलाएँ तो cable-free setup बन जाता है, और laptop में सिर्फ एक cable लगाते ही सब कुछ connect हो जाता है
    • मैंने पिछले साल Level1Tech का प्रोडक्ट खरीदा था, और वह बहुत महंगा था, लेकिन मेरे लिए उसकी कीमत वसूल थी
      मैं काम के PC और personal PC के बीच दिन में कई बार आता-जाता हूँ, और दो Linux मशीनों पर dual monitor के साथ 4K 60Hz और 2K 144Hz में अब तक यह पूरी तरह सही चला है
      USB audio, mic, 4K camera, printer, keyboard और mouse तक जुड़े हुए हैं
    • विंडो की position preserve न रहने वाला bug सिर्फ घटिया window manager में होता है
      ठीक-ठाक window manager इतने smart होते हैं कि monitor वापस आने पर विंडो को उसकी पुरानी जगह पर लौटा दें
    • Amazon पर मिला एक सामान्य KVM https://www.amazon.com/gp/product/B088WGKFZH मैं बहुत अच्छे से इस्तेमाल कर रहा था, लेकिन अब वह शायद out of stock है, यही अफसोस है
      source switching कभी एक बार भी fail नहीं हुई, और जिन delays की दूसरे लोग बात करते थे, वे सिर्फ monitor के अपने HDMI handshake process की वजह से थीं
      मेरे पास इससे कहीं महंगा TESmart https://www.amazon.com/gp/product/B08N494N7X भी था, लेकिन Thunderbolt dock https://www.amazon.com/gp/product/B08HR3T837 और MBP के combination में अजीब compatibility problems थीं, इसलिए उसे इस्तेमाल नहीं कर पाया
      support team से भी पूछा, लेकिन आखिर तक कारण समझ नहीं आया
  • ऐसे tools में ध्यान रखने वाली बात यह है कि DisplayPort पर आमतौर पर command सिर्फ active input के लिए ही allowed होते हैं
    एक बार किसी दूसरे input पर चले जाएँ तो फिर वापस आने के लिए दूसरी computer side से चलाना पड़ता है, इसलिए यह असुविधाजनक है
    इसके उलट HDMI आमतौर पर non-active input ports पर भी DDC commands allow करता है
    यह अनिवार्य है या नहीं, पता नहीं, लेकिन मैंने जितने display इस्तेमाल किए हैं, उनमें ऐसा ही था

  • यह तो बिल्कुल वही project है जिसकी मुझे ज़रूरत थी. सोच रहा हूँ कि क्या सिर्फ Thunderbolt dock को switch करना भी संभव है
    उदाहरण के लिए, चार computers हों जो Thunderbolt support करते हों, और उनके बीच सिर्फ एक USB-C को switch किया जाए
    hardware पर असर पड़ेगा इस डर से मैंने खुद कोशिश नहीं की, और इस पोस्ट से प्रेरित होकर Thunderbolt KVM खोजा तो https://sabrent.com/products/sb-tb4k और https://www.reddit.com/r/Thunderbolt/comments/11gos6n/kvm_sw... जैसी चीज़ें मिलीं

    • उस पर ज़्यादा उम्मीद न रखना ही बेहतर होगा. Thunderbolt दिखने में सिर्फ USB-C है; इसे यूँ समझना बेहतर है कि यह संयोग से USB connector के आकार वाला PCIe है
    • समस्या आने की संभावना काफ़ी लगती है. मेरे Thunderbolt docks में हर बार power on या switch करते समय boot time जैसा इंतज़ार होता है
      अगर आप delay सह सकते हैं, तो शायद यह काम कर जाए
    • Thunderbolt की requirements शायद बहुत specific होंगी, इसलिए switch भी महंगा होने की संभावना है
  • सार यह है कि हर computer को monitor के हर input में अपनी HDMI cable लगानी होगी
    यह वैसा असली KVM नहीं है जैसा बहुत लोग सोचते हैं; यह बस monitor का input select button दबाने की ज़रूरत खत्म करता है
    कम-से-कम एक machine चालू होनी चाहिए और उस पर Windows चलना चाहिए, लेकिन शायद सिर्फ एक पर ही ऐसा होना काफ़ी है

    • Windows चलाने और program run करने वाला computer एक ही काफ़ी है
      USB device insert होने का पता चलते ही monitor input को Windows computer पर बदल देता है, और USB device हटने का पता चलते ही Linux computer पर वापस कर देता है
    • Linux में ddcutil से input switching की जा सकती है, इसलिए ऐसा कुछ बनाना आसान है
      मैं पहले से ही hotkey दबाने पर script चलाकर xrandr से monitor rotation बदलने जैसा मिलता-जुलता काम कर रहा हूँ
  • जब तक मैं फिर से एक ही कंप्यूटर पर नहीं लौटा, तब तक केबल सीधे निकालकर लगाता था; फिर README में बताए गए Ugreen USB switch का इस्तेमाल किया; और आखिरकार built-in KVM monitor पर आकर ठहरा, जो सबसे अच्छा निकला
    समस्या तब आती है जब आप काम और गेमिंग के लिए एक ही monitor इस्तेमाल करना चाहते हैं
    4K या high refresh rate वाले KVM switch बहुत महंगे होते हैं और उनकी reliability भी अक्सर कम होती है, इसलिए आम तौर पर USB switch इस्तेमाल किया जाता है और monitor input हाथ से बदला जाता है
    यहाँ का software “input source change” बटन दबाने का काम कम कर देता है, लेकिन यह Windows-only लगता है, इसलिए अगर दोनों machines Windows नहीं हैं तो सिर्फ एक दिशा में switch होगा और वापस आते समय manual switch करना पड़ेगा
    गेमिंग के लिए उपयुक्त, high DPI, high refresh rate और built-in KVM वाला monitor Gigabyte M28U है
    एक बटन से input source और USB peripherals साथ में बदल जाते हैं और यह काफ़ी अच्छी तरह काम करता है
    M32U भी है, लेकिन उसका DPI कम है

    • अगर सिर्फ दो कंप्यूटर हैं, तो SimpleKVM को सिर्फ एक मशीन पर चलाना भी काफ़ी है
      क्योंकि यह detect कर सकता है कि USB device हटाई गई है, यानी दूसरे कंप्यूटर पर स्विच हुआ है, और फिर लगाई गई है, यानी इस कंप्यूटर पर वापस आया है
    • सोच रहा हूँ कि क्या monitor पर switch किए गए दूसरे कंप्यूटर यह detect करते हैं कि display गायब हो गई है
    • Gigabyte M27U में panel बेहतर है, और ऊँचे DPI की वजह से macOS पर भी यह काफ़ी बेहतर दिखता है
  • मैंने भी ऐसा ही कुछ खुद बनाया था, और इसे USB switch या दूसरे hardware के बिना चलने लायक बनाया
    HDMI/USB-C monitor को DDC commands भेजता हूँ, और Logi MX keyboard तथा mouse को HID++ byte codes भेजता हूँ
    कोड शेयर करने लायक बहुत बिखरा हुआ है, लेकिन जो लोग खुद बनाना चाहते हैं, वे Logi Bolt Receiver, Logitech Unified Receiver, MX Keys Mini Bluetooth, और MX Anywhere 3 Bluetooth के लिए हर host पर switch कराने वाली byte sequences भेजने के तरीके से इसे बना सकते हैं

    • इसे और समझने के लिए कहाँ देखना चाहिए? यह भी जानना चाहता हूँ कि क्या ऐसी sequences device के हिसाब से अलग होती हैं
      मेरी मौजूदा setup में Dell U2415 monitor के दो units और Linux x86_64 desktop है, और मैं Bluetooth तथा dongle दोनों को सपोर्ट करने वाला Logi vertical mouse और ATK(A.JAZZ) keyboard इस्तेमाल करता हूँ
      मैं Raspberry Pi 5 के Bluetooth और micro-HDMI के दो ports का इस्तेमाल करके keyboard/monitor/mouse को pure software तरीके से share करना चाहता हूँ, और hardware KVM पर बहुत पैसा खर्च नहीं करना चाहता