3 पॉइंट द्वारा GN⁺ 2024-01-28 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Sxmo, Linux फ़ोन और अन्य मोबाइल डिवाइसों पर सरल प्रोग्रामों और shell scripts को जोड़कर Unix दर्शन के अनुरूप UI बनाने वाला एक मिनिमल वातावरण है
  • यह मेनू-आधारित इंटरफ़ेस और टाइलिंग विंडो मैनेजर को साथ में उपयोग करता है, और sway जैसे सेटअप पर Wayland तथा legacy Xorg दोनों को सपोर्ट करता है
  • यह touch, gesture और hardware button नियंत्रण देता है, और सक्रिय CLI या GUI ऐप के अनुसार बदलने वाले context menu से छोटी स्क्रीन की उपयोगिता को बेहतर बनाता है
  • इसमें modem, calling, SMS, notification पढ़ना, और battery-powered डिवाइसों के लिए lightweight अनुकूलन जैसी मोबाइल सुविधाएँ शामिल हैं, साथ ही SSH से मेनू एक्सेस और SMS भेजना भी संभव है
  • user scripts से calls, SMS, gestures और physical buttons को जोड़ा जा सकता है, इसलिए यह बंद app ecosystem की तुलना में खुद बदलकर इस्तेमाल करने वाली Linux शैली के अधिक करीब है

Sxmo जिस मोबाइल Linux वातावरण की ओर बढ़ता है

  • Sxmo Linux मोबाइल डिवाइसों के लिए एक मिनिमल वातावरण है, और “minimal, mobile, hackable” को अपना सिद्धांत मानता है
  • पुराने Android फ़ोन या टैबलेट भी थोड़ी सेटिंग के साथ चल सकते हैं, और उदाहरण डिवाइसों में OnePlus 6 और Poco F1 शामिल हैं
  • डिवाइस सपोर्ट की जानकारी device profile पर देखी जा सकती है, और पहली बार उपयोग करने वाले getting started guide देख सकते हैं

नियंत्रण का तरीका और customization

  • UI एक सरल menu-based interface और tiling window manager का साथ में उपयोग करता है
    • उदाहरण के तौर पर sway का उपयोग किया जा सकता है
    • टूल्स आपस में जुड़े रह सकते हैं और आसानी से बदले जा सकें, इस दिशा में डिज़ाइन किए गए हैं
    • Wayland और legacy Xorg दोनों को सपोर्ट करता है
  • मोबाइल input का तरीका छोटी स्क्रीन और physical buttons के उपयोग को ध्यान में रखकर बनाया गया है
    • touch और gestures सपोर्ट करता है
    • hardware buttons से मेनू नियंत्रित किए जा सकते हैं
    • सक्रिय application CLI है या GUI, इसके अनुसार community-based context menu बदलता है
  • मोबाइल Linux सुविधाओं में modem, calls, SMS, notifications तक शामिल हैं
    • notifications और SMS पढ़े जा सकते हैं
    • battery-powered डिवाइसों और छोटी स्क्रीन के लिए lightweight अनुकूलन शामिल है
    • SSH को एक मुख्य उपयोग विधि के रूप में सपोर्ट करता है, और SSH से सभी मेनू तक पहुँचा जा सकता है
    • vis, emacs, vim जैसे text editors का उपयोग करके SSH से SMS भेजे जा सकते हैं
  • hackability के लिए कई क्रियाओं को shell scripts से जोड़ा जा सकता है
    • call या SMS event पर user-defined scripts चलाई जा सकती हैं
    • lisgd का उपयोग करके gestures को scripts से bind किया जा सकता है
    • डिवाइस के physical button के single, double, triple click पर scripts जोड़ी जा सकती हैं
    • modem logs, contact lists और SMS text सामान्य plain text के रूप में संग्रहीत होते हैं
  • app ecosystem बंद संरचना वाला नहीं है, और डेस्कटॉप पर इस्तेमाल होने वाले FOSS apps मोबाइल पर भी उपयोग किए जा सकते हैं
    • यह Alpine Linux और postmarketOS जैसे मोबाइल-अनुकूलित Linux distributions पर चलता है
    • स्मार्टफ़ोन पर terminal-based applications का उपयोग किया जा सकता है

