Linux के बारे में अक्सर पूछे जाने वाले सवाल

मैं डेवलपर से कहाँ चैट कर सकता/सकती हूँ?

Chromium OS के डेवलपमेंट से जुड़ी सभी चर्चाएं, हमारे Chromebook सहायता समुदाय में होती हैं. बेझिझक कुछ भी पूछें. हालांकि, पहले यह देख लें कि आपके सवाल का जवाब पहले ही दिया जा चुका है या नहीं.

सुविधाओं के अनुरोध कहां किए जा सकते हैं?

यह एक नया प्रोजेक्ट है. इसलिए, हमें कई काम करने हैं और कई रिलीज़ करनी हैं. इसलिए, हम आपसे अनुरोध करते हैं कि आप कुछ समय के लिए इंतज़ार करें और ChromeOS की कुछ रिलीज़ के बाद फिर से कोशिश करें.

इस दौरान, ऊपर दी गई ईमेल सूची पर चैट/सवाल पूछें.

जब हम इस समस्या को ठीक कर लेंगे, तब हमारे इश्यू ट्रैकर का इस्तेमाल किया जा सकेगा. ज़्यादा जानकारी के लिए, अगला सवाल देखें.

मैं गड़बड़ियों की शिकायत कहाँ करूँ?

कृपया पहले पक्का करें कि डेव चैनल का नया वर्शन इस्तेमाल किया जा रहा हो. इस पर अब भी काम चल रहा है.

इसके बाद, कृपया पक्का करें कि समस्या के बारे में पहले से जानकारी न हो या उसे ठीक न किया गया हो. मौजूदा बग की सूची देखी जा सकती है.

अगर आपको अब भी सुझाव, शिकायत या राय भेजनी है, तो सुझाव, शिकायत या राय वाली रिपोर्ट सबमिट करें. साथ ही, ब्यौरे में #crostini (ChromeOS पर Linux का दूसरा नाम) शामिल करें. ChromeOS के किसी भी हिस्से के बारे में सुझाव/राय देने या शिकायत करने के लिए, alt+shift+i दबाएं.

अगर आपको अब भी डेवलपर को गड़बड़ी की जानकारी देनी है, तो सही लोगों तक पहुंचने के लिए इस लिंक का इस्तेमाल करें.

इसे Crostini क्यों कहा जाता है?

यह crouton का एक वर्शन है. crouton एक ऐसा प्रोजेक्ट है जिसकी मदद से, डेवलपर मोड चालू करने वाले उपयोगकर्ताओं के लिए, Linux के पूरे एनवायरमेंट (डेवलपर टूल भी शामिल हैं) आसानी से बनाए जा सकते हैं. Crostini (ChromeOS पर Linux) का मकसद, crouton के ज़्यादातर इस्तेमाल के उदाहरणों को पूरा करना है. साथ ही, यह crouton से ज़्यादा बड़ा और स्वादिष्ट स्नैक है. इसलिए, इसका नाम Crostini रखा गया है.

crouton ने उन कई इस्तेमाल के उदाहरणों को तय करने में मदद की जो डेवलपर, ChromeOS के साथ चाहते थे. इसलिए, इसने ChromeOS पर Linux को ज़रूरी शर्तों के हिसाब से गाइड करने में मदद की. हम यह पक्का करना चाहते थे कि crouton का इस्तेमाल करने वाले ज़्यादातर लोग, अपनी ज़रूरतों के हिसाब से ChromeOS पर Linux का इस्तेमाल कर सकें. हालांकि, यह सुरक्षित माहौल में होना चाहिए.

इसलिए, crouton ने ChromeOS पर Linux को बेहतर बनाने में मदद की. हालांकि, दोनों के बीच कोई कोड शेयर या दोबारा इस्तेमाल नहीं किया गया है. ऐसा नहीं है कि crouton खराब है. यह सिर्फ़ एक अलग मॉडल है.

मेरा डिवाइस कब काम करेगा?

फ़िलहाल, हम इस दस्तावेज़ के अलावा कोई और जानकारी पब्लिश नहीं कर रहे हैं. अगर आपका डिवाइस, Chromium OS के आधिकारिक दस्तावेज़ों के डिवाइस के साथ काम करने की सुविधा सेक्शन में शामिल नहीं है, तो इसका मतलब है कि हमने अभी तक उस डिवाइस के लिए कोई फ़ैसला नहीं लिया है.

इसलिए, कृपया हमसे डिवाइस के साथ काम करने वाले रोडमैप के बारे में न पूछें, क्योंकि हमारे पास इसकी जानकारी नहीं है.

क्या मुझे डेवलपर मोड चालू करना होगा?

डेवलपर मोड चालू करने की ज़रूरत नहीं है. इस मोड में, बूट के समय आपको एक डरावनी स्क्रीन दिखती है, जिसमें ओएस की पुष्टि करने की सुविधा बंद होने की जानकारी होती है. इन सभी सुविधाओं को सुरक्षित तरीके से चलाने के लिए डिज़ाइन किया गया है. ऐसा तब होता है, जब आपका सिस्टम सामान्य/पुष्टि किए गए मोड में चल रहा हो.

कुछ डिवाइसों के लिए, आपको डेव चैनल पर स्विच करना पड़ सकता है. हालांकि, इसका डेवलपर मोड से कोई लेना-देना नहीं है.

क्या मेरे ChromeOS डिवाइस पर Linux चल रहा है?

