אפליקציות לינוקס ב-Chrome OS

click fraud protection

אפליקציות לינוקס יהיו זמינות בקרוב ב-Chrome OS, החל מ-Google Pixelbook, הודות ל-Project Crostini. מה זה קרוסטיני ולמה זה כל כך חשוב? אנחנו צוללים לתוך השינוי הגדול ביותר במערכת ההפעלה של Chrome מאז שילוב אפליקציית אנדרואיד.

הנה כל מה שאתה צריך לדעת על הפיתוח החשאי של Google במשך שנה של פונקציונליות אפליקציית לינוקס ב-Chrome OS, הידוע גם בשם Project Crostini.

בקיצור, זוהי דרך להפעיל יישומי לינוקס רגילים על מערכת ההפעלה של Chrome מבלי לפגוע באבטחה או לאפשר מצב מפתחים. (עדיין לא זמין) הגדרה רשמית קובע שזה כדי "להפעיל כלים, עורכים ו-IDEs של Linux ב-Chromebook שלך."

Crostini הוא שיאו של כמה שנים של פיתוח שאפשרו לפונקציונליות לפעול בצורה מאובטחת מספיק כדי לעמוד בתקני האבטחה הגבוהים של Chrome OS. כדי להבין למה זה רק מופיע, עדיף להסתכל על מה שקרה קודם.

הצבת Crostini בהקשר - העידנים האפלים של Chrome OS

לפני שאפליקציות אנדרואיד הגיעו למקום, לא היה הרבה בדרך לפונקציונליות לא מקוונת, שלא לדבר על אפליקציות פרודוקטיביות שימושיות ב-Chrome OS. למה שכל אדם שפוי יקנה Chromebook? "זה רק דפדפן אינטרנט", הייתה הערת הסיום של כל סקירת Chromebook. חנות האינטרנט של Chrome הייתה הרבה כמו שאתה מקבל, אבל מבחר האפליקציות היה די דל ולעתים רחוקות עודכן. ההרפתקנים יכולים לנסות להפעיל אפליקציות אנדרואיד באמצעות כלי שנקרא

רתך ARC, אבל זה היה פגיעה או החמצה והביצועים היו גרועים.

כדי לעקוף מגבלות לא מקוונות, משתמשים מתוסכלים מחקו את מערכת ההפעלה של Chrome והתקינו לינוקס או השתמשו בכלי הקוד הפתוח קרוּטוֹן כדי להגדיר סביבת שולחן עבודה בו-זמנית [למשל Ubuntu Unity] הפועלת על גבי ליבת מערכת ההפעלה של Chrome.

התקנת קרוטון, ערכת כלים בקוד פתוח, בעבר הדרך דה-פקטו לגשת לאפליקציות לינוקס ב-Chrome OS, שתוצא בקרוב משימוש

הפעלת הפצת GNU/Linux חלופית או קרוטון דרשה מעט ידע ולעתים קרובות הייתה רצופת באגים - ואף אחת מהאפשרויות לא הייתה ידידותית או מאובטחת במיוחד. הקש על המקש הלא נכון ותמחק את המכשיר שלך או תלבש אותו, ואם השארת את סביבת הקרוטון שלך לא מוצפנת, כל משתמש אורח יוכל לגשת אליה.

שילוב אפליקציות אנדרואיד, יצירת תקדים

אפליקציות אנדרואיד נחתו ב-Chrome OS בשנת 2016 והיוו קפיצת מדרגה עצומה בפונקציונליות לא מקוונת, אך הפעלת הפונקציונליות הזו לא הייתה רק הכנס-הפעל. הדרך היחידה שבה הוא יוכל לעבוד על מערכת הפעלה שמעריכה אבטחה הייתה אם היא הייתה בארגז חול ביעילות.

הפתרון החדש שמפתחי Chrome OS בחרו היה קונטיינריזציה, דרך לאגד יישומים לחבילות הפעלה עצמאיות. באמצעות קונטיינר ויותר מכמה שינויים, הם הצליחו להשיג את סביבת האנדרואיד המלאה והכל התלות שלו לפעול במכולה, מופרדת משאר מערכת ההפעלה של Chrome ועם זאת פועלת באותו אופן גַרעִין.

אבל אפליקציות אנדרואיד לא מפותחות בדרך כלל עם מחשבה על גורם צורה של שולחן עבודה/מחשב נייד. הוסף חווית מגע גרועה ב-Chrome OS לתוך התערובת, וקיבלת לעצמך סשן פרודוקטיביות מתסכל אם אפליקציות עבדו בכלל.

כאבי ראש עם תאימות - אפליקציות אנדרואיד ב-Chrome OS

בעוד אפליקציות אנדרואיד עזרו לגשר על פער הפרודוקטיביות עד כה, עדיין הייתה הכמיהה לספרייה האדירה של אפליקציות שולחן עבודה מלאות. כמו בבעיית האנדרואיד הראשונית, פשוט לפתוח את היכולת להפעיל יישומי לינוקס להגדיל את משטח ההתקפה של Chrome OS מכיוון שלאפליקציות זדוניות עשויות להיות גישה לכל מה שנמצא ב-Chrome OS מערכת הפעלה מארח. אז הפעם המפתחים תכננו את הפונקציונליות של אפליקציית לינוקס בצורה מטופחת ככל האפשר, בנוסף למה שהם כבר למדו עם אנדרואיד.

