מעטפת גרפית ללינוקס
תקציר הפוסט
במערכות הפעלה מבית ווינדוס (של מיקרוסופט) או מק (של אפל), סביבת העבודה הגרפית הינה חלק בלתי נפרד מליבת מערכת ההפעלה, ה"קרנל" (kernel). בלינוקס אין זה כך. בפוסט זה נצלול למעמקי מערכות ההפעלה השונות, ונבין כיצד הן פועלות ומהיכן מגיע ההבדל.
ליבת מערכת ההפעלה
ליבת מערכת ההפעלה מתייחסת לכל מה שקורה מתחת למכסה המנוע של פעילות המחשב, למשל תהליכים שרצים ברקע, הקצאת זכרון לתהליך, הקצאת מעבד לתהליך, ועוד.
מהו תהליך?
תהליך הינו כל תוכנית שמריצים במחשב. מערכת ההפעלה מחליטה כמה זכרון ראם לתת לתהליך א’ וכמה זכרון ראם לתת לתהליך ב’. כמה כוח עיבוד לתת לתהליך ב’ וכמה כוח עיבוד לתת לתהליך ג’. וכן הלאה. להבנה טובה יותר בנושא והעמקה, פתחו נא את תוכנת "מנהל המשימות" שבמערכת ההפעלה חלונות, ובלינוקס פתחו את "צג המערכת". בחרו בלשונית "תהליכים", ונתחו את העמודות. העמודה הראשונה היא שם התהליך, והעמודות הלאה הן פירוט המשאבים שמוקצה לכל תהליך.
חווית משתמש
המושג סימביוזת אדם-מכונה, הינה מושג שמגדיר היטב את החלום של מפתחי המחשבים ומערכות ההפעלה בתחילת דרכם. לא הרי מחשב עם מערכת הפעלה טקסטואלית, שהרצת תוכנית בה נעשית על ידי הקלדת פקודה, כהרי מחשב עם מערכת הפעלה שיש בה אייקונים בצבעים שונים וסמן שעימו ניתן "ללחוץ" על אייקון ולפתוח תוכנה יפה וצבעונית.
ולכן, בעוד שאפל התחילה לפתח את מערכת ההפעלה שלה למחשב המקינטוש שהופיע בשנת 1984, שהייתה הראשונה שהציגה צבעים, היו יוניקס שהתחילו גם לפתח תצוגה גרפית, עם מערכת x11 שפותחה ויצאה לאור בשנת 1987. ואחרונה הייתה חלונות עם התצוגה הגרפית ב-Windows 3.0 שיצאה לאור בשנת 1990.
ולאט לאט מק וחלונות השתלטו על השוק הפרטי, ובהתאם לכך פיתחו מערכות הפעלה ידידותיות למשתמשים. הכוללות תצוגה גרפית מרשימה, חלוניות, אייקונים, וכמה שיותר נוחות וגרפיקה, וכמה שפחות צורך בגישה לשורת הפקודה. ובמקביל, בשוק התעשייתי דהיינו עולם השרתים לקחה לינוקס את החלק המשמעותי ביותר, עם כמה שפחות תצוגה גרפית, וכמה שיותר עבודה עם שורת הפקודה.
הסיבה ששרתים משתמשים עם שורת הפקודה ולא עם תצוגה גרפית נובעת מביצועים. ביצוע תהליך ללא תצוגה גרפית הוא מהיר ויעיל משמעותית. בעוד שלמשתמש הפרטי והביתי זה לא ממש משנה, לשרתים זה ממש קריטי.
אז מתי התחילה המעטפת הגרפית בלינוקס?
כאמור, יוניקס פיתחה את מערכת החלונות x11 בשנת 1987, ובמקביל מערכות לינוקס אימצו את מערכת זו ששוחררה בקוד פתוח וכתוכנה חופשית.
ואיך היא מול ווינדוס ומק?
אז כאן מגיע באמת השינוי וההבדל בין ווינדוס ומק לבין לינוקס. בווינדוס, ביל גייטס רצה שכל תוכניות מערכת ההפעלה כמו למשל סרוויסים, משימות מתוזמנות, תהליכים, ניהול דיסקים, כרטיסי רשת, מנהלי התקנים (דרייברים), יומני המערכת, וכל כיוצא בזה הכול מכל כול יהיו זמינים בתצוגה גרפית מרשימה. והוא אכן הצליח בזה. לכל אחד מהתוכניות של מערכת ההפעלה שהזכרתי לעיל יש תוכנה גרפית שבאמצעותה ניתן לנהל את הדיסקים, את המשתמשים, את קבוצות המשתמשים, את יומני המערכת, וסרוויסים. עד כדי כך הוא השקיע שאפילו שרתי ווינדוס גם כן עובדים עם תצוגה גרפית. יש את ה’דשבורד’ של הסרוור, והוא משמש כעין שער לכל התוכניות והשירותים של הסרוור.
ובנוגע למק, סטיב ג’ובס (מייסד אפל יחד עם סטיב ווזניאק) שאף לשלמות עד פרפקציוניסטיות בחווית המשתמש. יעידו על כך כל משתמשי המק למיניהם. חוויית המשתמש בהם היא יוצאת מגדר הרגיל. אבל יחד עם זאת – אליה וקוץ בה. באותה מידה שג’ובס היה פרפקציוניסט ושאף לשלוט לחלוטין בחוויית המשתמש, הוא גם לא הסכים להפריד בין החומרה לבין התוכנה, הוא לא יכל לסבול את הרעיון שהמערכת שלו תימכר ותותקן על חומרה שהוא לא בנה. ולהפך.
תכל’ס, בווינדוס המהות של התצוגה הגרפית היא כדי להביא למשתמש את כל מה שקורה מתחת למכסה המנוע של המערכת לפניו בתצוגה ויזואלית וגרפית.
לעומת זאת בלינוקס – המצב ממש לא כך. ה’קרנל’ שהיא ליבת מערכת ההפעלה היא כוללת את כל תוכניות מערכת ההפעלה כמו למשל ניהול משתמשים וקבוצות משתמשים, ניהול דיסקים וכל השאר. לאחר שהליבה מוכנה לשימוש כל אחד יכול להוסיף מעטפת גרפית, איך שהוא רוצה וכמה שהוא רוצה ובאיזה רמה שהוא רוצה.
וכאן קמו כמה ארגונים ועשו פרויקטים ליצירת מעטפת מודרנית-גרפית ללינוקס. המוכרות והידועות הן gnome, ו-kde. הן בנו כעין סביבות שולחן עבודה גרפיות, כך שלא יהיה צורך בגישה אל שורת הפקודה.
ולאחר שיש לנו שני דברים, את הליבה מצד אחד ואת מעטפת הגרפית מצד שני, קמו להן עוד ארגונים, והן צירפו את המעטפת של gnome או של kde – כל אחד מה שהוא רצה – על הליבה של מערכת ההפעלה. התוצאה של השילוב נקראת "הפצת לינוקס".
דוגמאות להפצות פופולאריות:
Fedora
Ubuntu
Linux Mint
Kubuntu
יש ארגונים שמפתחים כמה וכמה הפצות, בחלק מההפצות הם מיישמים את מעטפת gnome ובחלקן את מעטפת kde. דוגמא לכך ניתן לציין כי ארגון canonical מפתח הפצה עם מעטפת gnome, וזוהי הפצת ubuntu, ולצד זה הוא מפתח את הפצת kubuntu שבנויה עם מעטפת kde.
לסיכום:
מערכות הפעלה מבית מיקרוסופט (להוציא את Windows Server 2008 ומעלה) ואפל הינן חלק בלתי נפרד מהליבה של המערכת. לא ניתן "להוציא" את התצוגה הגרפית המקורית ולהתקין מעטפת גרפית אחרת.
לעומת זאת, מערכת ההפעלה לינוקס (וכאמור גם Windows Server 2008 ומעלה) מתייחדת בכך שהליבה היא עצמאית, ואינה תלויה בתצוגה גרפית כל שהיא. הדבר נותן לה יתרון בשני מישורים עיקריים:
במישור התעשייתי, ביצועם מיטביים עבור שרתים שמבוססים על מערכות הפעלה טקסטואליות.
במישור הפרטי, יכולת בחירה בין תצוגות ופריסות גרפיות רבות, וכך להגיע להתאמה אישית רבה יותר.