अगर डिफ़ॉल्ट कंटेनर में Terminal ऐप्लिकेशन या प्रोग्राम का इस्तेमाल किया जा रहा है,तो हां.इसमें इंटिग्रेशन को आसान बनाने के लिए हमारे प्रोग्राम भी शामिल हैं. जैसे, Sommelier.

अगर आपका खुद का कंटेनर या VM है, तो ऐसा नहीं किया जा सकता.

वर्चुअल मशीनें क्यों इस्तेमाल करें? क्या कंटेनर सुरक्षित नहीं होते?

कंटेनर अक्सर खुद को अलग कर लेते हैं. इसके लिए, वे Linux नेमस्पेस का इस्तेमाल करते हैं. हालांकि, वे कर्नल या इसी तरह के सिस्टम संसाधनों को अलग नहीं करते हैं. इसका मतलब है कि सिस्टम का पूरा फ़ायदा उठाने और आपका डेटा चुराने के लिए, कर्नल में सिर्फ़ एक गड़बड़ी काफ़ी है.

यह ChromeOS के लिए सही नहीं है. इसलिए, हम हर चीज़ को वीएम में रखते हैं. अब आपको गेस्ट के साथ सीमित इंटरैक्शन के ज़रिए, crosvm का फ़ायदा उठाना होगा. साथ ही, crosvm को सैंडबॉक्स किया गया है.

ज़्यादा जानकारी के लिए, Chromium OS के आधिकारिक दस्तावेज़ों का सुरक्षा सेक्शन देखें.

मैं ChromeOS और कंटेनर के बीच फ़ाइलें कैसे शेयर करूं?

ChromeOS पर Linux के डिफ़ॉल्ट कंटेनर के स्टोरेज को, ChromeOS के Files ऐप्लिकेशन में “Linux की फ़ाइलें” में जाकर ऐक्सेस किया जा सकता है. Secure Shell का इस्तेमाल करके, अन्य रिमोट कंटेनर के लिए एसएफ़टीपी माउंट सेट अप किया जा सकता है. इसके बाद, Files ऐप्लिकेशन के ज़रिए भी ब्राउज़ किया जा सकता है.

क्या कंटेनर बंद होने पर फ़ाइलें ऐक्सेस की जा सकती हैं?

फ़िलहाल, कंटेनर के कॉन्टेंट को ऐक्सेस करने के लिए, उसका चालू होना ज़रूरी है. Files ऐप्लिकेशन से “Linux फ़ाइलें” को ऐक्सेस करने पर, ChromeOS पर Linux कंटेनर अपने-आप शुरू हो जाएगा.

क्या कस्टम कर्नल मॉड्यूल इंस्टॉल किए जा सकते हैं?

फ़िलहाल, Termina में मॉड्यूल सपोर्ट शामिल नहीं है. इसका मतलब है कि कस्टम कर्नल मॉड्यूल (जैसे, VirtualBox) बनाने या लोड करने के लिए ज़रूरी सॉफ़्टवेयर का इस्तेमाल नहीं किया जा सकेगा. अगला सवाल भी देखें.

क्या वीएम के अंदर वीएम चलाया जा सकता है?

Android Emulator की सुविधा को चालू करने के लिए, नेस्टेड वर्चुअलाइज़ेशन की सुविधा कुछ ChromeOS डिवाइसों पर काम करती है. इसके अलावा, हार्डवेयर को इम्यूलेट करने के लिए qemu-system चलाया जा सकता है. इससे, अपनी पसंद का कोई भी ओएस बूट किया जा सकता है. माफ़ करें, लेकिन ऐसा करने पर परफ़ॉर्मेंस काफ़ी धीमी हो जाएगी, क्योंकि QEMU, हार्डवेयर से तेज़ी लाने की सुविधा के लिए KVM का इस्तेमाल नहीं कर पाएगा.

क्या ChromeOS के Linux कंटेनर में, Docker कंटेनर या कोई अन्य कंटेनर चलाया जा सकता है?

हां! आपको जिस कंटेनर फ़ॉर्मैट को चलाना है उसके लिए, आपको पहले उससे जुड़े पैकेज इंस्टॉल करने होंगे.

मेरे सिस्टम पर कौनसा आर्किटेक्चर काम करता है?

Linux कंटेनर का आर्किटेक्चर, आपके डिवाइस के आर्किटेक्चर से मेल खाएगा. इसके बारे में दो अलग-अलग तरीकों से पता लगाया जा सकता है:

  • नए टैब में, chrome://settings/help/details पर जाएं और प्लैटफ़ॉर्म देखें. इसके बाद, बोर्ड के नाम को हमारी सार्वजनिक डिवाइस की सूची से मिलाएं. आपके पास किस तरह का सीपीयू है, यह देखने के लिए “User ABI” फ़ील्ड देखें.
  • crosh खोलें और uname -m चलाएं. इससे आपके मौजूदा डिवाइस का आर्किटेक्चर प्रिंट हो जाएगा.

अगर आपको x86_64 दिखता है, तो Intel/AMD के लिए कंपाइल किया गया कोड चलाया जा सकेगा. इसमें 32-बिट/64-बिट/x32, सभी काम करने चाहिए.

अगर आपको arm (या armv7l जैसा कुछ और) या aarch64 दिखता है, तो आपके पास ARM/ARM64 के लिए कंपाइल किया गया कोड चलाने का विकल्प होगा.

क्या अन्य आर्किटेक्चर इस्तेमाल किए जा सकते हैं?

