अपने एंड्रॉइड फोन को एक छोटे डिवाइस में बदलें पॉकेट लिनक्स सर्वर यह उन विचारों में से एक है जो पहली बार में तकनीकी लग सकता है... जब तक आप इसे आजमा नहीं लेते। आधुनिक फोन में नेटवर्क सेवाओं, वेब सर्वर और यहां तक कि एक हल्के ग्राफिकल डेस्कटॉप सहित एक संपूर्ण डिस्ट्रीब्यूशन चलाने के लिए पर्याप्त शक्ति होती है, और इसके लिए एंड्रॉइड को छोड़ने या आपके डेटा को जोखिम में डालने की भी आवश्यकता नहीं होती है।
कुछ ऐप्स के साथ जैसे Linux Deploy, Termux, UserLAND, Andronix, VNC या XServer XSDLआप अपने पुराने मोबाइल फोन या टैबलेट को नया रूप दे सकते हैं और उसे मिनी होम सर्वर, टेस्टिंग एनवायरनमेंट या पोर्टेबल सिक्योरिटी लैब के रूप में इस्तेमाल कर सकते हैं। यह गाइड आपको विस्तार से बताएगी कि यह सब कैसे काम करता है, आपको क्या चाहिए, इसे कैसे इंस्टॉल करना है और एंड्रॉइड में चल रहे लिनक्स से आप क्या-क्या कर सकते हैं।
अपने एंड्रॉइड फोन पर लिनक्स इंस्टॉल करना क्यों फायदेमंद है?
रोजमर्रा के इस्तेमाल के लिए एंड्रॉइड बहुत अच्छा है, लेकिन जब आपको किसी संपूर्ण GNU/Linux वातावरण प्रोग्रामिंग, सर्वर सेटअप करने या किसी क्लासिक डेस्कटॉप वातावरण में बदलाव करने के लिए यह उपयुक्त नहीं है। यदि आपके पास कोई फ़ोन या टैबलेट है जिसका आप शायद ही कभी उपयोग करते हैं, तो उस पर लिनक्स डिस्ट्रीब्यूशन इंस्टॉल करना उसका सदुपयोग करने और उसे किसी दराज में पड़े-पड़े भुला दिए जाने से बचाने का एक शानदार तरीका है।
सबसे आम प्रेरणाओं में निष्पादन शामिल है लिनक्स-विशिष्ट सॉफ़्टवेयरआप नेटवर्क सेवाओं (Apache, Nginx, SSH, डेटाबेस) का परीक्षण कर सकते हैं, एक छोटा सुरक्षा लैब स्थापित कर सकते हैं, या कहीं से भी SSH के माध्यम से एक्सेस करने योग्य डेवलपमेंट मशीन बना सकते हैं। अंततः, आप दोनों दुनियाओं की सर्वोत्तम सुविधाओं को एक साथ लाते हैं: Android मुख्य सिस्टम के रूप में और Linux गेस्ट सिस्टम के रूप में, समानांतर रूप से चलते हैं।
इसके अलावा, अपने मोबाइल डिवाइस पर किसी डिस्ट्रो को स्थापित करने और बनाए रखने से आपको जो ज्ञान प्राप्त होता है, वह भी महत्वपूर्ण है। यदि आप सिस्टम, विकास या साइबर सुरक्षा का अध्ययन करते हैं तो यह आपके लिए सोने के समान है।आप एंड्रॉइड को नुकसान पहुंचाने के डर के बिना लिनक्स वातावरण के भीतर चीजों को तोड़ सकते हैं, क्योंकि सिस्टम एक इमेज या एक अलग chroot/PROot में समाहित है।
एक और महत्वपूर्ण बात यह है कि कई समाधान कारगर होते हैं। जड़ की कोई जरूरत नहींPROoot जैसी तकनीकों की बदौलत, जो chroot के व्यवहार की नकल करती हैं लेकिन उपयोगकर्ता क्षेत्र में, आप एक काफी पूर्ण लिनक्स फ़ाइल ट्री का अनुकरण कर सकते हैं, पैकेज स्थापित कर सकते हैं और डिवाइस को अनलॉक किए बिना लगभग एक सामान्य सर्वर की तरह काम कर सकते हैं।
क्या आपका एंड्रॉइड डिवाइस लिनक्स को सुचारू रूप से चलाने में सक्षम है?
लगभग कोई भी सामान्य एंड्रॉइड डिवाइस इसे चला सकता है। लिनक्स का कोई रूपहालांकि, अनुभव काफी हद तक रैम, उपलब्ध स्टोरेज और रूट एक्सेस पर निर्भर करेगा। पुराने फोन भी हल्के ऑपरेटिंग सिस्टम चला सकते हैं, बशर्ते आप GNOME या KDE जैसे भारी डेस्कटॉप वातावरण का उपयोग न करें।
एक छोटे से ग्राफिकल वातावरण के बिना वेब सर्वरकम से कम 2 जीबी रैम, लगभग 5 जीबी खाली जगह (आंतरिक स्टोरेज या तेज़ माइक्रोएसडी कार्ड पर) और एक स्थिर वाई-फाई कनेक्शन होना आवश्यक है ताकि डिस्ट्रो इमेज डाउनलोड की जा सके और नेटवर्क पर सिस्टम को प्रबंधित किया जा सके। आपके डिवाइस में जितने अधिक संसाधन होंगे, उतना ही बेहतर होगा।
यदि आपका इरादा लिनक्स डेस्कटॉप का उपयोग करने का है तो X11 या वेलैंडकीबोर्ड और माउस (ब्लूटूथ या ओटीजी) होना बहुत उपयोगी होता है, और यदि आपका फ़ोन इसकी अनुमति देता है, तो मॉनिटर या टीवी पर वीडियो आउटपुट होना भी अच्छा रहता है। ये अनिवार्य नहीं हैं, लेकिन केवल टचस्क्रीन का उपयोग करने की तुलना में इनसे अनुभव में काफी सुधार होता है।
आपको यह भी तय करना होगा कि आप चाहते हैं या नहीं। रूट टर्मिनल या आप इसे बिना रूट एक्सेस के रखना पसंद कर सकते हैं। रूट एक्सेस के साथ, आपको सही chroot, Linux Deploy की पूरी क्षमता और सिस्टम पर बहुत बारीक नियंत्रण मिलता है। रूट एक्सेस के बिना, आपको Prooot के साथ Andronix, UserLAnd, AnLinux और इसी तरह के अन्य टूल्स पर निर्भर रहना होगा, जो हल्के सर्वर या रिमोट डेस्कटॉप के लिए पूरी तरह से उपयुक्त हैं।
सामान्य नियम के अनुसार, एक बुनियादी वेब सर्वर के लिए आपको केवल एक की आवश्यकता होती है। जीयूआई के बिना वातावरणइससे मेमोरी और बैटरी की खपत कम होगी और फोन ठंडा रहेगा। अगर आप LXDE या XFCE जैसे डेस्कटॉप वातावरणों के साथ प्रयोग करना चाहते हैं, तो थोड़ा अधिक शक्तिशाली डिवाइस का उपयोग करना बेहतर होगा।
एंड्रॉइड पर लिनक्स कैसे काम करता है: chroot, PROot और ग्राफिक्स सर्वर?
जब हम "एंड्रॉइड पर लिनक्स इंस्टॉल करने" की बात करते हैं, तो वास्तव में हम ऐसा नहीं कर रहे होते हैं। एंड्रॉइड को प्रतिस्थापित करनालेकिन इसके अंदर लिनक्स चलाकर। इसमें ROM फ्लैश करने या बूटलोडर से छेड़छाड़ करने की कोई आवश्यकता नहीं है: ये समाधान एक लिनक्स फाइल सिस्टम बनाते हैं और इसे गेस्ट एनवायरनमेंट के रूप में माउंट करते हैं।
यदि डिवाइस रूटेड है, तो क्लासिक टूल यह है चुरोटchroot का उपयोग करके, आप किसी प्रोसेस और उसके चाइल्ड प्रोसेस द्वारा देखी जाने वाली रूट डायरेक्टरी को बदल सकते हैं, जिससे वे केवल गेस्ट डिस्ट्रीब्यूशन की डायरेक्टरी ट्री ही देख पाते हैं। इसके लिए रूट एक्सेस की आवश्यकता होती है, यही कारण है कि यह एंड्रॉइड पर डिफ़ॉल्ट रूप से सक्षम नहीं होता है।
रूट के बिना परिदृश्यों में, नायक है प्रोओटयह यूटिलिटी यूजर स्पेस से chroot के कुछ व्यवहारों का अनुकरण करती है, सिस्टम कॉल को इस तरह से अनुवादित करती है कि ऐसा प्रतीत होता है कि प्रक्रिया किसी अन्य रूट डायरेक्टरी के भीतर चल रही है, जबकि वास्तव में यह एक सामान्य एंड्रॉइड यूजर ही रहती है। यह एंड्रोनीक्स, एनलिनक्स और यूजरलैंड जैसे कई समाधानों का आधार बनती है।
दूसरी बड़ी चुनौती ग्राफिक्स है। लिनक्स डेस्कटॉप को ग्राफिक्स की आवश्यकता होती है। सर्वर X या वेरलैंडहालांकि, यह सर्वर पीसी की तरह एंड्रॉइड ग्राफिक्स हार्डवेयर से सीधे संवाद नहीं कर सकता। इसलिए, दो व्यापक रूप से उपयोग की जाने वाली रणनीतियाँ अपनाई जाती हैं: वीएनसी और एंड्रॉइड के लिए समर्पित एक्स सर्वर।
पहली रणनीति है शुरुआत करना डिस्ट्रो के भीतर वीएनसी सर्वर और किसी एंड्रॉइड वीएनसी व्यूअर ऐप (वीएनसी व्यूअर, बीवीएनसी, आदि) से लोकल होस्ट से कनेक्ट करें। स्क्रीन पर जो दिखाई देगा वह एक रिमोट डेस्कटॉप होगा जो वास्तव में आपके फोन पर चल रहा होगा। यह सरल और अत्यधिक संगत है, हालांकि इसका प्रदर्शन कुछ हद तक सीमित है।
दूसरा तरीका एंड्रॉइड के लिए डिज़ाइन किए गए X सर्वर का उपयोग करना है, जैसे कि एक्ससर्वर एक्सएसडीएलइस स्थिति में, ग्राफिकल सर्वर एक एंड्रॉइड ऐप के रूप में चलता है और लिनक्स डिस्ट्रीब्यूशन एक X क्लाइंट के रूप में कार्य करता है, जो इससे कनेक्ट होता है। यह आमतौर पर शुद्ध VNC की तुलना में बेहतर प्रदर्शन प्रदान करता है, लेकिन इसके लिए कुछ अतिरिक्त कॉन्फ़िगरेशन (DISPLAY वैरिएबल, पोर्ट आदि) की आवश्यकता होती है।
बिना रूट वाले विकल्प: PROot आपकी मदद के लिए मौजूद है
यदि आप अपने डिवाइस को रूट नहीं करना चाहते हैं या बूटलोडर को अनलॉक करने की झंझट में नहीं पड़ना चाहते हैं, तो कई ऐसे ऐप्स हैं जो संपूर्ण डिस्ट्रीब्यूशन को बूट कर सकते हैं। उपयोगकर्ता स्थान में प्रूटएंड्रॉइड सिस्टम बरकरार रहता है, और लिनक्स को इस तरह से समाहित किया जाता है मानो वह एक विशाल कंटेनर हो।

