שאלות נפוצות בנושא Linux

איפה אפשר לשוחח עם מפתחים?

כל הדיונים על פיתוח Chromium OS מתקיימים בקהילת העזרה של Chromebook. אתם יכולים לשאול כל דבר, אבל כדאי קודם לחפש כדי לראות אם כבר ענינו על השאלה שלכם.

איפה אפשר לשלוח בקשות להוספת תכונות?

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

בינתיים, אפשר לשלוח הודעה לרשימת התפוצה שלמעלה.

אחרי שהמצב יתייצב, תוכלו להשתמש בכלי שלנו למעקב אחר בעיות. פרטים נוספים מופיעים בשאלה הבאה.

איפה אפשר לדווח על באגים?

קודם כל, צריך לוודא שאתם משתמשים בערוץ הפיתוח העדכני ביותר. עדיין מתבצעת עבודה רבה.

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

אם אתם עדיין רוצים לשלוח משוב, אתם יכולים לשלוח דוח משוב ולכלול את #crostini (שם נוסף ל-Linux ב-ChromeOS) בתיאור. אפשר לשלוח משוב על כל חלק ב-ChromeOS באמצעות alt+shift+i.

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

למה קוראים לזה Crostini?

השם הוא משחק מילים על crouton, פרויקט ליצירת סביבות Linux מלאות (כולל כלי פיתוח) בקלות למשתמשים שהפעילו את מצב הפיתוח. מטרת Crostini (לינוקס ב-ChromeOS) היא לספק מענה לרוב תרחישי השימוש שמכוסים על ידי crouton. בנוסף, הוא חטיף גדול וטעים יותר מקרוטון, ומכאן השם.

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

לכן crouton עזר להתוות את הכיוון של Linux ב-ChromeOS, אבל לא נעשה שיתוף או שימוש חוזר בקוד בין שתי המערכות. הבעיה היא לא ב-crouton, אלא בעובדה שמדובר במודל שונה לגמרי.

מתי המכשיר שלי ייתמך?

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

לכן, אנחנו מבקשים לא לבקש מאיתנו מפות דרכים לתמיכה במכשירים, כי אין לנו כאלה.

האם צריך להפעיל מצב פיתוח?

אין צורך להפעיל את מצב הפיתוח (שבו מופיע מסך מפחיד בזמן האתחול לגבי השבתת אימות מערכת ההפעלה). כל התכונות האלה מיועדות להפעלה מאובטחת בזמן שהמערכת פועלת במצב רגיל או במצב מאומת.

יכול להיות שבמכשירים מסוימים תצטרכו לעבור אל ערוץ הפיתוח, אבל זה לא קשור למצב פיתוח.

האם אני מריץ Linux ב-ChromeOS?

כן,אם אתם משתמשים באפליקציה Terminal או בתוכניות במאגר ברירת המחדל שאנחנו מספקים, כולל התוכניות שלנו שמיועדות להקל על השילוב (למשל Sommelier).

אם אתם מריצים קונטיינר או מכונה וירטואלית משלכם, אז לא.

למה כדאי להריץ מכונות וירטואליות? האם מאגרים לא מאובטחים?

למרות שמכולות מבודדות את עצמן לעיתים קרובות (באמצעות מרחבי שמות של Linux), הן לא מבודדות את ליבת המערכת או משאבי מערכת דומים. כלומר, מספיק באג אחד בליבת המערכת כדי לנצל את המערכת באופן מלא ולגנוב את הנתונים שלכם.

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

פרטים נוספים זמינים בסעיף אבטחה במסמכים הרשמיים של Chromium OS.

איך משתפים קבצים בין ChromeOS לבין הקונטיינר?

אפשר לגשת לאחסון של קונטיינר Linux ב-ChromeOS שמוגדר כברירת מחדל דרך 'קבצים של Linux' באפליקציית הקבצים של ChromeOS. באמצעות Secure Shell, אפשר להגדיר טעינת SFTP לקונטיינרים מרוחקים אחרים ואז לעיין בהם גם דרך אפליקציית הקבצים.

האם אפשר לגשת לקבצים כשהקונטיינר לא פועל?

בשלב הזה, הקונטיינר צריך לפעול כדי לגשת לתוכן שלו. קונטיינר ברירת המחדל של Linux ב-ChromeOS יופעל באופן אוטומטי כשניגשים אל 'קבצים של Linux' מאפליקציית הקבצים.

האם אפשר להתקין מודולים מותאמים אישית של ליבת מערכת ההפעלה?