फ़िलहाल, Intel सिस्टम पर एआरएम कोड चलाने या इसके उलट करने के लिए, इंटिग्रेटेड सपोर्ट उपलब्ध नहीं है. इसे खुद भी मैनेज किया जा सकता है.उदाहरण के लिए, qemu-user का इस्तेमाल करके. हालांकि, अगर आपको qemu-user के बारे में पता है, तो आपको यह जानकारी पहले से ही होगी.

क्या ऐसे प्रोग्राम चलाए जा सकते हैं जो लॉग आउट करने के बाद भी चलते रहें?

नहीं! सभी वर्चुअल मशीनें (और उनके कंटेनर), आपके लॉगिन सेशन से जुड़ी होती हैं. लॉग आउट करने पर, सभी प्रोग्राम बंद हो जाते हैं.

आपका सारा डेटा, एन्क्रिप्ट (सुरक्षित) किए गए आपके होम नेटवर्क में सेव होता है. इसलिए, हम नहीं चाहते कि लॉग आउट करने पर यह डेटा लीक हो.

ज़्यादा जानकारी के लिए, Chromium OS के आधिकारिक दस्तावेज़ों का सुरक्षा सेक्शन देखें.

क्या लॉग इन करने पर प्रोग्राम अपने-आप शुरू हो सकते हैं?

नहीं! सभी वर्चुअल मशीन और उनके कंटेनर को मैन्युअल तरीके से फिर से लॉन्च करना होगा. इससे लगातार होने वाले शोषण को रोकने में मदद मिलती है.

ज़्यादा जानकारी के लिए, Chromium OS के आधिकारिक दस्तावेज़ों का सुरक्षा सेक्शन देखें.

क्या बूट करते समय प्रोग्राम अपने-आप चलने की सुविधा चालू की जा सकती है?

नहीं! पिछले सवाल देखें.

क्या मेरे पास अपने कंटेनर के लिए एनवायरमेंट वैरिएबल सेट करने का विकल्प है?

ज़रूर! ऐसा करने के कुछ तरीके हैं.

  • environment.d की मदद से, systemd --user सेशन के लिए एनवायरमेंट वैरिएबल सेट किए जा सकते हैं. इनमें टर्मिनल और सभी जीयूआई ऐप्लिकेशन शामिल हैं. इस तरीके का इस्तेमाल करने के लिए, आपको नए कंटेनर, Debian 10 “buster” की ज़रूरत पड़ सकती है.
  • अगर आपको सिर्फ़ टर्मिनल में एनवायरमेंट वैरिएबल चाहिए, तो उन्हें अपने शेल की कॉन्फ़िगरेशन फ़ाइल में सेट करें. जैसे, ~/.bashrc या ~/.zshrc.

एनवायरमेंट वैरिएबल में किए गए बदलाव, सिर्फ़ नए प्रोग्राम पर लागू होते हैं. बदलावों को लागू करने के लिए, आपको प्रोग्राम या पूरे कंटेनर को रीस्टार्ट करना पड़ सकता है.

क्या एक से ज़्यादा प्रोफ़ाइल बनाने की सुविधा उपलब्ध है?

नहीं, टर्मिनल सिर्फ़ प्राइमरी प्रोफ़ाइल (*) में काम करता है. हमारा लक्ष्य प्राइमरी प्रोफ़ाइल के लिए, पूरी तरह से काम करने वाला और बेहतर अनुभव देना है. साथ ही, यह पक्का करना है कि सेकंडरी प्रोफ़ाइल में कोई समस्या न हो या वह क्रैश न हो. हमारा प्लान, सेकंडरी प्रोफ़ाइलों में ज़्यादा सुविधाएं जोड़ने का नहीं है.

अगर आपको मल्टीप्रोफ़ाइल की सुविधा के बारे में नहीं पता है, तो ज़्यादा जानकारी के लिए मल्टीप्रोफ़ाइल से जुड़े सामान्य दस्तावेज़ देखें.

(*): टर्मिनल ऐप्लिकेशन, सभी सेकंडरी प्रोफ़ाइलों में बंद होता है. लोग crosh और उसमें मौजूद कंटेनर के ज़रिए, मैन्युअल तरीके से VM शुरू कर सकते हैं. हालांकि, ऐसा हो सकता है कि यूज़र इंटरफ़ेस (यूआई) और Files ऐप्लिकेशन अपने-आप इंटिग्रेट न हों.

क्या बच्चों के खातों का इस्तेमाल किया जा सकता है?

नहीं, Terminal को बच्चों के खातों में इस्तेमाल नहीं किया जा सकता. हम इस सुविधा को ऐसे खातों के लिए उपलब्ध कराने का कोई प्लान नहीं बना रहे हैं.

अगर आपको बच्चे के खातों के बारे में नहीं पता है, तो ज़्यादा जानकारी के लिए, बच्चे के खातों से जुड़े सामान्य दस्तावेज़ देखें.

क्या मेरे वीएम/कंटेनर/डेटा को सिंक/बैक अप किया गया है?

कंटेनर में मौजूद किसी भी डेटा के लिए, आप ही ज़िम्मेदार होते हैं. अगर आपको एक मशीन से दूसरी मशीन के बीच प्रोजेक्ट फ़ोल्डर जैसे डेटा को आसानी से सिंक करना है, तो Drive में मौजूद किसी फ़ोल्डर को Linux के साथ शेयर करें. उस फ़ोल्डर में जोड़े गए सभी आइटम का Drive पर बैक अप लिया जाएगा. साथ ही, उन्हें आपके सभी डिवाइसों के साथ सिंक किया जाएगा.

