8 पॉइंट द्वारा GN⁺ 2025-03-31 | 10 टिप्पणियां | WhatsApp पर शेयर करें

> "Linux distribution को Windows जैसा बनाना चाहिए।"

  • यह लेख मौजूदा Linux की portability और distribution model की समस्याओं को हल करने के लिए ऐसा Linux distribution बनाने का प्रस्ताव देता है जो डिफ़ॉल्ट रूप से Wine के माध्यम से Windows executable files चला सके
  • इससे Windows उपयोगकर्ता लगभग बिना किसी प्रशिक्षण के आसानी से Linux पर स्विच कर सकेंगे, और Linux की पुरानी compatibility समस्याएँ भी साथ ही हल की जा सकती हैं

Linux environment की अस्थिरता

  • Windows में 20 साल पुरानी .exe फ़ाइल भी चल सकती है, जबकि Linux में 1 साल पुराना binary भी शायद न चले
  • इसका कारण Linux में library version के अंतर और updates हैं, जिनकी वजह से वही executable अलग-अलग distributions पर काम नहीं करता
  • Linux के system calls स्थिर हैं, लेकिन उनके ऊपर मौजूद C library (libc) अस्थिर है, और user space का अधिकांश हिस्सा इसी पर निर्भर करता है

Linux में binary distribution की समस्या

  • Linux में executable files वितरित करने के कम से कम चार प्रमुख तरीके हैं, और हर एक के साथ अपनी समस्याएँ जुड़ी हैं
    • raw binary: ज़्यादातर environments में काम नहीं करता
    • AppImage: सभी dependencies शामिल करता है, लेकिन पूरी preservation की गारंटी स्पष्ट नहीं है
    • Flatpak: हर app के लिए sandbox देता है
    • Snap: एक और sandbox-आधारित package manager
  • इन सभी में install, update और removal के तरीके अलग-अलग हैं, और ये एक साथ भी मौजूद रह सकते हैं
  • लंबे समय तक app preservation और दोबारा चलाने के लिहाज़ से इनमें से ज़्यादातर उपयुक्त नहीं हैं, और 20 साल बाद चलने की संभावना लगभग नहीं के बराबर है

Win32 समाधान क्यों है

  • Windows का Win32 API Linux पर उपलब्ध एकमात्र स्थिर ABI (Application Binary Interface) माना गया है
  • Windows सीधे system call नहीं करता, बल्कि dynamic libraries के माध्यम से call करके API की स्थिरता बनाए रखता है
  • इस संरचना की वजह से Microsoft आंतरिक रूप से kernel बदलते हुए भी उपयोगकर्ताओं को वही interface दे सकता है
  • दूसरी ओर Linux सीधे system calls का उपयोग करता है, और libraries की अस्थिरता के कारण compatibility समस्याएँ बनी रहती हैं
  • Wine इसी Win32 संरचना को लागू करता है, इसलिए 1990 के दशक के Windows 95 दौर के apps भी चलाए जा सकते हैं
  • खासकर अगर केवल Win32-आधारित apps का उपयोग किया जाए, तो Wine और Windows के बीच compatibility का अंतर लगभग नगण्य है

एक नए Linux distribution की परिकल्पना

  • Windows जैसे desktop environment वाला Linux distribution बनाने का प्रस्ताव है
  • इस distribution में डिफ़ॉल्ट रूप से Wine installed होगा, और छोटे kernel patch के जरिए Windows executable files को अपने आप पहचानकर चलाया जा सकेगा
  • हर उपयोगकर्ता के लिए Wine environment (prefix) सेट किया जाएगा, और Windows-शैली का file system तथा GUI दिया जाएगा
  • मौजूदा Linux environment भी background में बना रहेगा, जहाँ advanced users पहुँच सकेंगे

वास्तविक multiplatform support

  • Wine सिर्फ Linux ही नहीं, बल्कि FreeBSD, macOS, Android जैसे कई OS पर भी चल सकता है
  • अगर सभी apps केवल Win32 apps के रूप में वितरित किए जाएँ, तो बिना अलग porting के वे कई platforms पर चल सकते हैं
  • यह एक ऐसा ढाँचा है जिसमें एक ही app से कई operating systems के साथ compatibility हासिल की जा सकती है

भविष्य के खतरे

  • macOS और Windows दोनों धीरे-धीरे और अधिक बंद ecosystems की ओर बढ़ रहे हैं, और उपयोगकर्ताओं से नियंत्रण छीन रहे हैं
    • Windows automatic screenshots और AI analysis features जोड़ रहा है
    • macOS Gatekeeper के माध्यम से केवल approved apps चलाने की सीमा लगा रहा है
  • दोनों OS उपयोगकर्ता की गतिविधियों की निगरानी कर रहे हैं, और अवैध फ़ाइलों की खोज तथा रिपोर्टिंग जैसी सुविधाओं की भी तैयारी कर रहे हैं
  • Microsoft online account के बिना Windows का उपयोग करना लगातार कठिन बनाता जा रहा है
  • इसकी वजह से account suspend हो जाने पर ऐसी स्थिति आ सकती है जहाँ कंप्यूटर ही इस्तेमाल न किया जा सके

> इस प्रवृत्ति को दुर्भावनापूर्ण से अधिक आर्थिक और राजनीतिक दबावों से उत्पन्न समस्या के रूप में देखा गया है

Linux को Windows की तरह पैकेज करने की वजह

  • यह नया Linux distribution portability की समस्या हल करेगा और Windows उपयोगकर्ताओं को परिचित migration environment देगा
  • ऐसे समय में जब Windows 11 upgrade थोपे जा रहे हैं, यह आसानी से अपनाया जा सकने वाला विकल्प दे सकता है
  • तर्क यह है कि अभी वह सही समय है जब उपयोगकर्ता की संप्रभुता वापस दिलाने वाला Linux distribution सोचा जाए