לא, נכון לעכשיו, Termina לא כולל תמיכה במודולים. כלומר, ניסיון להשתמש בתוכנה שדורשת בנייה או טעינה של מודולים מותאמים אישית של ליבת המערכת (למשל VirtualBox) לא יצליח. מידע נוסף מופיע בשאלה הבאה.

האם אפשר להריץ מכונה וירטואלית בתוך מכונה וירטואלית?

וירטואליזציה מקוננת נתמכת בחלק ממכשירי ChromeOS כדי לאפשר תמיכה באמולטור של Android. בנוסף, אפשר להריץ qemu-system כדי לבצע אמולציה של החומרה ולהפעיל כל מערכת הפעלה שרוצים בתוך האמולציה. לצערנו, התהליך יהיה איטי למדי כי QEMU לא יוכל להשתמש ב-KVM להאצת חומרה.

האם אפשר להריץ קונטיינר של Docker או קונטיינר אחר בתוך קונטיינר Linux של ChromeOS?

כן! סביר להניח שתצטרכו קודם להתקין את החבילות הרלוונטיות לפורמט הקונטיינר שאתם רוצים להריץ.

איזו ארכיטקטורה מתאימה למערכת שלי?

ארכיטקטורת הקונטיינר של Linux תהיה זהה לארכיטקטורה של המכשיר שלכם. יש שתי דרכים לגלות מהו:

  • בכרטיסייה חדשה, עוברים אל chrome://settings/help/details ומסתכלים על הפלטפורמה. לאחר מכן, משווים את שם הלוח לרשימת המכשירים הציבורית שלנו. בודקים את השדה User ABI (ממשק בינארי ליישום) כדי לראות איזה סוג מעבד יש לכם.
  • פותחים את crosh ומריצים את הפקודה uname -m. הפעולה הזו תדפיס את הארכיטקטורה של המכשיר הנוכחי.

אם מופיע x86_64, תוכלו להריץ קוד שעבר קומפילציה עבור Intel/AMD (כל האפשרויות 32-bit/64-bit/x32 אמורות לפעול).

אם מופיע arm (או משהו דומה כמו armv7l) או aarch64, תוכלו להריץ קוד שעבר קומפילציה עבור ARM/ARM64.

אפשר להריץ ארכיטקטורות אחרות?

בשלב הזה אין תמיכה משולבת בהרצת קוד ARM במערכת Intel, או להפך. אפשר לטפל בזה בעצמכם (למשל באמצעות qemu-user), אבל אם אתם מכירים את qemu-user, אתם כבר יודעים את זה.

האם אפשר להריץ תוכניות שממשיכות לפעול אחרי שמתנתקים מהחשבון?

לא! כל המכונות הווירטואליות (והקונטיינרים שלהן) קשורות לסשן ההתחברות שלכם. ברגע שמתנתקים מהחשבון, כל התוכניות מושבתות או מופסקות.

כל הנתונים שלכם מאוחסנים בבית המוצפן שלכם, ולכן אנחנו לא רוצים שהם ידלפו כשאתם מתנתקים.

פרטים נוספים זמינים בסעיף אבטחה במסמכים הרשמיים של Chromium OS.

אפשר להגדיר הפעלה אוטומטית של תוכניות כשמתחברים לחשבון?

לא! צריך להפעיל מחדש באופן ידני את כל המכונות הווירטואליות (והקונטיינרים שלהן). כך אפשר למנוע ניצול לרעה מתמשך.

פרטים נוספים זמינים בסעיף אבטחה במסמכים הרשמיים של Chromium OS.

האם אפשר להפעיל תוכנות אוטומטית בזמן האתחול?

לא! לראות את השאלות הקודמות.

האם אפשר להגדיר משתני סביבה לקונטיינר?

בכיף. יש כמה דרכים לעשות את זה.

  • environment.d מאפשר להגדיר משתני סביבה עבור סשן systemd --user, כולל Terminal וכל אפליקציות ה-GUI. יכול להיות שתצטרכו מאגר תגים חדש יותר, Debian 10 “buster”, כדי להשתמש בשיטה הזו.
  • אם אתם רוצים להגדיר משתני סביבה רק בטרמינל, אתם יכולים להגדיר אותם בקובץ התצורה של המעטפת, כמו ~/.bashrc או ~/.zshrc.

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

האם יש תמיכה בכמה פרופילים?

לא, Terminal נתמך רק בפרופיל הראשי (*). המטרה שלנו היא לספק חוויה חלקה ופונקציונלית לחלוטין בפרופיל הראשי, ולא לגרום לקריסה או לבעיות בפרופילים משניים. אנחנו לא מתכננים להוסיף תכונות נוספות לפרופילים משניים.