मैं किसी वीएम का बैकअप कैसे लूं?

सबसे आसान तरीका यह है कि ChromeOS में पहले से मौजूद, बैकअप लेने की नई सुविधा का इस्तेमाल किया जाए. इसके लिए, सेटिंग पर जाएं और बाईं ओर मौजूद नेविगेशन मेन्यू से “डेवलपर" चुनें. इसके बाद, “Linux” पर जाएं. आपको “बैकअप लें और रीस्टोर करें” विकल्प दिखेगा. इस मेन्यू में जाकर, आपको “बैकअप लें” बटन दिखेगा. इस बटन पर क्लिक करने से, आपके लिए .tini फ़ाइल सेव हो जाएगी.

अगर आपको किसी कंटेनर का बैक अप लेना है, तो स्टैंडर्ड LXC कमांड का इस्तेमाल करें.

vmc export कमांड का इस्तेमाल करके, पूरी वर्चुअल मशीन को मैन्युअल तरीके से एक्सपोर्ट किया जा सकता है. यह qcow2 डिस्क इमेज को डिफ़ॉल्ट रूप से, Downloads फ़ोल्डर में डंप करेगा. ध्यान दें कि अभी किसी वीएम को इंपोर्ट करने का कोई तरीका नहीं है. इसलिए, यह सिर्फ़ डाइग्नोस्टिक्स के लिए या फ़ाइलें निकालने के लिए किसी दूसरे सिस्टम का इस्तेमाल करने के लिए काम का है.

क्या VM/कंटेनर की फ़ाइलों को सीधे तौर पर ऐक्सेस किया जा सकता है? जैसे, Files ऐप्लिकेशन के ज़रिए?

फ़िलहाल, वीएम में इस्तेमाल की गई इमेज फ़ाइलों को ऐक्सेस करने का कोई तरीका नहीं है. इसमें कोई बदलाव नहीं किया जाएगा.

अगर आपको डेटा का बैक अप लेना है, तो आपको ऐसा मैन्युअल तरीके से करना होगा.

वर्चुअल मशीन/कंटेनर में समय सिंक क्यों नहीं हो रहा है?

वीएम (और कंटेनर) में मौजूद घड़ी, ChromeOS की घड़ी के साथ अपने-आप सिंक होती रहती है. इसलिए, आपको समय को सटीक रखने वाली सेवाओं को खुद नहीं चलाना पड़ता (जैसे, एनटीपी). यह घड़ी यूटीसी के हिसाब से चलती है.

R75 से, हम timedatectl के ज़रिए कंटेनर में टाइमज़ोन का डेटा सिंक करने की कोशिश करते हैं. अगर इससे काम नहीं बनता है, तो हम TZ एनवायरमेंट वैरिएबल एक्सपोर्ट करते हैं.

फ़िलहाल, हम वीएम में टाइमज़ोन की जानकारी अपडेट नहीं करते हैं. हम किसी अन्य टाइमज़ोन की सेटिंग को भी अपडेट करने की कोशिश नहीं करते, क्योंकि ये डिस्ट्रो के हिसाब से अलग-अलग होती हैं. इसलिए, उन एनवायरमेंट में समय गलत दिख सकता है. अगर TZ एनवायरमेंट वैरिएबल का इस्तेमाल किया जाता है, तो समय पुराना दिख सकता है.

ज़्यादा तकनीकी जानकारी के लिए, https://crbug.com/829934 पर जाएं. यह उतना आसान नहीं है जितना आपको लगता है!

कॉपी और चिपकाने के लिए, कौनसे फ़ॉर्मैट इस्तेमाल किए जा सकते हैं?

फ़िलहाल, सिर्फ़ text/plain कॉन्टेंट के साथ काम किया जा सकता है. हम जल्द ही और फ़ॉर्मैट जोड़ने वाले हैं. जैसे, image/png और text/rtf.

exo/data_source.cc में जाकर, इस्तेमाल किए जा सकने वाले डेटा सोर्स की मौजूदा सूची देखी जा सकती है.

X/Wayland में कई MIME फ़ॉर्मैट इस्तेमाल किए जा सकते हैं. हालांकि, हमारा मुख्य लक्ष्य सिर्फ़ उन फ़ॉर्मैट को इस्तेमाल करने की अनुमति देना है जो Chrome में इस्तेमाल किए जाते हैं. उस सूची के लिए, clipboard_constants.cc फ़ाइल देखें.

ध्यान दें कि हम सिर्फ़ क्लिपबोर्ड में सेव किए गए डेटा पर लागू होने वाली पाबंदियों के बारे में बात कर रहे हैं. Wayland ऐप्लिकेशन अब भी किसी भी फ़ॉर्मैट में, एक-दूसरे के बीच डेटा ट्रांसफ़र कर सकते हैं.

क्या वीएम के अंदर से क्लिपबोर्ड को अपने-आप पढ़ा/लिखा जा सकता है?

फ़िलहाल, नहीं.

सुरक्षा के लिहाज़ से, हम नहीं चाहते कि कोई ऐसा कोड चुपचाप या अपने-आप उपयोगकर्ता की कॉपी की गई जानकारी को निकाल ले जिस पर भरोसा नहीं किया जा सकता. ऐसा हो सकता है कि आपका ब्राउज़र सेशन, निजी डेटा या पासवर्ड कॉपी कर रहा हो. यह वही समस्या है जो वेब प्लैटफ़ॉर्म को होती है.