1 टिप्पणियां

 
GN⁺ 2024-01-28
Hacker News की टिप्पणियाँ
  • PinePhone पर जिन interfaces को मैंने आज़माया है, उनमें sxmo सबसे अच्छा लगा
    मैं आम तौर पर suckless परिवार के tools ज़्यादा इस्तेमाल नहीं करता, और उस तरह के software का सम्मान करता हूँ, लेकिन मेरी पसंद Emacs या KDE जैसे feature-rich विकल्पों की तरफ़ ज़्यादा रहती है। फिर भी sxmo, KDE या Phosh से काफ़ी ज़्यादा तेज़ है, और discoverability की शुरुआती बाधा पार कर लें तो यह काफ़ी functional और intuitive है। लगता है megi ने एक अच्छा cheatsheet भी बनाया था

    • मैं Librem 5 पर Plasma Mobile इस्तेमाल कर रहा हूँ, और यह काफ़ी तेज़ है
      लेकिन KDE ने core apps को mobile-friendly framework में फिर से बनाने का फैसला किया है, इसलिए app platform के रूप में यह कितना व्यावहारिक होगा, कहना मुश्किल है। अभी इसमें गहराई से देखने लायक चीज़ें ज़्यादा नहीं हैं, और संभव है कि अगले कुछ साल तक भी ऐसा ही रहे। यह recommendation देखकर sxmo भी एक बार आज़माने का सोच रहा हूँ
    • मैं लगभग 6 महीने PinePhone इस्तेमाल नहीं कर पाया, और उससे पहले भी किसी अज्ञात वजह से call audio नहीं आता था, इसलिए कुछ समय तक इसे छोड़े रखा, लेकिन कुल मिलाकर लगभग डेढ़ साल इसे अपने मुख्य फोन के रूप में इस्तेमाल किया
      मैंने दूसरे desktop environments भी आज़माए, लेकिन आख़िरकार sxmo/swmo पर टिक गया, क्योंकि components को खुद जोड़ने और नियंत्रित करने की इसकी philosophy मुझे पसंद आई, और laptop से SSH के जरिए फोन को नियंत्रित कर पाना भी बड़ा कारण था। मैं पहले से Sway का आदी था, और जब मैंने शुरू किया तब Phosh और KDE में काफ़ी गंभीर समस्याएँ थीं
      लेकिन sxmo में हमेशा गंभीर bugs बहुत रहे। ऐसे race conditions बहुत थे जिनसे restart से पहले तक चीज़ें टूट जाती थीं, और unlock करने के लिए power button को एक बार, दो बार, तीन बार दबाना पड़ता था, या लंबा दबाकर फिर दोबारा दबाना पड़ता था—यह sleep state और पिछली actions पर निर्भर करके हर बार अलग तरह से काम करता था। state या mode changes को screen पर दिखने में भी लगभग 1 सेकंड लग जाता था, जो उम्मीद से ज़्यादा तनाव देता था
      अगर कोई mutex state उलझ जाती, तो LED blinking को control करने की कोशिश में नए processes लगातार बढ़ते जाते, और आख़िरकार power button को लंबा दबाना भी काम नहीं करता था, जिससे battery निकालनी पड़ती थी
      जब लोग कहते हैं कि Rust, C से बेहतर है क्योंकि memory safety और बेहतर data models की वजह से कुछ तरह के bugs पूरी तरह गायब हो जाते हैं, तो sxmo का बड़ा हिस्सा shell scripts में लिखा होना इस बात को और उभारता है, क्योंकि बड़े पैमाने की design के नज़रिए से यह C से भी काफ़ी कमज़ोर है। सही building blocks कम हैं, और उसकी सीमाएँ साफ़ दिखती हैं
      पूरा system उन टुकड़ों का मिश्रण ज़्यादा लगता है जो एक-दूसरे के अस्तित्व को नज़रअंदाज़ करते हैं; अगर वे बेहतर सहयोग करते तो नतीजा कहीं ज़्यादा स्थिर हो सकता था। ऊपर-ऊपर से चीज़ें ठीक दिखती हैं, लेकिन पूरी तरह सही लागू नहीं होतीं, और कुछ मामलों में design खुद ही अनावश्यक रूप से जटिल और ग़लत तरीके से तय की गई है
      मुझे नहीं लगता कि पिछले 6 महीनों में बहुत बड़ा बदलाव आया होगा, इसलिए मैं sxmo users को एक चुनौती देना चाहूँगा। system tray की घड़ी का display बदलने का तरीका ढूँढिए, और ऐसा भी कि वह अधिकतम 55 सेकंड देर से refresh होने के बजाय ठीक सही समय पर update हो। इस process में आपको कई अलग systems से होकर गुजरना पड़ेगा—जैसे 55-सेकंड timer cache value सेट करता है और status bar वही value पढ़ता है—और disk पर कम से कम तीन जगहों में खोजना पड़ेगा। ripgrep जैसे tool की ज़रूरत पड़ेगी, और आख़िर में आप सोचेंगे कि status bar command में बस date +'%H:%M' डालकर उसे date +'%-I:%M %P' से बदल क्यों नहीं दिया गया
      features के मामले में भी, Android पर जो चीज़ें बस काम कर जाती हैं वे यहाँ बिल्कुल नहीं चलतीं, या Phosh में जो काम करती हैं वे भी यहाँ smooth नहीं होतीं। बदले में, एक बार यह समझ आ जाए कि कुछ काम कैसे कराना है, तो इसे कहीं बेहतर तरीके से script किया जा सकता है। मैंने अपना personal workflow किसी भी दूसरे operating system से ज़्यादा आरामदायक बनाया, लेकिन उसके लिए बहुत सारे scripts लिखने पड़े
      समय के साथ कुछ समस्याएँ ठीक हुई हैं और कुछ नई पैदा हुई हैं, लेकिन कुल मिलाकर वास्तविक quality अभी भी काफ़ी कम है। फिर भी मैं इसे इस्तेमाल करता जा रहा हूँ, तो शायद मैं masochist हूँ
      निष्कर्ष यह है कि sxmo/swmo की recommendation मैं शायद वास्तव में किसी एक व्यक्ति को भी नहीं दूँगा। हाँ, अगर किसी प्रकार के user को यह suit करे, तो शायद वह ऐसा व्यक्ति होगा जो desktop पर पहले से tiling window manager इस्तेमाल करता हो और जिसे खुद फोन में ज़्यादा दिलचस्पी न हो
  • अगर homepage पर 45-मिनट की presentation की जगह 1~2 मिनट का demo video हो, तो concept कहीं ज़्यादा साफ़ तरीके से समझाया जा सकता है

  • यह मुझे पसंद आया। सब कुछ shell scripts से जुड़ा हुआ है, इसलिए यह सबकी पसंद का नहीं होगा, लेकिन phone UI को जल्दी से बदल-फेर सकने की क्षमता अच्छी है
    मैंने commute के दौरान PinePhone पर ही एक alarm clock script लिखी थी, जिसे मुझे publish करना चाहिए। यह deep sleep state से alarm बजने से ठीक पहले जागकर alarm चलाती है
    alarm clock जैसे features, जैसे RTC wakeup सेट करना, अभी भी काफ़ी हद तक missing हैं, लेकिन कुल मिलाकर यह एक शानदार system है और निकट भविष्य में मैं इसे फिर से इस्तेमाल करके hack करना चाहूँगा

  • अगर आप FOSDEM जा रहे हैं और फोन पर Linux में दिलचस्पी रखते हैं, तो devroom schedule [0] और संबंधित booths [1] देखना अच्छा रहेगा
    [0]: https://fosdem.org/2024/schedule/track/foss-on-mobile-device...
    [1]: https://fosdem.org/2024/stands/

  • इस बात से सहमत होना मुश्किल है कि “Android devices पर चलने वाला kernel इतना ज़्यादा modify किया गया है कि community उसे maintain नहीं कर सकती”
    Android, mainline Linux kernel पर भी चलता है। अगर community पहले से mainline kernel maintain कर सकती है, तो Android common kernel में शामिल 210 patches की series को असंभव नहीं माना जाना चाहिए। सिर्फ़ इसी वजह से Android की पूरी value को छोड़ देना, छोटी समस्या के लिए बहुत बड़ी क़ीमत चुकाने जैसा है
    Android में multi-window support है, इसलिए किसी का Android के लिए tiling window manager बनाना भी काफ़ी तर्कसंगत लगता है

  • यह जानने की जिज्ञासा है कि क्या इसे सामान्य Intel/AMD सर्वर पर चलाकर xrdp/nx सेशन के रूप में इस्तेमाल किया जा सकता है
    सामाजिक अनुकूलता और एक अच्छा कैमरा चाहिए। i3 भी आज़माया था, लेकिन फिजिकल कीबोर्ड के बिना इस्तेमाल करना मुश्किल था

    • यह भी जानना है कि क्या मोबाइल Sway में gesture actions जोड़ी जा सकती हैं
      pinephone-sway-poc: https://github.com/Dejvino/pinephone-sway-poc#components
      rpm-ostree अब OCI container images को host images के रूप में इस्तेमाल करना सपोर्ट करता है, इसलिए OS upgrades आसान हो जाते हैं और errors के खिलाफ मजबूती बढ़ती है। अलग boot menu entry चुनकर पिछली स्थिति, यानी kernel + /etc overlay + root partition + packages, पर वापस जाया जा सकता है
      "Using OSTree Native Containers as Node Base Images" (2023) https://www.opensourcerers.org/2023/06/16/using-ostree-nativ...
  • अगर आप Sway पर SXMO की शैली बदलना चाहते हैं, जैसे menu items को बड़ा बनाकर उंगली से दबाना आसान करना, या एक पंक्ति में ज़्यादा टेक्स्ट लाने के लिए संकरी font में बदलना, या appearance समायोजित करना, तो यह गाइड उपयोगी है: https://porkyofthepine.org/blog/rice_sxmo_sway.html

    • Linux फ़ोन सेशन को सर्वर पर चलाने के बारे में पहले ही सोच चुका हूँ, और अभी सिर्फ tmux+mosh इस्तेमाल कर रहा हूँ
      अगर कोई display manager हो जो फ़ोन पर सच में अच्छी तरह काम करे, तो वह कहीं बेहतर होगा, और यह उस दिशा में जाने में मदद कर सकता है
    • screenshots होते तो अच्छा रहता
      SXMO के बारे में जो कुछ भी देखा है, उससे यही लगा कि यह सौंदर्य या उपयोगिता से ज़्यादा Stallman-शैली की स्वतंत्रता को महत्व देने वाले दाढ़ीवाले hacker के लिए है
  • यह अच्छी बात है कि Google apps चलाना अनिवार्य नहीं है
    फिर भी, अगर कुछ ज़रूरी apps—जैसे कुछ मुख्य banking apps या home automation apps—तक पहुंच मिल जाए, चाहे वे बहुत पसंद न हों, तो वह सच में मददगार होगा

    • Waydroid नाम का software है जो GNU/Linux platforms, जिनमें PinePhone भी शामिल है, पर Android apps चलाने देता है
      Sxmo, अपने नाम के बावजूद, X की जगह Wayland पर चल सकता है, इसलिए यह Waydroid को सपोर्ट करता है
      निजी तौर पर मैं Waydroid चलाने में सफल नहीं हुआ, और शुरुआती setup के लिए ज़रूरी बड़े downloads की वजह से यह और मुश्किल हो गया। फिर भी मैंने बहुत ज़ोर लगाकर कोशिश नहीं की, और online सफल लोगों के videos भी हैं
      [1]: https://waydro.id/
      [2]: https://tilvids.com/w/2b2f3a24-ae23-458e-a0fd-2f24a185a11b
    • banking apps आमतौर पर “security” कारणों से rooted environments में चलना पसंद नहीं करते। सोच रहा हूँ कि क्या इसका कोई workaround है
  • लगता है PmOS में SXMO के दो variants हैं
    sxmo-de-dwm: SXMO-आधारित Simple Mobile mobile environment जो dwm पर चलता है
    sxmo-de-sway: SXMO-आधारित Simple Mobile mobile environment जो sway पर चलता है

  • यह जानना दिलचस्प होगा कि SXMO में नया क्या आया है
    2021 के बाद से इसे फॉलो नहीं किया, इसलिए जानना चाहता हूँ कि क्या अब कोई ऐसा फ़ोन है जिस पर इसे स्थिर रूप से चलाया जा सके

    • शायद PinePhone सबसे स्थिर विकल्प होगा
      इस डिवाइस पर इसका इस्तेमाल करने वाले कुछ लोगों को देखा है, और हाल के PinePhone threads में भी इसे default Plasma के एक अच्छे विकल्प के रूप में कई बार ज़िक्र किया गया था