אם אתם לא מכירים את התמיכה בריבוי פרופילים, כדאי לעיין במסמכי התיעוד הכלליים בנושא ריבוי פרופילים לפרטים נוספים.

‫(*): האפליקציה Terminal מושבתת בכל הפרופילים המשניים. אנשים יכולים להפעיל מכונות וירטואליות באופן ידני דרך crosh וקונטיינרים בתוכם, אבל יכול להיות שממשק המשתמש ואפליקציית הקבצים לא ישולבו באופן אוטומטי.

האם יש תמיכה בחשבונות של ילדים?

לא, אין תמיכה ב-Terminal בחשבונות של ילדים. אין לנו תוכניות להפוך את האפשרות הזו לזמינה בחשבונות כאלה.

אם אתם לא מכירים חשבונות שמיועדים לילדים, תוכלו לקרוא פרטים נוספים במאמר הכללי בנושא חשבונות שמיועדים לילדים.

האם המכונות הווירטואליות, המאגדים או הנתונים שלי מסונכרנים או מגובים?

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

איך אפשר לגבות מכונה וירטואלית?

הגישה הפשוטה ביותר היא להשתמש בפונקציונליות החדשה של הגיבוי שמוטמעת ב-ChromeOS עצמו. כדי לעשות זאת, עוברים אל 'הגדרות' ובוחרים באפשרות 'מפתחים' בתפריט הניווט הימני. אחר כך עוברים אל Linux. שם נמצאת האפשרות 'גיבוי ושחזור'. בתפריט הזה יש לחצן 'גיבוי' שמאפשר לשמור קובץ .tini.

אם רוצים לגבות מאגר תגים ספציפי, אפשר להשתמש בפקודות הרגילות של LXC.

אפשר להשתמש בפקודה vmc export כדי לייצא מכונה וירטואלית שלמה באופן ידני. כברירת מחדל, קובץ האימג' של הדיסק בפורמט qcow2 יישמר בתיקייה 'הורדות'. שימו לב: עדיין אין דרך לייבא מכונה וירטואלית, לכן האפשרות הזו שימושית רק לאבחון או לשימוש במערכת אחרת כדי לחלץ קבצים.

האם אפשר לגשת ישירות לקבצים של המכונה הווירטואלית או של הקונטיינר (למשל דרך אפליקציית הקבצים)?

נכון לעכשיו, אין דרך לגשת לקובצי התמונות שבהם נעשה שימוש במכונה וירטואלית. אין תוכניות לשנות את זה.

אם רוצים לגבות את הנתונים, צריך לעשות זאת באופן ידני.

למה השעה בתוך המכונה הווירטואלית או הקונטיינר לא מסונכרנת?

השעון בתוך המכונה הווירטואלית (ובאופן עקיף, גם בתוך הקונטיינרים) מסונכרן אוטומטית עם השעון של ChromeOS. לכן לא צריך להפעיל שירותים לניהול זמן (למשל ntp). השעון הזה מבוסס על UTC.

החל מגרסה 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 הוא רכיב שמתעדכן באופן אוטומטי.

חשוב לזכור שהמכונה הווירטואלית נפרדת מהקונטיינר.

איך בודקים את הגרסה של 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. אפשר לקרוא מידע נוסף בדף התמיכה בנושא תמיכה ב-IPv6 ב-ChromeOS.

האם יש לי גישה לרשתות שכבה 2?

לא, נכון לעכשיו הגישה לרשת היא רק בשכבה 3 (כלומר, IP). לכן לא תוכלו לבצע פעולות גישור או פעולות אחרות ברמה נמוכה יותר.

לא ברור אם ומתי זה ישתנה. קשה לגשר עם העולם החיצוני באמצעות Wi-Fi, ולא להרבה מכשירים יש חיבורי אתרנט. אנחנו יכולים לתמוך בשכבה 2 בין קונטיינרים, אבל לא ברור כמה אנשים רוצים את זה כדי להצדיק את המאמץ הנדרש.

האם VPN שהוגדר על ידי CrOS/Android (מחוץ למכונות הווירטואליות או למאגרי הקונטיינרים) פועל?

לא כרגע. אפשר לסמן בכוכב את https://crbug.com/834585 כדי לקבל עדכונים.

האם יש תמיכה בפלט אודיו?

כן, החל מגרסה R74 (גרסה 11707.0.0 ומעלה של Termina).