यह उपयोगकर्ताओं के मैन्युअल तरीके से डेटा चिपकाने (जैसे कि ctrl+v) जैसा नहीं है. यह सिर्फ़ प्रोग्राम के हिसाब से पढ़ने के बारे में है.

हमें उम्मीद है कि यह समस्या हमेशा नहीं रहेगी. इन चीज़ों को मैनेज करने के लिए, अनुमति का मॉडल और यूज़र इंटरफ़ेस (यूआई) तैयार होने के बाद, हम उपयोगकर्ताओं को यह अनुमति देने पर विचार कर सकते हैं.

अगर xclip या X टूल का इस्तेमाल किया जाता है, तो इनमें अक्सर लोकल बफ़र (XWayland में) होता है. हालांकि, यह सिस्टम के बाकी हिस्सों के साथ अपने-आप सिंक नहीं होता है.

क्या मुझे वीएम अपडेट मैनेज करने होंगे?

नहीं! Termina VM एक कॉम्पोनेंट है, जो अपने-आप अपडेट होता है.

ध्यान रखें कि VM, कंटेनर से अलग होता है.

मैं Termina का वर्शन कैसे देखूं?

Termina एक डाउनलोड किया गया कॉम्पोनेंट है. इसलिए, नए टैब में chrome://components पर जाकर cros-termina को खोजा जा सकता है.

vsh का इस्तेमाल करके, वीएम से कनेक्ट किया जा सकता है और cat /etc/lsb-release चलाया जा सकता है.

क्या मुझे कंटेनर अपडेट मैनेज करने होंगे?

कंटेनर में Google की ओर से उपलब्ध कराए गए पैकेज, ChromeOS के साथ कम्यूनिकेट करते हैं या ChromeOS इंटिग्रेशन के लिए ज़रूरी होते हैं. ये पैकेज नियमित तौर पर अपने-आप अपडेट होते रहेंगे. इससे ज़रूरी डिपेंडेंसी अपने-आप इंस्टॉल हो जाएंगी.

कंटेनर में इंस्टॉल किए गए अन्य पैकेज अपने-आप अपग्रेड नहीं होते. हम ऐसे पैकेज अपडेट करने से बचना चाहते हैं जिनसे पहले से इंस्टॉल किए गए प्रोग्राम काम करना बंद कर सकते हैं. कंटेनर, किसी अन्य Linux डिस्ट्रो की तरह होता है. इसलिए, अगर आपको नया सॉफ़्टवेयर चाहिए, तो आपको इसे समय-समय पर अपडेट करना होगा.

sudo apt-get update && sudo apt-get dist-upgrade के विज्ञापन चलाए जा सकते हैं.

क्या IPv6 का इस्तेमाल किया जा सकता है?

हां, R81 से शुरू होने वाले वर्शन में यह सुविधा उपलब्ध है. डुअल-स्टैक और सिर्फ़ IPv6 वाले नेटवर्क, दोनों इस्तेमाल किए जा सकते हैं.

ChromeOS सिर्फ़ SLAAC के साथ काम करता है. ChromeOS पर IPv6 के साथ काम करने की सुविधा के सहायता पेज पर इसके बारे में ज़्यादा पढ़ें.

क्या मेरे पास लेयर 2 नेटवर्किंग को ऐक्सेस करने का विकल्प है?

फ़िलहाल, नहीं. नेटवर्किंग का ऐक्सेस सिर्फ़ लेयर 3 (यानी कि आईपी) पर होता है. इसलिए, आपको किसी भी तरह की ब्रिजिंग या लोअर लेवल का कोई भी काम करने की अनुमति नहीं मिलेगी.

यह साफ़ तौर पर नहीं कहा जा सकता कि यह बदलाव कब होगा. वाईफ़ाई से बाहरी दुनिया से जुड़ना मुश्किल होता है. साथ ही, कई डिवाइसों में ईथरनेट कनेक्शन नहीं होता. हम कंटेनर के बीच लेयर 2 का इस्तेमाल कर सकते हैं. हालांकि, यह साफ़ तौर पर नहीं कहा जा सकता कि कितने लोग इस सुविधा का इस्तेमाल करना चाहते हैं.

क्या CrOS/Android (VM/कंटेनर के बाहर) की ओर से सेट अप किए गए वीपीएन काम करते हैं?

फ़िलहाल, ऐसा नहीं किया जा सकता. अपडेट पाने के लिए, https://crbug.com/834585 को स्टार करें.

क्या ऑडियो आउटपुट की सुविधा काम करती है?

हां, R74 (Termina का वर्शन 11707.0.0+) से शुरू होने वाले वर्शन पर यह सुविधा उपलब्ध है.

अगर आपने ऑडियो सपोर्ट के डिप्लॉय होने से पहले ही कंटेनर सेट अप कर लिया था, तो हो सकता है कि यह सही तरीके से कॉन्फ़िगर न किया गया हो. ऐसा इसलिए, क्योंकि पहले डिफ़ॉल्ट रूप से आउटपुट को नल डिवाइस पर भेजा जाता था. डेटा वापस पाने के लिए, यह तरीका आज़माएं:

# Make sure the new cros-pulse-config package is installed.
$ sudo apt-get update
$ sudo apt-get dist-upgrade

# Clear out existing pulse settings.
$ rm -rf ~/.config/pulse

# Turn it off & on again via crosh ([Ctrl]+[[Alt]]+[[T]]).
crosh> vmc stop termina

क्या ऑडियो कैप्चर करने की सुविधा (जैसे, माइक्रोफ़ोन) काम करती है?

