3 पॉइंट द्वारा GN⁺ 2023-10-08 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • यह पुराने टैबलेट को pixel-based सहायक display की बजाय SSH terminal screen की तरह इस्तेमाल करने के लिए एक MVP/POC है। इसमें Android SSH client से computer में connect करने के बाद screen session में key input inject किया जाता है
  • यह setup उन use cases के लिए है जहाँ graphics card पहले ही limit पर पहुँच चुका हो, virtual display adapter न मिल रहा हो, और log tail जैसी सिर्फ text देखने वाली स्थिति में tablet पर pixels भेजने वाले workaround से बचना हो
  • basic flow यह है: computer पर SSH server चालू करें, tablet के terminal/SSH client से connect करें, फिर DISPLAY=:0 screen -R aux से session बनाएँ। इसके बाद एक अलग input program screen -S aux -X stuff x जैसे तरीके से characters को session में डालता है
  • DISPLAY=:0 setting के कारण terminal में xdg-open ., emacs &, git gui & जैसे commands चलाने पर output मुख्य GUI session में देखा जा सकता है
  • security और usability की सीमाओं के साथ इसे MVP/POC अवस्था के रूप में स्पष्ट किया गया है
    • mobile app को computer का पूरा access देना पड़ता है
    • computer पर SSH server खोलना पड़ता है; सुझाव है कि इसे केवल trusted network पर शुरू करें और बाकी जगह बंद रखें
    • C-SPC input handling की समस्या, हर key के लिए screen चलाने का तरीका, और पुराने devices पर terminal client ढूँढना मुश्किल होने जैसी समस्याएँ मौजूद हैं
    • दोनों तरीके LAN पर निर्भर हैं
  • Kindle Fire office environment में यह terminal के रूप में अच्छी तरह काम किया, जबकि घर के iPad environment में Emacs screen की तरह इस्तेमाल करने के लिए यह बहुत धीमा था—ऐसे usage results बताए गए हैं
  • paste के लिए Ctrl+Shift+V से पूरा clipboard screen session में inject किया जाता है; copy अभी तक हल नहीं हुई है
  • बेहतर approach के candidates के रूप में hyper के components और xterm.js, browser display, WebSocket के जरिए key input भेजना, और PTY-based server setup प्रस्तावित किए गए हैं