एंड्रोनिक्स + टर्मक्स + वीएनसी व्यूअर
एक बहुत लोकप्रिय संयोजन है मिलाना एंड्रोनीक्स, टर्मक्स और एक वीएनसी व्यूअरटर्मक्स उन्नत टर्मिनल और उसके रिपॉजिटरी प्रदान करता है, जबकि एंड्रोनीक्स PROot वातावरण के भीतर डिस्ट्रो के डाउनलोड और इंस्टॉलेशन में मार्गदर्शन करता है।
सामान्य प्रक्रिया सरल है: आप इंस्टॉल करते हैं एंड्रोनीक्स, टर्मक्स और वीएनसी व्यूअरएंड्रोनीक्स में, आप अपनी पसंद का डिस्ट्रो (उबंटू, डेबियन, मंजरो, काली, आदि) और डेस्कटॉप एनवायरनमेंट (XFCE, LXDE…) चुनते हैं, ऐप द्वारा जनरेट किए गए कमांड को कॉपी करते हैं, उसे टर्मक्स में पेस्ट करते हैं, और फाइल सिस्टम के डाउनलोड और अनपैक होने का इंतजार करते हैं।
अंत में, आप कॉन्फ़िगर करते हैं VNC पासवर्ड और समाधानआप लिनक्स सेशन से ग्राफिकल सर्वर शुरू करते हैं और VNC व्यूअर के माध्यम से localhost:1 जैसे किसी पोर्ट से कनेक्ट करते हैं। इसके परिणामस्वरूप मोबाइल डिवाइस के अंदर एक वास्तविक लिनक्स डेस्कटॉप चलता हुआ दिखाई देता है, जिसे रूट एक्सेस को छुए बिना टर्मिनल और GUI के माध्यम से एक्सेस किया जा सकता है।
रूट रूट के बिना अन्य विकल्प: UserLAND, AnLinux, Debian Noroot…
एंड्रोनिक्स के अलावा, इस पर आधारित ऐप्स का एक पूरा इकोसिस्टम मौजूद है। संपूर्ण डिस्ट्रो के लिए प्रो प्रशासक विशेषाधिकारों के बिना। प्रत्येक की अपनी-अपनी विशिष्टताएँ हैं, लेकिन उनमें एक ही सामान्य विचार निहित है।
उपयोगकर्ताभूमि यह सबसे उपयोगकर्ता-अनुकूल और ओपन-सोर्स विकल्पों में से एक है। यह आपको डेबियन, उबंटू, आर्च, काली या अल्पाइन को डिप्लॉय करने की अनुमति देता है और डेस्कटॉप सेशन (LXDE, XFCE4) के साथ-साथ व्यक्तिगत एप्लिकेशन, जैसे कि पूरे सिस्टम के बजाय केवल फ़ायरफ़ॉक्स या लिब्रेऑफिस, के इंस्टॉलेशन का विकल्प भी प्रदान करता है।
इसका इंटरफ़ेस अनुभागों में व्यवस्थित है एप्लिकेशन, सेशन और फ़ाइल सिस्टमएप्लिकेशन्स में आप यह चुनते हैं कि क्या इंस्टॉल करना है; सेशंस में आप सक्रिय कनेक्शन (VNC, SSH, XSDL) प्रबंधित करते हैं; और फ़ाइल सिस्टम्स में आप अपने द्वारा बनाई गई लिनक्स रूट डायरेक्टरी देख सकते हैं। यह आपको अलग-अलग एक्सेस विधियों का उपयोग करके एक ही इंस्टॉलेशन के साथ कई सेशन चलाने की अनुमति देता है।
anlinux यह ऐप टर्मक्स पर काफी हद तक निर्भर करते हुए, इसी तरह काम करता है। यह ऐप टर्मक्स में चलने वाली स्क्रिप्ट तैयार करता है, जिनका उपयोग करके प्रूट वातावरण में उबंटू, डेबियन, फेडोरा, सेंटओएस, ओपनएसयूएसई या काली ऑपरेटिंग सिस्टम इंस्टॉल किए जा सकते हैं। यह XFCE4, MATE, LXQt या LXDE जैसे हल्के डेस्कटॉप भी प्रदान करता है, जो सीमित रैम वाले मोबाइल उपकरणों के लिए आदर्श हैं।
डेबियन नोरूट यह व्यावहारिक है: यह एंड्रॉइड 4.1 या उससे ऊपर के संस्करण पर एक हल्का, बिना रूट वाला डेबियन सिस्टम बूट करता है। यह कम लचीला है और इसका प्रदर्शन शानदार नहीं है, लेकिन यदि आप बिना किसी झंझट के डेबियन को आज़माना चाहते हैं तो इसकी स्थापना बहुत सरल है।
Linux Deploy का उपयोग करके रूट एक्सेस के साथ Linux इंस्टॉल करें
जब डिवाइस को रूट किया जाता है, तो यह अधिक शक्तिशाली समाधानों के द्वार खोलता है, और यहीं पर मुख्य समाधान उपलब्ध होता है। लिनक्स डिप्लॉययह ऐप chroot और BusyBox का उपयोग करके Debian, Ubuntu, Arch, Fedora और अन्य डिस्ट्रीब्यूशन को सीधे फोन के स्टोरेज पर इंस्टॉल करता है, साथ ही उन्हें माउंट करने और बूट करने के तरीके पर काफी हद तक नियंत्रण प्रदान करता है।
समय के साथ-साथ, लिनक्स डिप्लॉय ने लोकप्रियता हासिल कर ली है। बेहतर इंटरफेस, प्रोफाइल और विकल्पआज यह आपको डिस्ट्रो, इंस्टॉलेशन का प्रकार, फाइल सिस्टम चुनने, जीयूआई को सक्षम या अक्षम करने, कस्टम बूट स्क्रिप्ट को परिभाषित करने और मोबाइल डिवाइस के रीस्टार्ट होने पर स्वचालित स्टार्टअप को सक्षम करने की अनुमति देता है।
लिनक्स डिप्लॉयमेंट के लिए बुनियादी आवश्यकताएँ
सबसे पहले, आपको एक की आवश्यकता है रूट और अपडेटेड BusyBox वाला AndroidBusyBox कई Unix यूटिलिटीज़ प्रदान करता है जिनका उपयोग Linux Deploy chroot को प्रबंधित करने के लिए आंतरिक रूप से करता है। इसे किसी विश्वसनीय स्रोत से इंस्टॉल करें, इसे सुपरयूज़र विशेषाधिकार प्रदान करें और सुनिश्चित करें कि यह सही ढंग से कॉन्फ़िगर किया गया है।
आपको इसकी भी आवश्यकता होगी एंड्रॉइड के लिए वीएनसी व्यूअरउदाहरण के लिए, VNC व्यूअर, जो मुफ़्त है और इंस्टॉल किए गए डिस्ट्रो के ग्राफ़िकल डेस्कटॉप से कनेक्ट करने के लिए बहुत अच्छा काम करता है। हालाँकि Linux Deploy X11 मोड भी प्रदान करता है, लेकिन VNC आमतौर पर सबसे आसान माध्यम है।
एंड्रॉइड संगतता के संबंध में, लिनक्स डिप्लॉय निम्नलिखित का समर्थन दर्शाता है। एंड्रॉयड 2.3.3हालांकि, इतने पुराने हार्डवेयर पर अनुभव आमतौर पर काफी खराब होता है। आदर्श रूप से, आपके पास कम से कम 1 जीबी रैम, कई गीगाबाइट खाली जगह (या तो आंतरिक या तेज़ माइक्रोएसडी कार्ड पर) और एक अच्छा डेटा कनेक्शन वाला अपेक्षाकृत आधुनिक डिवाइस होना चाहिए, क्योंकि आपको कई सौ मेगाबाइट या कुछ गीगाबाइट आकार की ARM इमेज डाउनलोड करनी होंगी।
वितरण, संग्रहण और जीयूआई को कॉन्फ़िगर करें
जब आप लिनक्स डिप्लॉय खोलेंगे तो आपको मुख्य स्क्रीन दिखाई देगी जिसमें निम्नलिखित बटन होंगे। स्टार्ट/स्टॉप और एक सेटिंग आइकन सबसे नीचे। वहां आपको इंस्टॉलेशन प्रॉपर्टीज़ मिलेंगी, जहां आप तय कर सकते हैं कि कौन सा लिनक्स डिस्ट्रीब्यूशन इंस्टॉल करना है और कैसे करना है।
इस अनुभाग में आप चुन सकते हैं वितरण प्रणाली (डेबियन, उबंटू, आर्च, फेडोरा…)डाउनलोड और अंतिम इमेज दोनों के लिए आर्किटेक्चर (arm, arm64, armhf, armel, आदि) और फ़ाइल सिस्टम पाथ आवश्यक हैं। इंस्टॉलेशन के दौरान असामान्य त्रुटियों से बचने के लिए, यह महत्वपूर्ण है कि आप वही आर्किटेक्चर चुनें जो आपका प्रोसेसर वास्तव में उपयोग करता है।
सबसे आम प्रकार की स्थापना "छवि फ़ाइलइसका मतलब है कि लिनक्स EXT2, EXT4 या किसी अन्य फॉर्मेट की एक ही फाइल में मौजूद रहेगा। अधिकांश उपयोगकर्ताओं के लिए, यह समर्पित विभाजनों का उपयोग करने की तुलना में सबसे सरल विकल्प है, जिसके लिए अधिक विशेषज्ञता की आवश्यकता होती है।
नीचे आप इनमें से चुन सकते हैं फाइलसिस्टम प्रकार (EXT2 आमतौर पर ठीक काम करता है) और तय करें कि इमेज को इंटरनल मेमोरी में स्टोर करना है या माइक्रोएसडी कार्ड में। अगर एसडी कार्ड अच्छी क्वालिटी का है, तो यह फोन की मेन स्टोरेज को भरने से बचने का एक व्यावहारिक तरीका है।
जीयूआई सेक्शन में आप यह कर सकते हैं: ग्राफिकल इंटरफ़ेस को सक्षम या अक्षम करेंयदि आप इसे सक्षम करते हैं, तो लिनक्स डिप्लॉय एक हल्का डेस्कटॉप वातावरण तैयार करेगा और वीएनसी एक्सेस को कॉन्फ़िगर करेगा। वहां आप यह भी चुन सकते हैं कि कौन सा वातावरण स्थापित करना है (LXDE, XFCE, आदि), और ग्राफिकल सेशन के लिए उपयोगकर्ता नाम और पासवर्ड भी चुन सकते हैं।
Linux Deploy का उपयोग करके डिस्ट्रीब्यूशन को इंस्टॉल और बूट करें।
एक बार जब आपने सेटिंग्स को अपनी पसंद के अनुसार सेट कर लिया है, तो अब इसे लॉन्च करने का समय आ गया है। वितरण स्थापनाऊपरी दाएं कोने में स्थित मेनू से आपको "इंस्टॉल" विकल्प मिलेगा, जो इमेज को डाउनलोड और कॉन्फ़िगर करना शुरू कर देगा।
यह प्रक्रिया आपके इंटरनेट कनेक्शन और डिवाइस की क्षमता के आधार पर कुछ मिनटों से लेकर आधे घंटे या उससे अधिक समय तक चल सकती है। इस दौरान, बेस सिस्टम डाउनलोड, अनपैक किया जाता है, chroot कॉन्फ़िगर किया जाता है और आपके द्वारा चुने गए पैकेज इंस्टॉल किए जाते हैं।
जब प्रक्रिया पूरी हो जाए, तो बस आगे बढ़ना बाकी रह जाता है। सिस्टम शुरू करने के लिए प्रारंभ करेंLinux Deploy इमेज को माउंट करेगा, निर्धारित सेवाओं को शुरू करेगा, और यदि आपने GUI सक्षम किया है, तो chroot के भीतर VNC सर्वर शुरू करेगा। VNC व्यूअर में, Linux Deploy द्वारा दिखाए गए IP पते और पोर्ट (उदाहरण के लिए, 127.0.0.1:5900) से कनेक्शन बनाएं, और पासवर्ड दर्ज करने के बाद, आपको अपने Android डिवाइस पर एक पूर्ण Linux डेस्कटॉप चलता हुआ दिखाई देगा।
VNC के बजाय X11 के साथ Linux Deploy का उपयोग करें
एक मुद्दा जो कई सवाल खड़े करता है वह यह है कि कैसे X11 डायरेक्ट के साथ लिनक्स डिप्लॉय का उपयोग करें VNC के बजाय, डिस्ट्रीब्यूशन में VNC सर्वर पर हमेशा निर्भर रहने से बचने के लिए इसका उपयोग करें। अक्सर ऐसा होता है कि SSH और डेस्कटॉप एनवायरनमेंट तो इंस्टॉल हो जाते हैं, लेकिन फिर startx कमांड काम करना बंद कर देता है या ऐसा लगता है कि "कुछ भी शुरू नहीं हो रहा है"।
सामान्य विचार यह है कि एक को संयोजित किया जाए एंड्रॉइड के लिए X सर्वर (XServer XSDL प्रकार) Linux Deploy को X11 मोड में कॉन्फ़िगर करने पर, डिस्ट्रो को Xvnc के बजाय उस बाहरी X सर्वर की ओर इंगित करके अपना डेस्कटॉप लॉन्च करना चाहिए। समस्या आमतौर पर DISPLAY वेरिएबल, IP एड्रेस और पोर्ट जहां XSDL सुन रहा है, या डेस्कटॉप वातावरण शुरू करने के लिए सटीक कमांड जैसी छोटी-छोटी बातों में होती है।
कई मामलों में, सुलभ X सर्वर के बिना SSH के माध्यम से startx शुरू करना काम नहीं करेगा, भले ही डेस्कटॉप सही ढंग से स्थापित प्रतीत हो। आपको यह जांचना होगा कि एंड्रॉइड एक्स सर्वर चल रहा हैLinux Deploy को इसके उपयोग के लिए कॉन्फ़िगर किया गया है, और ग्राफ़िकल वातावरण (XFCE, LXDE, MATE, आदि) सीधे X11 पर लॉन्च किया जाता है। यह VNC की तुलना में अधिक संवेदनशील स्थिति है और इसके लिए Linux Deploy दस्तावेज़ और आपके द्वारा उपयोग किए जा रहे विशिष्ट X सर्वर के दस्तावेज़ दोनों की समीक्षा करना आवश्यक हो सकता है।
मोबाइल डिवाइस पर वेब सर्वर और अन्य सेवाएं स्थापित करना
अब जब डिस्ट्रो पूरी तरह से चालू हो गया है, तो आप यह कर सकते हैं: सर्विसेज इंस्टॉल करना किसी भी लिनक्स सिस्टम की तरह ही है।आप apt, pacman या अपने सिस्टम के पैकेज मैनेजर का उपयोग करके Apache, Nginx, MySQL/MariaDB, FTP, Samba, SSH और अपनी आवश्यकतानुसार कुछ भी जोड़ सकते हैं।
उदाहरण के लिए, डेबियन या उबंटू में, एक बुनियादी वेब सर्वर को निम्नलिखित जैसे पैकेजों के साथ स्थापित किया जाता है: Apache2 या Nginxफिर आप अपने chroot वातावरण के कॉन्फ़िगरेशन के आधार पर `service` या `systemctl` कमांड का उपयोग करके डेमन्स को नियंत्रित कर सकते हैं। `service apache2 start` और `service apache2 stop` जैसे कमांड आमतौर पर बिना किसी अतिरिक्त जटिलता के काम कर देते हैं।
इसमें एकमात्र दिक्कत यह है कि यह लिनक्स डिप्लॉय द्वारा प्रबंधित एक च्रूट के अंदर स्थित है। सेवाओं का स्वचालित प्रारंभ जब आप एनवायरनमेंट शुरू करते हैं, तो यह हमेशा एक पारंपरिक सर्वर की तरह व्यवहार नहीं करता है। आप rcconf में या सही रनलेवल में Apache को सक्षम कर सकते हैं, फिर भी chroot बूट होने पर यह शुरू नहीं होगा।
लिनक्स डिप्लॉय में स्वचालित स्टार्टअप स्क्रिप्ट
इस समस्या को दूर करने के लिए, लिनक्स डिप्लॉय निम्नलिखित विकल्प प्रदान करता है: प्रॉपर्टीज़ में "कस्टम स्क्रिप्ट"इसे सक्रिय करने से एक सूची सक्षम हो जाती है जहाँ आप उन स्क्रिप्ट के पथ जोड़ सकते हैं जो हर बार लिनक्स वातावरण शुरू होने पर चलेंगी।
इसका उद्देश्य स्टार्टअप स्क्रिप्ट में रूट जोड़ना है। अपाचे, MySQL, क्रॉन और अन्य सेवाएं जिसे आप आसानी से उपलब्ध कराना चाहते हैं। सूची में प्रत्येक आइटम डिस्ट्रो के फ़ाइल सिस्टम के भीतर एक वास्तविक स्क्रिप्ट को इंगित करता है, जिसे दिखाए गए क्रम में निष्पादित किया जाएगा।
इस तरह आप पूरी तरह से rcconf या /etc/rc*.d में मौजूद लिंक्स पर निर्भर नहीं रहते, जो chroot वातावरण में पारंपरिक मशीन बूट की तरह काम नहीं कर सकते। कस्टम स्क्रिप्ट्स के साथ, आप यह सुनिश्चित करते हैं कि आपका वेब सर्वर स्वचालित रूप से शुरू हो जाता है जब लिनक्स डिप्लॉय शुरू होता है, जो कि आवश्यक है यदि आप अपने मोबाइल फोन को घर के किसी भी कोने में छिपाकर रखना चाहते हैं ताकि वह हमेशा उपलब्ध सर्वर के रूप में काम कर सके।
अपने मोबाइल फोन को सर्वर के रूप में उपयोग करने के लिए लिनक्स डिप्लॉयमेंट और एंड्रॉइड सेटिंग्स
यदि आप चाहते हैं कि फ़ोन एक 24/7 लिनक्स सर्वरकेवल डिस्ट्रो को इंस्टॉल करना ही पर्याप्त नहीं है: सिस्टम को बार-बार स्लीप मोड में जाने से रोकने या स्क्रीन बंद करने पर वाईफाई कनेक्शन टूटने से बचाने के लिए आपको कुछ लिनक्स डिप्लॉय और एंड्रॉइड पैरामीटर को समायोजित करने की आवश्यकता है।
Linux Deploy की सामान्य सेटिंग स्क्रीन पर (डिस्ट्रो प्रॉपर्टीज़ से अलग) आप निम्न परिवर्तन कर सकते हैं: भाषा, दृश्य विषय और सबसे महत्वपूर्ण बात, स्क्रीन और वाई-फाई का व्यवहार। डिफ़ॉल्ट रूप से, एप्लिकेशन में आमतौर पर "लॉक स्क्रीन" जैसा विकल्प चुना हुआ होता है, जो लिनक्स के चलने के दौरान स्क्रीन को चालू रखता है।
यदि आप अपने फोन को निरंतर सर्वर के रूप में उपयोग करने जा रहे हैं तो स्क्रीन को स्थायी रूप से चालू छोड़ना एक बुरा विचार है: यह बैटरी की बहुत अधिक शक्ति का उपभोग करता है और गर्मी उत्पन्न करता है। और इससे पैनल जल्दी खराब हो जाता है। सबसे समझदारी भरा उपाय यह है कि इस विकल्प को अनचेक कर दिया जाए ताकि स्क्रीन अपने आप बंद हो जाए, और फिर प्रोसेसर को डीप स्लीप मोड में जाने से रोकने का कोई दूसरा तरीका ढूंढा जाए।
एक अन्य महत्वपूर्ण विकल्प चेकबॉक्स है। वाई-फाई ब्लॉक करें या इसी तरह की कोई सेटिंग, जिसे चालू रखना चाहिए ताकि स्क्रीन बंद होने पर भी एंड्रॉइड कुछ समय बाद वायरलेस कनेक्शन को डिस्कनेक्ट न करे। अगर वाई-फाई बंद हो जाता है, तो आपका सर्वर बिना किसी चेतावनी के नेटवर्क से गायब हो जाता है।
अंत में, इसे सक्रिय करने की अत्यधिक अनुशंसा की जाती है लिनक्स परिनियोजन "ऑटोबूट"इसलिए, हर बार जब आप अपना फ़ोन रीस्टार्ट करेंगे, तो ऐप स्वचालित रूप से डिस्ट्रो लॉन्च करेगा और कस्टम स्क्रिप्ट चलाएगा। इस तरह, आपको हर रीस्टार्ट के बाद मैन्युअल रूप से एनवायरनमेंट लॉन्च करने की आवश्यकता नहीं होगी।
स्क्रीन बंद होने पर भी प्रोसेसर को चालू रखें
चूंकि एंड्रॉइड स्क्रीन बंद होने पर प्रोसेसर को "स्लीप" मोड में डाल देता है, इसलिए chroot में लिनक्स का प्रदर्शन प्रभावित हो सकता है। अगर आप कुछ नहीं करते हैं तो यह बेहद धीमी गति से चलेगा।आप नहीं चाहते कि स्क्रीन हर समय चालू रहे, लेकिन आप यह भी नहीं चाहते कि सीपीयू पूरी तरह से स्लीप मोड में चला जाए।
इसका सामान्य समाधान किसी ऐप का उपयोग करना है। "जागते रहो" यह एक ऐसा टूल है जो स्क्रीन बंद होने पर भी प्रोसेसर को सक्रिय रखता है। कुछ गाइडों में "रेडआई स्टे अवेक" का उल्लेख किया गया है, जिसका एक निःशुल्क विज्ञापन-समर्थित संस्करण उपलब्ध है जो ऐप के सक्रिय रहने के दौरान सीपीयू को डीप स्लीप मोड में जाने से रोकता है।
उस ऐप (या इसी तरह के किसी अन्य ऐप) को लिनक्स डिप्लॉय के वाईफाई ब्लॉकिंग के साथ मिलाकर, आपको यह मिलता है: मोबाइल लगातार तेजी से प्रतिक्रिया दे रहा है यह स्क्रीन बंद होने पर भी वेब रिक्वेस्ट या SSH कनेक्शन को हैंडल कर सकता है। अगर आप चाहते हैं कि आपका फोन लगातार टॉर्च की तरह चालू रखे बिना एक स्थिर सर्वर के रूप में काम करे, तो यह एक बहुत ही उपयोगी ट्रिक है।
मोबाइल उपकरणों के लिए अनुशंसित लेआउट और डेस्कटॉप
डिस्ट्रो का चुनाव काफी हद तक प्रभावित करता है। स्थिरता और संसाधन खपतयहां जिन टूल्स की चर्चा की गई है, वे आमतौर पर Ubuntu, Debian, Arch, Fedora, Kali, Alpine, Manjaro और इनके कुछ वेरिएंट्स को सपोर्ट करते हैं।
उबंटू और डेबियन ये सबसे लोकप्रिय और उपयोगकर्ता के अनुकूल विकल्प हैं। इनमें विशाल डेटाबेस, अनगिनत ट्यूटोरियल और वेब सर्वर (Apache, Nginx), डेटाबेस (MariaDB, PostgreSQL) और भाषाओं (PHP, Python, Node.js, आदि) के साथ उत्कृष्ट एकीकरण की सुविधा उपलब्ध है। घरेलू सर्वर या परीक्षण वातावरण के लिए ये पर्याप्त से अधिक हैं।
काली लिनक्स यह सुरक्षा और पेनिट्रेशन टेस्टिंग पर केंद्रित है, इसलिए यदि आप रेडी-टू-यूज़ ऑडिटिंग टूल्स के साथ "पॉन फोन" चाहते हैं तो यह एक बेहतरीन विकल्प है। हालांकि, इसके लिए थोड़े अधिक अनुभव और सावधानीपूर्वक प्रबंधन की आवश्यकता होती है।
आर्क लिनक्स और मंजारो ये उन उन्नत उपयोगकर्ताओं को लक्षित करते हैं जो नवीनतम पैकेजों के साथ अत्यधिक अनुकूलन योग्य रोलिंग रिलीज़ सिस्टम की तलाश में हैं। फेडोरा भी आधुनिक डिस्ट्रो श्रेणी में आता है, हालांकि यह सभी गैर-रूट ऐप्स में हमेशा दिखाई नहीं देता है।
सीमित संसाधनों वाले उपकरणों के लिए, अल्पाइन लिनक्स यह कंटेनर और न्यूनतम वातावरण के लिए डिज़ाइन किया गया एक अति-हल्का विकल्प है। सही पैकेज संयोजन के साथ, आप बहुत कम मेमोरी का उपयोग करके एक अत्यधिक कुशल वेब सर्वर स्थापित कर सकते हैं।
डेस्कटॉप वातावरण के संबंध में, विकल्पों का चयन करने की अनुशंसा की जाती है। LXDE, XFCE, LXQt या MATE जैसी लाइटेंभारी-भरकम डेस्कटॉप वातावरण (GNOME, KDE Plasma) बहुत अधिक RAM और CPU का उपयोग करते हैं, जो मोबाइल डिवाइस पर बहुत स्पष्ट रूप से दिखाई देता है, खासकर यदि आप VNC के माध्यम से काम कर रहे हों।
VNC में आने वाली आम त्रुटियाँ और उन्हें हल करने के तरीके
VNC के माध्यम से ग्राफिकल डेस्कटॉप को माउंट करते समय, निम्न प्रकार की त्रुटियाँ दिखाई दे सकती हैं: पोर्ट 5900 पर ECONNREFUSED व्यूअर से कनेक्ट करने का प्रयास करते समय, यह आमतौर पर इंगित करता है कि VNC सर्वर सक्रिय नहीं है, किसी भिन्न पोर्ट पर है, या सत्र ठीक से शुरू नहीं हुआ है।
स्थिति को स्पष्ट करने का एक तरीका यह है कि पहले इसके माध्यम से प्रवेश करें। Linux वातावरण से SSH के माध्यम से जुड़ना (ConnectBot, JuiceSSH) और मैन्युअल रूप से जांचें कि वीएनसी सर्वर चल रहा है या नहीं। कभी-कभी सत्र के दौरान केवल `vncserver` कमांड चलाने से ही डिस्प्ले और पोर्ट असाइन हो जाता है, और फिर वीएनसी व्यूअर को उस विशिष्ट पोर्ट से कनेक्ट किया जा सकता है।
यह भी संभव है कि समस्या की उत्पत्ति इससे हुई हो। मैंने ग्राफिकल वातावरण के बिना डिस्ट्रो स्थापित किया। या फिर किसी ऐसे डेस्कटॉप वातावरण के साथ जो ठीक से संगत न हो। कुछ मामलों में, डेबियन या उबंटू के पुराने संस्करणों को MATE जैसे वातावरण के साथ मिलाने से LXDE जैसे हल्के डेस्कटॉप की तुलना में अधिक समस्याएँ उत्पन्न हो सकती हैं, जो इस प्रकार के सेटअप में बेहतर काम करते हैं।
एक और समस्या छवि के आकार की है: यदि आपके पास जगह खत्म हो गई है तो IMG जहां लिनक्स रहता हैआप अतिरिक्त पैकेज इंस्टॉल नहीं कर पाएंगे और न ही अधिक डेटा स्टोर कर पाएंगे। यदि आप बेस सिस्टम के अलावा और भी कुछ इंस्टॉल करना चाहते हैं, तो 2 जीबी से बड़ी इमेज बनाने की सलाह दी जाती है, ताकि एप्लिकेशन और फाइलों के लिए जगह सुरक्षित रहे।
वेब सर्वर से परे: आप अपने मोबाइल फोन पर लिनक्स के साथ क्या कर सकते हैं
हालांकि आमतौर पर ध्यान एक संयोजन पर केंद्रित होता है पॉकेट वेब सर्वरअपने एंड्रॉइड पर लिनक्स चलाने से कई और व्यावहारिक और सीखने की संभावनाएं खुल जाती हैं।
आप उठा सकते हैं फ़ाइल सर्वर (सांबा, एनएफएस) आप अपने लोकल नेटवर्क पर फ़ोल्डर शेयर कर सकते हैं, एक स्टैंडअलोन डेटाबेस सर्वर चला सकते हैं, या यदि आपका ऑपरेटिंग सिस्टम इसकी अनुमति देता है तो हल्के कंटेनर का उपयोग भी कर सकते हैं। यह सब आपके नेटवर्क पर मौजूद अन्य कंप्यूटरों से एक्सेस किया जा सकता है, ठीक वैसे ही जैसे एक छोटा रास्पबेरी पाई।
विकास परिवेश के रूप में, यह बहुत सुविधाजनक है। Git, Python, Node.js, कंपाइलर्स, Vim, Emacs और अन्य उपकरण सीधे आपके मोबाइल डिवाइस पर उपलब्ध हैं, जिन्हें आप अपने लैपटॉप या किसी अन्य फोन से SSH के माध्यम से एक्सेस कर सकते हैं। यह आपके "टूलबॉक्स" को हमेशा अपने साथ रखने का एक बहुत ही सुविधाजनक तरीका है।
यदि आप सुरक्षा में रुचि रखते हैं, तो जैसे डिस्ट्रीब्यूशन काली या अन्य उपकरण जो भेदन परीक्षण के लिए डिज़ाइन किए गए हैं ये आपको प्रयोगशाला नेटवर्क पर नियंत्रित परीक्षण करने की अनुमति देते हैं (हमेशा कानून की सीमाओं के भीतर)। आपका मोबाइल फोन एक अत्यंत पोर्टेबल ऑडिटिंग प्लेटफॉर्म बन जाता है।
आप लिनक्स वातावरण को एंड्रॉइड की मल्टीमीडिया क्षमताओं के साथ भी जोड़ सकते हैं, उदाहरण के लिए लिनक्स का उपयोग करके वेब सामग्री या एपीआई प्रदान करें और एंड्रॉइड की मदद से उन्हें स्थानीय रूप से चलाया जा सकता है या स्थिति के अनुसार क्रोमकास्ट के माध्यम से प्रदर्शित किया जा सकता है।
संक्षेप में, Linux Deploy, UserLAnd, Andronix, Termux जैसे टूल्स और सही Android ट्वीक्स की मदद से, एक साधारण स्मार्टफोन को एक बेहतरीन डिवाइस में बदलना पूरी तरह से संभव है। आश्चर्यजनक रूप से सक्षम लिनक्स मिनी-सर्वरसीखने, प्रयोग करने और समर्पित हार्डवेयर पर पैसा खर्च किए बिना या जटिल, दखल देने वाली स्थापनाओं से निपटे बिना अपनी खुद की प्रयोगशाला को अपनी जेब में ले जाने के लिए आदर्श।