यह सुविधा अब ChromeOS M84 रिलीज़ में उपलब्ध है. ऑडियो कैप्चर करने की सुविधा चालू करने के लिए, सेटिंग पर जाएं. इसके बाद, बाईं ओर मौजूद नेविगेशन मेन्यू से “डेवलपर" चुनें. इसके बाद, “Linux” पर जाएं. आपको उस मेन्यू में “Linux को अपना माइक्रोफ़ोन ऐक्सेस करने की अनुमति दें" का विकल्प दिखेगा.

क्या हार्डवेयर (जैसे, यूएसबी/ब्लूटूथ/सीरियल) को ऐक्सेस किया जा सकता है?

ChromeOS अब आपको यूएसबी के ज़रिए कुछ डिवाइसों को शेयर करने की सुविधा देता है. यूएसबी ऐक्सेस करने की सुविधा चालू करने के लिए, सेटिंग पर जाएं और बाईं ओर मौजूद नेविगेशन मेन्यू से “डेवलपर" चुनें. इसके बाद, “Linux” और फिर “यूएसबी से जुड़ी प्राथमिकताएं” पर जाएं. यहां, हर मामले के हिसाब से यूएसबी ऐक्सेस करने की सुविधा चालू की जा सकती है.

हमारी टीम इस सुविधा को बेहतर बनाने के लिए लगातार काम कर रही है. आने वाले समय में, यह सुविधा ज़्यादा डिवाइसों पर उपलब्ध होगी.

क्या Wayland प्रोग्राम चलाए जा सकते हैं?

हां, और असल में, इन्हें प्राथमिकता दी जाती है! Chrome, Wayland क्लाइंट के साथ काम करता है. इसलिए, अपग्रेड करने पर आपको बेहतर अनुभव मिल सकता है.

Sommelier, इस सुविधा को आसानी से उपलब्ध कराता है.

क्या X प्रोग्राम चलाए जा सकते हैं?

हां, हालांकि, आपको कुछ समस्याएं आ सकती हैं. साथ ही, यह शायद कभी भी पारंपरिक X सर्वर की तरह काम न करे. हालांकि, ज़्यादातर कम्यूनिटी Wayland पर स्विच कर रही है. इसलिए, यह काफ़ी अच्छा होना चाहिए.

Sommelier, XWayland को लॉन्च करने का काम करता है. यह WM के तौर पर काम करता है. साथ ही, Chrome और X प्रोग्राम के बीच X और Wayland के अनुरोधों को ट्रांसलेट करता है.

कभी-कभी विंडो छोटी या धुंधली क्यों दिखती हैं?

लॉन्चर शेल्फ़ में दिखने वाले Linux ऐप्लिकेशन में, ज़्यादा या कम डेनसिटी का इस्तेमाल करने का विकल्प होना चाहिए. अगर आपको लगता है कि रिज़ॉल्यूशन आपकी ज़रूरत के मुताबिक नहीं है, तो आइकॉन पर राइट क्लिक करें. इससे आपको ज़्यादा और कम डेनसिटी के बीच टॉगल करने का विकल्प दिखेगा.

Chrome, हाई डीपीआई डिसप्ले के साथ काम करता है. हालांकि, Linux के कई ऐप्लिकेशन ऐसा नहीं करते. जब कोई प्रोग्राम DPI स्केलिंग को सही तरीके से सपोर्ट नहीं करता है, तो नतीजे खराब होते हैं.

फ़िलहाल, हम ऐप्लिकेशन को सीधे तौर पर, डिवाइस में पहले से मौजूद रिज़ॉल्यूशन और DPI की जानकारी देते हैं. अगर ये बहुत छोटे या धुंधले दिखते हैं, तो इसकी वजह यह है कि ये ठीक से स्केल नहीं होते. आपको इन समस्याओं की शिकायत, अपस्ट्रीम प्रोजेक्ट से करनी चाहिए, ताकि उम्मीद है कि आने वाले समय में ये समस्याएं ठीक हो जाएं.

इस बीच, Sommelier कुछ रनटाइम सेटिंग दिखाता है, ताकि आप हर प्रोग्राम के हिसाब से स्केल फ़ैक्टर सेट कर सकें. इससे, गड़बड़ी को ठीक करने में मदद मिलती है. ज़्यादा जानकारी के लिए, Sommelier का दस्तावेज़ देखें.

अगर सिस्टम-वाइड ज़ूम लागू किया जा रहा है या डिसप्ले के डिफ़ॉल्ट रिज़ॉल्यूशन में बदलाव किया जा रहा है, तो हम ऐप्लिकेशन के आउटपुट को मैच करने के लिए उसे स्केल करने की कोशिश करते हैं. इस वजह से, धुंधली इमेज मिल सकती हैं. अपने डिसप्ले का रिज़ॉल्यूशन बदला जा सकता है. इसके अलावा, Sommelier की मदद से भी बदलाव किए जा सकते हैं. ज़्यादा जानकारी के लिए, ऊपर दिया गया सेक्शन देखें. लॉन्चर शेल्फ़ में दिखने वाले Linux ऐप्लिकेशन में, ज़्यादा या कम डेनसिटी का इस्तेमाल करने का विकल्प होना चाहिए. अगर आपको लगता है कि रिज़ॉल्यूशन आपकी ज़रूरत के मुताबिक नहीं है, तो आइकॉन पर राइट क्लिक करें. इससे आपको ज़्यादा और कम डेनसिटी के बीच टॉगल करने का विकल्प दिखेगा.