אם הגדרתם את מאגר התגים לפני הפריסה של תמיכה באודיו, יכול להיות שהוא לא מוגדר בצורה נכונה (כי ברירת המחדל לפני כן הייתה פלט למכשיר null). אפשר לנסות את השלבים הבאים כדי לשחזר את החשבון:

# 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

האם יש תמיכה בהקלטת אודיו (למשל מיקרופון)?

התמיכה הזו זמינה עכשיו בגרסה M84 של ChromeOS. כדי להפעיל את ההקלטה של האודיו, עוברים אל 'הגדרות' ובוחרים באפשרות 'מפתחים' בתפריט הניווט הימני. אחר כך עוברים אל Linux. האפשרות 'מתן הרשאה ל-Linux לגשת אל המיקרופון' תופיע בתפריט הזה.

האם יש לי גישה לחומרה (למשל USB/Bluetooth/יציאה טורית)?

עכשיו אפשר לשתף מכשירים מסוימים ב-ChromeOS באמצעות USB. כדי להפעיל גישה ל-USB, עוברים אל 'הגדרות' ובוחרים באפשרות 'מפתחים' בתפריט הניווט הימני. לאחר מכן עוברים אל Linux ואז אל USB preferences (העדפות USB). כאן אפשר להפעיל גישה ל-USB על בסיס כל מקרה לגופו.

הצוות שלנו עובד על פיתוח התחום הזה, ועם הזמן יתווספו מכשירים נוספים לרשימת המכשירים הנתמכים.

האם אפשר להריץ תוכניות Wayland?

כן, ואפילו מומלץ להשתמש בהם! ‫Chrome עצמו מתמודד עם לקוחות Wayland באופן אינטנסיבי, ולכן סביר יותר שהדברים 'פשוט יעבדו' אם תשדרגו.

Sommelier מספק את התמיכה הזו בצורה חלקה.

האם אפשר להריץ X תוכניות?

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

Sommelier אחראי להפעלת XWayland, הוא פועל כ-WM ומתרגם בקשות של X ו-Wayland בין Chrome לבין תוכניות X.

למה חלונות מסוימים קטנים מאוד או מטושטשים?

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

‫Chrome תומך במסכים עם DPI גבוה, אבל הרבה אפליקציות ל-Linux לא תומכות בהם. כשתוכנית לא תומכת כמו שצריך בהתאמת קנה מידה של DPI, התוצאות לא טובות.

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

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

אם משתמשים בהגדלה של כל המערכת או משנים את רזולוציית התצוגה שמוגדרת כברירת מחדל, אנחנו מנסים לשנות את קנה המידה של הפלט של האפליקציה בהתאם. התוצאה יכולה להיות טשטוש של התמונות. אפשר לשנות את הרזולוציה של התצוגה או לבצע שינויים באמצעות Sommelier (פרטים נוספים מופיעים למעלה). באפליקציות Linux שמוצגות במדף של מרכז האפליקציות צריכה להיות אפשרות להשתמש בצפיפות גבוהה או נמוכה. אם אתם מגלים שהרזולוציה לא פועלת כמו שרציתם, אתם יכולים ללחוץ לחיצה ימנית על הסמל כדי לעבור בין צפיפות גבוהה לצפיפות נמוכה.

האם תהיה סינרגיה?

Synergy לא יפעל (כלקוח או כשרת). היא דורשת ללכוד ולזייף קלטים (למשל, עכבר או מקלדת) לכל החלונות. מכיוון שאנחנו מבוססים על Wayland, באופן מובנה, לקוח אחד לא יכול לקבל גישה ללקוח אחר במערכת. זהו גבול אבטחה חזק בין לקוחות, כי אנחנו לא רוצים שקוד שפועל בתוך קונטיינר יוכל לפרוץ ולתקוף לקוחות אחרים (כמו הדפדפן) ולשלוח הקשות שרירותיות.

אין תוכניות להפעיל את סוג הבקרה הזה ממאגר התגים. זה לא אומר שפתרון כמו Synergy לעולם לא יקרה ב-ChromeOS (למשל, משהו כמו CRD), אלא שהפתרון לא יהיה Synergy או כלי אחר במאגר.

אפשר להריץ את Synergy, וכנראה שהוא יעביר אירועי קלט לחלון היחיד שבו הוא פועל, אבל זה הכי קרוב שתגיעו.

האם אפשר להריץ תוכניות של Windows?

בטח, כדאי לנסות את WINE. התאימות תלויה בעיקר ב-WINE, לכן לא נוכל לספק תמיכה.