הגנה בעומק

כפי שהשם מרמז, Crostini הוא כמו קרוטון, אבל במקום מרחב משתמש לא מאובטח שיושב לצד מערכת ההפעלה של Chrome, יש לו שני קירות ביניהם. הקיר הראשון הוא Termina VM, יישום Chrome OS KVM (מחשב וירטואלי מבוסס ליבה). ברגע שה-VM הזה מתחיל, הוא מציב את הקיר השני - מיכל - שבו יש את האפליקציה שבאמת תרצה להפעיל. אז כאשר אתה רוצה להפעיל את אפליקציית שולחן העבודה המלאה של Klondike, היא פועלת ב-container-inside-a-VM.

המפתחים לא הפכו את התיעוד הפונה לציבור לעיכול במיוחד מנקודת מבט לא טכנית, אבל מקריאת ההדיוט הלא רשמי שלי, התוכנה הארכיטקטורה עבור מערכת ההפעלה של Chrome כעת כנראה נראית כך [הערה: כולם עובדים בעצמי, בהחלט לא מסמך רשמי של צוות מערכת ההפעלה של Chrome, כנראה לגמרי לא נכון, בבקשה לא פגע בי]:

איך אנחנו חושבים שנראית ארכיטקטורת קרוסטיני. לא מסמך רשמי.

בקיצור, לרכיב ה-VM יש מרחב משתמש נפרד והתקנים וירטואליים (vCPU, IP, MAC וכו'), והמיכל הוא אפליקציה ארוזה שמנצלת את המשאבים האלה. בשלב זה, עלי להוסיף אזהרה לגבי רכיב ה-VM לא ממש מחקה שום חומרה.

רק אנשים עשירים... לעת עתה

חלקם אוהבים את הקהילה ב-Reddit's /r/Crostini, כבר התחילו להתעסק עם קרוסטיני על שלהם Google Pixelbooks. לצערנו, ה Pixelbook הוא המכשיר היחיד שיש לו פונקציונליות של Crostini עד כה, אך סימנים מצביעים על מכשירים אחרים, אפילו כאלה עם מערכת ARM-על-שבבים, שיקבלו תמיכה בעתיד. אבל אולי עדיין לא ממש עבור מכונות 32 סיביות. ישנם גם רמזים לכך שחלקים מסוימים בפונקציונליות ה-VM נדרשים להפעלת Crostini לא יהיה זמין עבור מכשירים עם גרסאות ליבה ישנות יותר.

אם הגעתם עד הלום, אתם בוודאי תוהים: מה אני יכול לרוץ? ההצלחה הייתה מוגבלת. מפתחי Chrome רמזו שיש להם את Visual Studio פועל. משתמשי Reddit גרמו ל-WINE ו-Android Studio לעבוד, ו-ChromeUnboxed עשה שימוש מועיל סרטון הדגמה. אבל כנראה שלא נדע את מלוא היכולות - והמגבלות - לפני שגוגל באמת תציג משהו. מה שאנחנו כן יודעים זה אפליקציות מתמידות, כלומר אתה יכול להמשיך מהמקום שהפסקת ושהמפתחים עובדים על הפיכתם לזמינים ברשימת היישומים האחרונים שלך.

מה הלאה? כמה נקודות לשקול

אם אתה נמצא בערוץ המפתחים ב-Chromebook שאינו Pixelbook, ייתכן שהאפליקציה Terminal הגיעה ל-Chromebook שלך. ייתכן שתראה שגיאה "נכשל בהפעלת השוער". הסיבה לכך היא שפונקציונליות VM לא הופעלה במכשירים אחרים מלבד Pixelbook... עדיין.

אנחנו עדיין לא יודעים איך משאבים מוקצים ואיזה סוג של תקורה מייצרות האפליקציות המקוננות האלה. הרעיון של משחק על משחקי Steam תואמי לינוקס מפתה, אבל אם האצת GPU אינה זמינה אז, לעת עתה, אין אפשרות ללכת.

איננו יודעים אילו מגבלות יפיק מרווח האוויר של המארח/מיכל (אם בכלל). התקשורת בין הקונטיינר ל-Chrome OS נשלטת, אז האם זה יכניס חביון או אפילו ישבית חלק מהציוד ההיקפי?

יש לנו הרבה שאלות ללא מענה, וזה רק עניין של זמן עד שהכל יתגלה. רבים משוכנעים Google I/O 2018 בעוד כמה שבועות תהיה החשיפה הגדולה - זה הגיוני מכיוון שמדובר בכנס מפתחים. בינתיים, הישארו מעודכנים כשאנחנו עוקבים אחר קרוסטיני.


מקורות:

Maksim Lin - Chrome OS Containers

Chromium Git - חבילת מיכל ARC, vm_tools, מסוף הפרויקט, crosvm