تطبيقات Linux على Chrome OS - نظرة عامة على أكبر ميزة لها منذ تطبيقات Android

إليك كل ما تحتاج إلى معرفته حول التطوير السري لسنوات من Google لتطبيق وظائف Linux في Chrome OS ، المعروف أيضًا باسم Project Crostini.

باختصار ، إنها طريقة لتشغيل تطبيقات Linux العادية على نظام التشغيل Chrome دون المساس بالأمن أو تمكين وضع مطور البرامج. ينص الإعداد الرسمي (غير متوفر حتى الآن) على أنه "يشغل أدوات Linux والمحررين و IDEs على Chromebook."

تعد Crostini تتويجا لعدة سنوات من التطوير والتي مكنت الوظيفة من العمل بشكل آمن بما يكفي لتلبية معايير الأمان العالية لنظام التشغيل Chrome. لفهم سبب ظهورها فقط ، من الأفضل أن ننظر إلى ما حدث من قبل.

وضع Crostini في السياق - العصور المظلمة لنظام التشغيل Chrome

قبل وصول تطبيقات Android إلى المشهد ، لم يكن هناك الكثير من الوظائف غير المتصلة بالإنترنت ناهيك عن تطبيقات الإنتاجية المفيدة في نظام التشغيل Chrome. لماذا يشتري أي شخص عاقل جهاز Chromebook؟ "إنه مجرد متصفح ويب" ، كانت الملاحظة الختامية لكل مراجعة لجهاز Chromebook. كان سوق Chrome الإلكتروني على قدر ما تحصل عليه ، لكن اختيار التطبيقات كان سيئًا جدًا ونادراً ما يتم تحديثه. يمكن للمغامرين محاولة تشغيل تطبيقات Android باستخدام أداة تدعى ARC Welder ، لكن ذلك كان ناجحًا وكان الأداء ضعيفًا.

للتغلب على قيود عدم الاتصال بالإنترنت ، قام المستخدمون المحبطون إما بمسح Chrome OS وتثبيت Linux أو استخدم أداة المصدر المفتوح Crouton لإعداد بيئة سطح مكتب متزامنة [على سبيل المثال Ubuntu Unity] تعمل على قمة kernel لنظام التشغيل Chrome.

تثبيت Crouton ، مجموعة أدوات مفتوحة المصدر ، كانت في السابق الطريقة الفعلية للوصول إلى تطبيقات Linux على Chrome OS ، سيتم إهمالها قريبًا

يتطلب تشغيل توزيعة بديلة لجنو / لينكس أو كروتون قدرًا كبيرًا من الدراية وكثيراً ما كانت مليئة بالأخطاء - ولم يكن أي خيار سهل الاستخدام أو آمنًا بشكل خاص. اضغط على المفتاح الخطأ وستقوم بمسح جهازك أو قرعه ، وإذا تركت بيئة كروتون الخاصة بك غير مشفرة ، فيمكن لأي مستخدم ضيف الوصول إليها.

تكامل تطبيق Android ، ووضع سابقة

هبطت تطبيقات Android على Chrome OS في عام 2016 وكانت قفزة هائلة في الوظائف غير المتصلة بالإنترنت ، ولكن تمكين هذه الوظيفة لم يكن مجرد ميزة التوصيل والتشغيل. الطريقة الوحيدة التي يمكن أن تعمل على نظام التشغيل الذي يقدر الأمن هو إذا كان رمل فعال.

كان الحل الجديد الذي اختاره مطورو نظام التشغيل Chrome هو النقل بالحاويات ، وهو وسيلة لتجميع التطبيقات في حزم قابلة للتنفيذ مستقلة. باستخدام حاوية وأكثر من بضعة تعديلات ، تمكنوا من الحصول على بيئة Android الكاملة وجميع تبعياتها ليتم تشغيلها في حاوية ، مفصولة عن بقية نظام التشغيل Chrome الذي يعمل على نفس النواة.

لكن تطبيقات Android لا يتم تطويرها عادةً مع وضع عامل شكل سطح المكتب / الكمبيوتر المحمول في الاعتبار. أضف تجربة مسة سيئة على نظام التشغيل Chrome في المزيج وستحصل على جلسة إنتاجية محبطة إذا عملت التطبيقات على الإطلاق.

الصداع مع التوافق - تطبيقات Android على Chrome OS

بينما ساعدت تطبيقات Android على سد الفجوة الإنتاجية حتى الآن ، لا يزال هناك هذا التوق إلى المكتبة الضخمة لتطبيقات سطح المكتب الكاملة. كما هو الحال مع مشكلة Android الأولية ، فإن مجرد فتح القدرة على تشغيل تطبيقات Linux من شأنه أن يزيد من سطح هجوم نظام التشغيل Chrome لأن التطبيقات الضارة يمكن أن يكون لها الوصول إلى كل شيء على نظام التشغيل المضيف. لذا فقد صمم المطورون هذه المرة وظائف تطبيق Linux بأكثر ما يمكن ، بالإضافة إلى ما تعلموه بالفعل مع Android.