10 टिप्पणियां

 
roxie 2025-04-02

20 साल तक टिके रहने वाले ecosystem को देखकर सिर हिलाना पड़ता है, लेकिन उसके आखिर में wine क्यों..

 
yfkim97 2025-04-02

लगता है अब Mac OS इस्तेमाल नहीं कर पाऊँगा

 
labeldock 2025-04-01

मैं इसे आलोचनात्मक नज़र से देखना नहीं चाहता, लेकिन कई operating systems इस्तेमाल कर चुके व्यक्ति के तौर पर इससे ज़्यादा सहमति नहीं बनती। आजकल ज़्यादातर GUI tools वेब पर उपलब्ध हैं, और अगर अच्छा desktop चाहिए तो सुंदर UI वाले Windows पर काम करना बेहतर होगा, ऊपर से driver support भी Windows में कहीं बेहतर है।

 
alucardkang 2025-03-31

Steam होना चाहिए था, है न...

 
prunusnira 2025-03-31

Tmax Windows... Lindows/Linspire... ReactOS... उफ़, सिर घूम रहा है...
लगता है Valve का Proton वाकई बहुत बड़ा काम कर रहा है

 
aer0700 2025-03-31

यह काफ़ी दिलचस्प सुझाव है।

 
kwj9211 2025-03-31

बस Top-tier गेम / सॉफ़्टवेयर को अच्छी तरह चलने लायक tweak कर देना ही ज़्यादा बेहतर नहीं होगा

...ऐसा सोचना नहीं चाहिए, है न? haha

 
kandk 2025-03-31

काश ऐसा समय आए जब Windows 11 या उससे ऊपर वाले PC के बिना भी गेम खेलना संभव हो, हाय

 
GN⁺ 2025-03-31
Hacker News राय
  • एक राय है कि ऐसा Linux distribution बनाया जाए जो डिफ़ॉल्ट रूप से Wine का उपयोग करके Windows binaries चलाए

    • Debian में इसे sudo apt install wine-binfmt कमांड से आसानी से इंस्टॉल किया जा सकता है
    • कॉन्फ़िग फ़ाइलों को बदलकर भी इसका उपयोग किया जा सकता है
  • Windows में 20 साल पुरानी exe फ़ाइलें भी अब तक चल सकती हैं, लेकिन Linux में 1 साल पुरानी binary भी updates की वजह से चलना बंद कर सकती है

    • Windows में app install करते समय सभी dynamic dependencies साथ में package की जाती हैं, जबकि Linux में apps के बीच dynamic dependencies साझा की जाती हैं
    • dependencies बदलने पर app काम करना बंद कर सकता है
    • इसे ठीक करने के लिए Windows की तरह distribute करने या statically link करने का तरीका है
  • नहीं लगता कि किसी नए distribution की ज़रूरत है

    • ज़्यादातर Windows apps Wine के ज़रिए चल सकती हैं, लेकिन एक app को चलाने के लिए किया गया hack दूसरे app को बिगाड़ सकता है
    • हर user को अलग-अलग अपनी settings समायोजित करनी पड़ती हैं, और जो एक व्यक्ति के कंप्यूटर पर काम करे वह दूसरे के कंप्यूटर पर काम न करे
    • सबसे आसान समाधान यह है कि Wine शामिल कंटेनर distribute किए जाएँ ताकि सभी users को एक ही artifact मिले और वह हमेशा काम करे
    • यह space के लिहाज़ से inefficient है, लेकिन container उपयोग के लिए Wine को slim बनाने का तरीका चाहिए
    • licensing और software anti-patterns ही इस सिस्टम की एकमात्र बाधाएँ हैं
  • Zorin OS लगभग डिफ़ॉल्ट रूप से .exe फ़ाइलों के लिए Wine support देता है, और Steam OS/Proton के लिए नए games के Linux ports बनाने के बजाय Proton के लिए optimize करने की आधिकारिक guideline है

  • Linux distributions आम तौर पर executables को dynamically link करते हैं और libraries के पुराने versions बनाए नहीं रखते

    • Windows में package manager नहीं होने के कारण पुराने versions के executables बने रहते हैं
    • Windows Store और हाल के CLI tools हैं, लेकिन पारंपरिक रूप से Windows applications की installation manual download और install के ज़रिए होती रही है
    • Linux में भी यही तरीका अपनाया जा सकता है, लेकिन Linux distributions के package managers आम तौर पर बहुत अच्छे होते हैं
  • Linux system calls बहुत stable हैं, लेकिन उनके ऊपर की C libraries ऐसी नहीं हैं

    • Windows में भी यही समस्या है, और वह libc को Visual C++ runtime के हिस्से के रूप में distribute करता है
    • Windows, Visual Studio के नए versions जारी होने तक libc की backward compatibility बनाए रखता है
  • यह उन लोगों जैसा लगता है जो Lindows/Linspire चाहते हैं

  • अगर Windows ABI बहुत stable है, तो फिर यह सवाल उठता है कि Win95 या NT चलाने वाले कंप्यूटरों को कोई इसलिए क्यों नहीं छेड़ता कि कहीं कोई खास software चलना बंद न हो जाए

    • ऐसे कंप्यूटर industrial environments, public libraries, और corporate databases में बहुत दिखते हैं
  • exe फ़ाइलें चलाने के लिए kernel patch की ज़रूरत नहीं है, binfmt_misc यह संभाल सकता है

    • wine-binfmt, PE फ़ाइलों को अपने-आप Wine के ज़रिए चलाता है