क्या तालमेल बनाने की सुविधा काम करेगी?

Synergy क्लाइंट या सर्वर के तौर पर काम नहीं करेगा. इसके लिए, सभी विंडो के लिए इनपुट (जैसे, माउस/कीबोर्ड) को कैप्चर और स्पूफ़ करना ज़रूरी है. हमारा सिस्टम Wayland पर आधारित है. इसलिए, डिज़ाइन के हिसाब से कोई क्लाइंट, सिस्टम पर मौजूद किसी दूसरे क्लाइंट को ऐक्सेस नहीं कर सकता. यह क्लाइंट के बीच एक मज़बूत सुरक्षा सीमा है. हम नहीं चाहते कि कंटेनर के अंदर चल रहा कोई भी कोड, बाहर निकलकर दूसरे क्लाइंट (जैसे कि ब्राउज़र) पर हमला कर सके और मनमाने कीस्ट्रोक भेज सके.

कंटेनर से इस तरह के कंट्रोल को कभी भी चालू करने का कोई प्लान नहीं है. इसका मतलब यह नहीं है कि ChromeOS में, Synergy जैसा कोई समाधान कभी नहीं होगा.उदाहरण के लिए, सीआरडी जैसा कोई समाधान. इसका मतलब सिर्फ़ यह है कि समाधान, Synergy या कंटेनर में मौजूद कोई अन्य टूल नहीं होगा.

Synergy को चलाया जा सकता है. साथ ही, शायद इसे उस सिंगल विंडो के लिए इनपुट इवेंट भेजने के लिए इस्तेमाल किया जा सकता है जिस पर यह चल रहा है. हालांकि, इससे ज़्यादा कुछ नहीं किया जा सकता.

क्या Windows प्रोग्राम चलाए जा सकते हैं?

ज़रूर, WINE को आज़माएं. हालांकि, यह सुविधा काफ़ी हद तक WINE पर निर्भर करेगी. इसलिए, कृपया हमसे सहायता न मांगें.

क्या macOS प्रोग्राम चलाए जा सकते हैं?

शायद नहीं. Linux के लिए उपलब्ध कई समाधानों को आज़माया जा सकता है. हालांकि, हो सकता है कि वे समाधान भी ठीक से काम न करें.

QEMU/kvmtool/etc… का इस्तेमाल करने के बजाय, crosvm को शुरू से क्यों लागू किया गया है?

हमें इनमें से किसी भी अन्य प्रोजेक्ट से कोई आपत्ति नहीं है. दरअसल, ये सभी बहुत अच्छे हैं और इनके डिज़ाइन से हमें प्रेरणा मिली. सबसे अहम बात यह है कि उन्होंने हमारी ज़रूरत से ज़्यादा काम किया और उनके पास उतना अच्छा सुरक्षा मॉडल नहीं था जितना हमने खुद बनाया है. crosvm, अन्य प्रोजेक्ट की तरह सभी काम नहीं कर सकता. हालांकि, यह सिर्फ़ वही काम करता है जो हमें चाहिए.

ज़्यादा जानकारी के लिए, crosvm प्रोजेक्ट देखें.

क्या वर्चुअल मशीनें, सिस्टम की परफ़ॉर्मेंस को धीमा नहीं कर देती हैं?

यह सही है कि सिर्फ़ कंटेनर में या सीधे सिस्टम में चलाने की तुलना में, वर्चुअल मशीनें ज़्यादा ओवरहेड जोड़ती हैं. हालांकि, हमारे टेस्ट में यह पता चला है कि इससे उपयोगकर्ता अनुभव पर कोई खास असर नहीं पड़ता. साथ ही, सिस्टम की सुरक्षा को बेहतर बनाने के लिए यह ज़रूरी है.

ज़्यादा जानकारी के लिए, Chromium OS के आधिकारिक दस्तावेज़ों का सुरक्षा सेक्शन देखें.

वर्चुअल मशीन में कंटेनर क्यों चलाएं? प्रोग्राम को सीधे वीएम में क्यों नहीं चलाया जाता?

VM को कम समय में शुरू करने के लिए, हमें Termina को जितना हो सके उतना छोटा रखना होगा. इसका मतलब है कि हम उन प्रोग्राम/फ़ाइलों को हटा देंगे जिनकी हमें ज़रूरत नहीं है या जो हमारे काम की नहीं हैं.

हम dm-verity का इस्तेमाल करते हैं. इसके लिए, सुरक्षा के लिए Termina इमेज को सिर्फ़ पढ़ने के लिए सेट करना ज़रूरी है. हालांकि, इसका यह भी मतलब है कि हम इसे VM इंस्टेंस के बीच सुरक्षित तरीके से शेयर कर सकते हैं.

इसके अलावा, हम जिन प्रोग्राम/लाइब्रेरी को शिप करते हैं उनके वर्शन, अक्सर अन्य डिस्ट्रो के मुकाबले नए होते हैं. ऐसा इसलिए, क्योंकि हम Gentoo पर आधारित हैं. साथ ही, इन्हें अतिरिक्त सुरक्षा फ़्लैग के साथ कंपाइल किया जाता है.

उपयोगकर्ता को वीएम में बदलाव करने की अनुमति देने से, ऐसी स्टेटलेस इमेज को रोका जा सकता है जो हमेशा काम करती है. साथ ही, उपयोगकर्ता की गलतियों और प्रोग्राम में मौजूद गड़बड़ियों से सुरक्षित रहती है.