الدفاع في العمق

كما يوحي الاسم ، فإن كروستيني يشبه كروتون ، ولكن بدلاً من امتلاك مساحة مستخدم غير آمنة تقع بجانب نظام التشغيل Chrome ، فإن هناك جدارين بينهما. الجدار الأول هو Termina VM ، تطبيق Chrome OS KVM (الجهاز الظاهري القائم على Kernel). بمجرد بدء تشغيل VM ، يتم وضع الجدار الثاني - حاوية - والتي لديها التطبيق الذي تريد تشغيله بالفعل. لذلك عندما تريد تشغيل تطبيق Klondike المكتبي الكامل الخاص بك ، يتم تشغيله في حاوية داخل VM.

لم يجعل المطورون الوثائق التي تواجه الجمهور سهلة الهضم بشكل خاص من وجهة نظر غير تقنية ، ولكن من خلال قراءتي للشخصيات غير الرسمية ، يبدو أن بنية البرنامج لنظام التشغيل Chrome تبدو الآن كما يلي [ملاحظة: جميع الأعمال خاصة بي ، وبالتأكيد ليست كذلك وثيقة رسمية لفريق Chrome OS ، ربما تكون غير صحيحة تمامًا ، من فضلك لا تؤذيني]:

ما نعتقد العمارة كروستيني يشبه. ليس وثيقة رسمية.

باختصار ، يحتوي مكون VM على مساحة منفصلة للمستخدم والأجهزة الافتراضية (vCPU ، IP ، MAC ، وما إلى ذلك) ، والحاوية عبارة عن تطبيق معبأ يستخدم تلك الموارد. في هذه المرحلة ، أود أن أضيف تحذيرًا بأن مكون VM لا يحاكي فعليًا أي أجهزة .

الأغنياء فقط ... الآن

البعض ، مثل المجتمع في Reddit's / r / Crostini ، بدأ بالفعل العبث مع Crostini على Google Pixelbooks. لسوء الحظ ، فإن Pixelbook هو الجهاز الوحيد الذي يحتوي على وظائف Crostini حتى الآن ، لكن الإشارات تشير إلى أجهزة أخرى ، حتى تلك التي تستخدم نظام ARM على الرقاقات ، تتلقى الدعم في المستقبل. ولكن ربما ليس تماما حتى الآن لآلات 32 بت. هناك أيضًا تلميحات إلى أن بعض أجزاء وظيفة VM المطلوبة لتشغيل Crostini لن تكون متاحة للأجهزة التي تحتوي على إصدارات kernel الأقدم.

إذا وصلت إلى هذا الحد ، فمن المحتمل أنك تتساءل: ما الذي يمكنني الركض؟ كان النجاح محدودا. ألمح مطورو Chrome إلى تشغيل Visual Studio. حصل مستخدمو Reddit على WINE و Android Studio ، وقام ChromeUnboxed بعرض فيديو مفيد. لكن من المحتمل أننا لن نعرف القدرات الكاملة - والقيود - قبل أن تعرض Google فعليًا شيئًا ما. ما نعرفه هو أن التطبيقات ثابتة ، مما يعني أنه يمكنك المتابعة من حيث توقفت وأن المطورين يعملون على إتاحتها في قائمة التطبيقات الحديثة.

ماذا بعد؟ بضع نقاط للنظر

إذا كنت في قناة المطور على Chromebook بخلاف Pixelbook ، فقد وصل التطبيق الطرفي إلى Chromebook. قد ترى خطأ "فشل في بدء الكونسيرج". ذلك لأن وظيفة VM لم يتم تمكينها على أجهزة أخرى غير Pixelbook ... حتى الآن.

لا نعرف بعد كيف يتم تخصيص الموارد ونوع النفقات العامة التي تنتجها هذه التطبيقات المتداخلة. فكرة اللعب على ألعاب Steam المتوافقة مع Linux هي فكرة جذابة ، ولكن إذا لم يكن GPU-speederation متاحًا ، فهو في الوقت الحالي أمر محظور.

لا نعرف القيود التي ستحدثها فجوة هواء المضيف / الحاوية (إن وجدت). يتم التحكم في الاتصال بين الحاوية ونظام التشغيل Chrome ، فهل سيؤدي ذلك إلى توفير الكمون أو حتى تعطيل بعض الأجهزة الطرفية؟

لدينا العديد من الأسئلة دون إجابة ، وهي مسألة وقت فقط حتى يتم الكشف عن كل شيء. كثيرون مقتنعون بأن Google I / O 2018 في غضون أسابيع قليلة ستكون بمثابة الكشف الكبير - الأمر المنطقي لأنه مؤتمر مطور. في غضون ذلك ، لا تنزعج ونحن تتبع مسار كروستيني.


مصادر:

ماكسيم لين - حاويات أو إس أو كروم

Chromium Git - ARC حاوية حزمة ، vm_tools ، مشروع termina ، crosvm