האם אפשר להריץ תוכניות של macOS?

סביר להניח שלא. אפשר לנסות פתרונות שונים של Linux, אבל סביר להניח שהם לא יהיו מושלמים.

למה כדאי להטמיע את crosvm מאפס (במקום להשתמש ב-QEMU/kvmtool/וכו')?

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

פרטים נוספים זמינים בפרויקט crosvm.

האם מכונות וירטואליות מאטות את הכול?

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

פרטים נוספים זמינים בסעיף אבטחה במסמכים הרשמיים של Chromium OS.

למה כדאי להריץ קונטיינרים בתוך המכונה הווירטואלית? למה לא להריץ תוכנות ישירות במכונה הווירטואלית?

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

אנחנו משתמשים ב-dm-verity, שדורש שהתמונה של Termina תהיה לקריאה בלבד מטעמי אבטחה, אבל זה גם אומר שאנחנו יכולים לשתף אותה בבטחה בין מופעים של מכונות וירטואליות.

בנוסף, הגרסאות של התוכנות או הספריות שאנחנו שולחים הן לרוב חדשות יותר מאשר בהפצות אחרות (כי אנחנו מתבססים על Gentoo), והן עוברות קומפילציה עם דגלי אבטחה נוספים.

אם מאפשרים למשתמשים לבצע שינויים ב-VM, אי אפשר ליצור תמונה חסרת מצב שתמיד פועלת, ושחסינה מפני טעויות של משתמשים ומבאגים בתוכנות.

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

בנוסף, אנחנו אוהבים צבים.

האם יש טיפול ב-Foreshadow (שנקרא גם L1TF / CVE-2018-3646)?

כן. פרטים נוספים זמינים במסמכי התיעוד הציבוריים שלנו.

אפשר למחוק קונטיינרים שאני כבר לא רוצה?

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

האם אפשר למחוק מכונות וירטואליות שאני לא רוצה יותר?

בטח, אפשר למחוק מה שרוצים. אפשר להשתמש בפקודה vmc destroy כדי למחוק אותם באופן ידני.

אפשר להשבית את התכונות האלה?

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

בתחילה יש אפשרות 'Linux' בהגדרות הרגילות של ChromeOS, אבל התוכנית לטווח הארוך היא להסיר את האפשרות הזו כדי שהדברים יפעלו לפי דרישה. בשלב הזה, לא יהיה כפתור למכשירים לא מנוהלים.

האם אפשר להפעיל מערכת הפעלה אחרת כמו Windows,‏ macOS,‏ Linux,‏ *BSD וכו'?

לא, כרגע אפשר רק לאתחל את המכונה הווירטואלית של Linux בהתאמה אישית שנקראת Termina. כדאי לעיין גם בשאלות הבאות.

האם אפשר להריץ מכונה וירטואלית או ליבת מערכת משלי?

לא, בשלב הזה אפשר להפעיל רק את Termina, שמשתמשת בגרעין ובקובצי ההגדרות של Linux בהתאמה אישית. עדכונים נוספים בקרוב!

האם אפשר להריץ הפצת Linux אחרת?

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

יש לי (insert distro here), איך אפשר לקבל {GUI apps, launcher icons, etc…}?

קובצי ה-binary של Sommelier ו-Garcon מותקנים בכל קונטיינר, כך שאין צורך להתקין או לבצע קומפילציה חוצת פלטפורמות. יחידות systemd וקבצי ההגדרות מ-cros-container-guest-tools יפעילו את ה-daemon האלה בסשן משתמש של systemd. מומלץ גם להריץ את הפקודה loginctl enable-linger <user> כדי לאפשר להן להמשיך לפעול ברקע.

כמה מכונות וירטואליות אפשר להפעיל?

אתם יכולים ליצור כמה שתרצו, בהתאם ליכולות המערכת (מבחינת זיכרון RAM ומעבד). הן לא תלויות זו בזו.

כמה מאגרי תגים אפשר להפעיל?

אתם יכולים ליצור כמה שתרצו, בהתאם ליכולות המערכת (מבחינת זיכרון RAM ומעבד). כל מופע של מכונת VM יכול לארח כמה קונטיינרים.

אילו פורמטים של קונטיינרים נתמכים?

בשלב הזה, Termina תומכת ישירות רק ב-LXC. אנחנו מודעים ל-Kubernetes/Docker/OCI/rkt/וכו' ומקווים להפוך את כולם לקלים לשימוש.

בינתיים, אפשר לעיין בשאלה הקודמת כדי למצוא פתרון עקיף.