कुल मिलाकर, किसी भी प्रोग्राम को चलाने में सहायता करना मुश्किल होता है. साथ ही, इससे सिस्टम में ऊपर बताई गई कई ज़रूरी प्रॉपर्टी नहीं होती हैं. सभी चीज़ों को कंटेनर में रखने से, ज़्यादा भरोसेमंद समाधान मिलता है. साथ ही, उपयोगकर्ता बिना किसी चिंता के एक्सपेरिमेंट कर सकते हैं.

इसके अलावा, हमें कछुए बहुत पसंद हैं.

क्या फ़ोरशैडो (इसे L1TF / CVE-2018-3646 भी कहा जाता है) को मैनेज किया जाता है?

हां. ज़्यादा जानकारी के लिए, हमारा सार्वजनिक दस्तावेज़ देखें.

क्या मेरे पास उन कंटेनर को मिटाने का विकल्प है जिनकी मुझे अब ज़रूरत नहीं है?

ज़रूर, आपको जो भी मिटाना है उसे मिटाएं. हालांकि, फ़िलहाल ऐसा करने के लिए कोई यूज़र इंटरफ़ेस (यूआई) या कमांड उपलब्ध नहीं है.

क्या मेरे पास उन वर्चुअल मशीन (वीएम) को मिटाने का विकल्प है जिनकी मुझे अब ज़रूरत नहीं है?

ज़रूर, आपको जो भी मिटाना है उसे मिटाएं. vmc destroy कमांड का इस्तेमाल करके, इन्हें मैन्युअल तरीके से मिटाया जा सकता है.

क्या इन सुविधाओं को बंद किया जा सकता है?

एडमिन, मैनेजमेंट कंसोल के ज़रिए कंटेनर/वर्चुअल मशीन (वीएम) के ऐक्सेस को कंट्रोल कर सकते हैं. इसलिए, एंटरप्राइज़/शिक्षा से जुड़े संगठन इस सुविधा को सीमित कर सकते हैं.

शुरुआत में, ChromeOS की स्टैंडर्ड सेटिंग में “Linux” विकल्प होता है. हालांकि, आने वाले समय में इस विकल्प को हटाने का प्लान है, ताकि ज़रूरत के हिसाब से चीज़ें काम करें. इसके बाद, मैनेज नहीं किए जा रहे डिवाइसों के लिए कोई नॉब नहीं होगा.

क्या मैं Windows, macOS, Linux, *BSD वगैरह जैसे किसी दूसरे ओएस को बूट कर सकता हूं…?

फ़िलहाल, नहीं. सिर्फ़ हमारे कस्टम Linux VM को बूट किया जा सकता है. इसका नाम Termina है. अगले कुछ सवाल भी देखें.

क्या मेरे पास अपना वीएम/कर्नेल चलाने का विकल्प है?

फ़िलहाल, ऐसा नहीं किया जा सकता. सिर्फ़ Termina को बूट किया जा सकता है. यह हमारे कस्टम Linux कर्नल और कॉन्फ़िगरेशन का इस्तेमाल करता है. हमारे साथ बने रहें!

क्या कोई दूसरा Linux डिस्ट्रो चलाया जा सकता है?

बिलकुल! इसमें LXD की पूरी कमांड लाइन उपलब्ध है. साथ ही, इसमें शामिल इमेज रिमोट में चुनने के लिए कई अन्य डिस्ट्रो हैं. हालांकि, हम अपने डिफ़ॉल्ट कंटेनर के अलावा किसी और कंटेनर के साथ टेस्ट नहीं करते हैं. इसलिए, किसी अन्य डिस्ट्रो को चलाने पर समस्याएं आ सकती हैं.

मैं (insert distro here) का इस्तेमाल कर रहा/रही हूं. मुझे {GUI apps, launcher icons, etc…} कैसे मिलेंगे?

Sommelier और Garcon बाइनरी को हर कंटेनर में बाइंड-माउंट किया जाता है. इसलिए, इन्हें इंस्टॉल या क्रॉस-कंपाइल करने की ज़रूरत नहीं होती. cros-container-guest-tools से systemd यूनिट और कॉन्फ़िगरेशन फ़ाइलें, systemd उपयोगकर्ता सेशन में इन डेमॉन को शुरू करेंगी. loginctl enable-linger <user> को बैकग्राउंड में चलने की अनुमति देना भी एक अच्छा तरीका है.

कितने वीएम चलाए जा सकते हैं?

आपके पास उतने ही प्रॉसेस बनाने का विकल्प होता है जितने आपके सिस्टम की क्षमता होती है (RAM/CPU के हिसाब से). ये सभी एक-दूसरे से अलग हैं.

कितने कंटेनर चलाए जा सकते हैं?

आपके पास उतने ही प्रॉसेस बनाने का विकल्प होता है जितने आपके सिस्टम की क्षमता होती है (RAM/CPU के हिसाब से). हर VM इंस्टेंस में कई कंटेनर होस्ट किए जा सकते हैं.

कौनसे कंटेनर फ़ॉर्मैट इस्तेमाल किए जा सकते हैं?

फ़िलहाल, Termina सिर्फ़ LXC को सीधे तौर पर सपोर्ट करता है. हमें Kubernetes/Docker/OCI/rkt/वगैरह के बारे में पता है. हम उम्मीद करते हैं कि हम इन सभी को इस्तेमाल करने में आसान बना पाएं.

इस समस्या को हल करने के लिए, पिछले सवाल का जवाब देखें.