1 टिप्पणियां

 
GN⁺ 2023-10-08
Hacker News की टिप्पणियां
  • Linux GNOME desktop environment में tablet को सिर्फ terminal के लिए नहीं, बल्कि secondary monitor के तौर पर भी इस्तेमाल किया जा सकता है: https://www.omgubuntu.co.uk/2022/06/use-ipad-as-second-monit...
    ऐसे दूसरे tablet “monitor” पर game streaming तक करने के लिए किसी बेहतर समाधान का अभी भी इंतज़ार है

    • अभी-अभी कोशिश की, लेकिन Microsoft RDP client install करते समय iOS 15 या उससे ऊपर चाहिए दिखा, इसलिए पुराने iPad पर install नहीं हो सका
      आखिरकार पुराने iPad को इस तरीके से सच में इस्तेमाल करना मुश्किल लगता है, हालांकि कोई दूसरा काम करने वाला RDP client खोजा जा सकता है
    • X11 पर यह काम नहीं करता, और cursor भी दिखाई नहीं देता
      अगर cursor की ज़रूरत नहीं है, तो यह काफ़ी अच्छी तरह काम करता है
    • उत्सुकता है कि KDE में भी यह चलता है या कोई मिलता-जुलता समाधान है
  • Weylus इस्तेमाल करके देखा: https://github.com/H-M-H/Weylus
    यह LAN पर चलता है और tablet से mouse control किया जा सकता है
    कभी-कभी latency होती है, लेकिन resolution adjust करके bandwidth usage कम किया जा सकता है, और इसकी stability को लेकर पक्का नहीं कह सकता
    इसे नियमित रूप से इस्तेमाल नहीं किया

  • अगर Windows पर कोई spare laptop या device है, तो SpaceDesk एक अच्छी free app है। open source नहीं है: https://www.spacedesk.net/
    Windows development machine पर WSL2 के साथ इस्तेमाल कर रहा हूं, और पुराने laptop को external display की तरह चला रहा हूं; Wi‑Fi पर भी ठीक काम करता है

    • सस्ते Amazon tablet पर USB-C से SpaceDesk चलाया, और tablet में PTP mode चालू करना होगा यह समझने के बाद सफल हुआ
      travel करते समय secondary monitor के रूप में काफी अच्छा लगेगा, और 60fps व high settings पर भी latency लगभग महसूस नहीं होती
    • requirements में iOS 9.3+ दिखा तो उम्मीद जगी, लेकिन संभाल कर रखा हुआ ठीक-ठाक iPad 2 पर app install नहीं हुई
      अभी भी supported iPad पर कभी-कभी macOS का built-in iPad secondary screen feature इस्तेमाल करता हूं, और वह काफी अच्छा चलता है
  • बेहतर होता अगर इन devices के LVDS ribbon cable connectors ज़्यादा standardized होते
    तब HDMI/DisplayPort adapter खरीदकर सीधे इस्तेमाल किया जा सकता था; असल में ऐसे adapters हैं, लेकिन मेरी जानकारी में LVDS ribbon cable का कोई एक unified standard, या उसके करीब भी, मौजूद नहीं है

  • systemctl type करना मुश्किल लगता है
    अगर services को अक्सर start/stop करते हैं, तो alias sc='sudo systemctl' जैसा alias सुझाऊंगा
    यह Windows NT के बाद के versions की “service control” utility sc से भी अच्छी तरह मेल खाता है, और bash/fish में काम करेगा
    service development के दौरान sce, sci, scs जैसे functions से stop, status, start को wrap कर दें, तो हर बार st* subcommand और दूसरा argument बदलने की झंझट कम हो सकती है

    • सहमत हूं। हालांकि journalctl type करना मुझे इससे भी खराब लगता है
  • इसी तरह पुराने phone को Stream Deck alternative की तरह इस्तेमाल करना हो, तो TouchPortal इस्तेमाल कर सकते हैं: https://www.touch-portal.com/
    free नहीं है, लेकिन महंगा भी नहीं, और हैरानी की बात है कि बहुत अच्छी तरह काम करता है

    • ऐसा लगता है कि इसी तरह का काम करने वाला free open source software है: https://stream-pi.com/
      अभी जो video सुन रहा हूं उसके मुताबिक current client सिर्फ Linux पर है, और host Windows व Linux को support करता है
      Linux चलाने वाले Surface Pro को client और Windows को host बनाकर थोड़ा इस्तेमाल किया, लेकिन अभी जो चीज़ रोक रही है वह है plugins की कमी
      Stream Deck को game session management के लिए इस्तेमाल कर रहा हूं; Steam, Discord, Voicemod soundboard और voice, कभी-कभी OBS, game launch आदि को संभालना हो तो मौजूदा स्थिति में बस OBS और shortcuts configured चीज़ों तक ही manage कर सकते हैं
  • tablets में HDMI/DisplayPort input होना चाहिए, ताकि उन्हें सीधे display के रूप में इस्तेमाल किया जा सके

    • एक कदम आगे जाकर, हर device में TCP जैसा standard communication protocol होना चाहिए था
      display भी bytes read/write कर सकने वाले एक और device के रूप में दिखे, और हर device के पास query की जा सकने वाली HTTP/HATEOAS-based self-documenting interface हो—कुछ ऐसा
      HDMI/DisplayPort या USB A/B/C/.../Z भी gigabit Ethernet या Thunderbolt जैसे protocols का इस्तेमाल करें, और bandwidth arbitrary resolution पर maximum frame rate तय करे
      device interface metadata query करके display, printer, storage device के साथ byte arrays भेजना-लेना, और केवल header के शुरुआती हिस्से में फर्क रहने वाली structure संभव होती
      cameras और scanners से भी manufacturer drivers के बिना, web server के document folder की तरह images और video files सीधे download की जा सकती थीं; तकनीकी रूप से यह असंभव था ऐसा कोई कारण नहीं था, और मुझे लगता है Microsoft और Apple ने ऐसी generalization को लगातार रोका
      web standards भी committee-style design की ओर चले गए, जिससे इन चीज़ों को unify करने की उम्मीद खत्म हो गई, और smartphones व tablets commoditized proprietary consumerism की सोच का चरम रूप लगते हैं
    • tablet में USB HDMI capture dongle लगाएं तो इसे ऐसे इस्तेमाल किया जा सकता है
      कोई भी webcam viewer आम तौर पर दिखा देगा, और iPad के लिए https://orion.tube/ जैसी dedicated app भी है
      पता है कि Android पर भी options हैं, लेकिन test करने के लिए मेरे पास कोई modern Android tablet नहीं है
  • पहले Duet से यह use case हल किया था
    iPad screen से laptop screen extend कर सकते थे, इसलिए यह अच्छा काम करता था: https://www.duetdisplay.com/

  • अच्छा idea है
    अलग program के बजाय bash, awk, xev, xdotool से मिलता-जुलता implementation किया था
    screen के अंदर screen का cut/paste इस्तेमाल करें, और बाकी में screen का copy buffer व xclipboard इस्तेमाल कर सकते हैं