כמה מילים על הגדרת מסכים בלינוקס, פדורה 18, וכאב ראש גדול

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

וכמו תמיד, שאתה אומר משפט כזה, מרפי מגיע לביקור. הורדתי את ה-ISO, שמתי על כרטיס SD ו… טראח, ההתקנה לא עובדת, הוא לא מצליח להפעיל שרות Plymoth והוא לא מוצא dev/root/ – באמת… תקלות שטותיות, רק לחפש את חבילת האקמול הקרובה אליך…

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

מאז שלינוקס נוצר כהפצה (בערך ב-93-94) ועד בערך התחלת שנות ה-2000 (בסביבות 2004-2006), לינוקס היה דבר לא קל להתקנה. רוצה להתקין כרטיס קול? חפש מה ה-DMA וה-IRQ ותוודא שאין לך התנגשות. רוצה להגדיר גרפיקה? תצטרך להכיר את הקובץ המקולל x11.conf, לוודא שיש דרייבר לכרטיס מסך שלך, לוודא שהדרייבר בכלל תומך בכרטיס מסך שלך וזו רק ההתחלה. אתה רוצה גם שהמסך שלך יציג את התמונה ב-Refresh Rate גבוה? חבוב, תתחיל להכיר את השורה המקוללת שמתחילה ב-Mode Line. קח, תתחיל לקרוא.

עם הזמן, הפצות הלינוקס השונות החלו להקל את החיים של המשתמשים בכל הקשור להתקנת לינוקס על המחשב. עדיין היית צריך לדאוג לדיסק קשיח נוסף או להשתמש בתוכנות צד ג' כדי לפנות לך מקום בדיסק, ליצור Partitions וכו', אבל החיים היו קצת יותר קלים. הפצת הלינוקס הראשונה שהציעה התקנה גרפית היתה של חברת Caldera ז"ל (מי זוכר אותם?) והיא עשתה כמעט הכל. שאלה אותך על כמה הגדרות וזהו… 20 דקות של התקנה שאתה לא עושה כלום, אז ההתקנה נותנת לך .. לשחק טטריס! אני רציני!

נחזור ל-2013. כיום, התקנות לינוקס כמו של פדורה, אובונטו או SuSE היא משחק ילדים וברוב המקרים היא יותר קלה מהתקנה של Windows. תאמר לתוכנה מה הסיסמא שאתה רוצה לקבוע כ-root, תבחר דיסק שאליו ההפצה תותקן, בחר תאריך וזמן ויאללה, התוכנה כבר מתקינה את עצמה. (הפעם אין טטריס. חבל). אחרי שהיא מסיימת אתה מפעיל את המחשב מחדש ו.. אם לא נוצר הפאק של אובונטו עם GRUB, אתה אמור לקבל מסך בחירה בין לינוקס ל-Windows, בחר לינוקס, ואחרי מספר רגעים תכניס שם משתמש וסיסמא – ואתה בתוך סביבה גרפית. תתחיל לעבוד.

מבחינת תמיכה בציוד, גם פה לינוקס עושה את החיים יותר קלים מ-Windows. אין שום CD להכניס כדי להתקין דרייברים, אין לך שרות כמו Windows Update שמחליט להתקין לך איזה דרייבר סופר-בסיסי וחפש אחר כך את הדרייבר המלא לבד (אהלן nVidia!), ובאופן עקרוני אם תחבר סורק, מצלמה, מדפסת, מיקרופון, אוזניות וכו' – אם גירסת הלינוקס שלך מעודכנת, הוא יכיר אותם ישר ויגדיר אוטומטית את המערכת. כל מה שנשאר לך לעשות זה להתקין את אחת מהתוכנות שתרצה כדי להשתמש בציוד. כנ"ל לגבי מסכים – פשוט תחבר, המערכת כבר תכיר לבד ותגדיר את עצמה, לך ישאר להגדיר אם המסך הנוסף הוא מימין, משמאל, מלמעלה או מלמטה וגם לזה יש ממשק גרפי פשוט.

נחזור עכשיו אליי. לי יש על השולחן 2 מסכים. מסך 24 אינטש של סמסונג ומסך 27 אינטש IPS שנקנה דרך EBAY במחיר של 330 דולר. איך הלינוקס מכיר את המסכים? דרך טכנולוגיה שנקראת EDID או Extended Display Identification Data. מה שהטכנולוגיה הזו עושה די פשוט: היא פונה למסך ומבקשת ממנו שיתן פרטים על עצמו: שם יצרן, דגם, מהם הרזולוציות שהוא תומך בהם ואלו מהירויות רענון מסך הוא מציג, כמו כן מהו החיבור שדרכו הוא מחובר למחשב. המערכת אוספת את הנתונים ועל פיהם היא מציגה אוטומטית את התמונה הטובה ביותר שהמסך יכול לתת וכל זאת בלי להגדיר שום דבר. 

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

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

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

מה עושים? לאחר 4 שעות של חיפושים והצלחות חלקיות, מצאתי פתרון: לוקחים מה שהמסך מוציא, יוצרים Checksum חדש, משחילים אותו דרך Hex Editor ואז מגדירים בקובץ xorg.conf שמסך ספציפי מסוים יהיה בעל קובץ EDID עצמאי, נוותר על שרותי הקריאה של הסרבר הגרפי (X). לקח לי עוד חצי שעה להבין את הקטע של הספציפי אחרי שראיתי שמסך הסמסונג מציג גרפיקה עם המון רעשים — אבל בסוף נפל האסימון וכרגע אני כותב את הפוסט מתוך הפדורה 18.

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

אחרי הטראומה של ממשק ההתקנה ולאחר שהתקנתי את המערכת, שרפתי כמה שעות על הגדרת המסכים, הוספת פונטים, ועוד 1001 Repositories למיניהם, המצב נראה נהדר (פרסומת עצמית בלי בושה: רואים מה זה פרילאנסר סיסטם לינוקס שלא מתייאש? 🙂 ). כמובן שזו פדורה, ומה שעכשיו נמצא בפדורה יופיע בגירסה הבאה של RHEL/CENTOS/SL או אחריה, וגם הפעם ישנם המון שינויים מהותיים, כמו חומת האש, ועוד דברים נוספים שהתווספו ושונו. הרשימה כאן. אגב, אנשי הסיסטם מביניכם שמנהלים מערכות מיקרוסופט – פדורה היא ההפצה הראשונה שנותנת לכם להקים AD ולנהל אותו/להשתתף בו בקלות מרשימה ללא צורך בספריות צד שלישי.

לסיכום: הייתי שמח אם ממשק ה-Installer היה משתנה (מדוע עדיין לא הופכים אותו לסביבה וובית?), אך גם ללא זאת פדורה עדיין מציעה סביבות נוחות (KDE, GNOME וכו') עם קהילה גדולה ואת חזית הטכנולוגיה והמילה האחרונה בסביבה ידידותית. שאפו לפדורה.

יוצאים משביתה, ונכנסים לשביתה

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

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

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

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

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

עד אז אנחנו נמשיך לסבול את השגעונות של אותו ועד, נמשיך לסבול עם רכבות וקרונות שלא מתוחזקים כראוי ומתאימים ללפני 20 שנה (מדוע אין יותר מ-2 שקעי חשמל בכל קרון? הרי לא מדובר כאן בהפעלת מכונת כביסה או מקרר ע"י הנוסעים!), עד שמישהו שם למעלה יתעורר.

טיפ: Shell דרך ה-Web

כל פרילאנסר (שמכיר Linux), כל איש לינוקס (במיוחד אנשי סיסטם) מכיר את הסיטואציה הבאה: אתה נמצא לך אי-שם מתעסק בעניינך הפרטיים, כשלפתע לקוח מתקשר בהיסטריה: "האתר נפל!", "האפליקציה לא עובדת!", "תציל אותי מיד!".

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

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

בקיצור, מצב בעייתי. לא קורה הרבה, אבל כשזה קורה, מזיעים המון.

לאלו שלא מכירים, אני מעוניין להציג אפליקציית web נחמדה ושמה: Shell In a Box. מה שהאפליקציה הזו עושה זה משהו פשוט מאוד: מדמה טרמינל לינוקס (xterm ליתר דיוק), ומאפשרת לך להתחבר דרך ה-web לשרת שלך. אתה נכנס לכתובת ומקבל פרצוף מוכר: Login prompt. האמולציה עצמה היא אמולציה מעולה, כולל תמיכה בדברים כמו CTRL Z, CTRL C ועוד, יש לה תמיכה לחיצים, אפשר לערוך איתה קבצים מבלי לשבור את האצבעות בקיצורי דרך שהיו ב-Solaris, ומנסיון שלי איתה, פשוט כיף לעבוד איתה.

האפליקציה עצמה פותחת פורט 4200, ומאפשרת חיבור דרך http רגיל ו-https עם תעודת SSL (אם יש לכם). היא כוללת אפשרויות רבות (שאפשר לראותם כאן), כולל תמיכה בפורטים אחרים, תמיכה וביטול ביפ (אודיו ו-ויזואל). האפליקציה רצה כ-Daemon, אך אפשר להריץ אותה ב-CGI ש"ימות" בתום שימוש לדוגמא. דבר חביב על אוהבי אבטחה.

שיחקתי עם האפליקציה ותיקנתי בה מס' תיקונים פשוטים, כך שהיא יכולה לרוץ על פדורה 15 וגם על סנטוס 5.6.  לאלו המעוניים לרוץ ולהתקין, כאן נמצא קובץ ההתקנה עבור פדורה 15, כאן עבור CentOS וכאן יש קובץ ה-SRPM לאלו שמעוניינים לקמפל וליצור חבילות חדשות להפצות כמו SuSE ואחרות (לחובבי האובונטו, דביאן – זה נמצא ב-repository שלכם. אגב, הקרדיט לקובץ SPEC לא מגיע לי אלא לבחור ששם את זה כאן).

מטבע הדברים, פורט 4200 הוא לא בדיוק פורט סטנדרטי ובחברות רבות לא תוכלו לגשת לשרת ולפורט הזה. מה עוד שפורט נוסף פתוח הוא לא בדיוק דבר נחמד וטוב מבחינת אבטחה. לשם כך, נשתמש במודול Proxy של אפאצ'י, כדי שאפאצ'י ישמש כפרוקסי לאפליקציית Web, כך שדרך פורט 80 (או 443 אם אתם משתמשים ב-https) נוכל לגשת ל-Shell.

רק מה, אם נפתח את ה-Shell לגישה לעולם, גוגל מהר מאוד יסרוק את המחיצה, וסקריפטים עולצים קופצים ינסו להיכנס דרך הכניסה הזו. לשם כך נוסיף שכבת אבטחה מינימלית של אפאצ'י, מה שנקרא Auth Basic שתבקש מאיתנו שם משתמש וסיסמא לפני שבכלל נקבל את הדף לעשות Login.

אז ראשית ניצור קובץ conf לאפאצ'י. בפדורה/סנטוס מכניסים את הקובץ בתוך תיקיית etc/httpd/conf.d/ ונקרא לזה shl.conf

ומה יהיה לנו בקובץ shl.conf? הגדרות של הפרוקסי ושל אותנטיקציה בסיסית. מכיוון שוורדפרס לא אוהב כל כך שורות טקסט של קונפיגורציה, שמתי את הדברים ב-Pastebin לעיונכם כאן. ה-RAW (החלק התחתון בדף בקישור) הוא הקובץ האקטואלי שאתם יכולים להעתיק לתוך shl.conf

עכשיו יש צורך ליצור קובץ htpasswd. (עם הנקודה). לשם כך ניכנס לאותה תיקיה ששם ימצא הקובץ שלנו (שימו לב שהמיקום אמור להיות בתוך שורה 5 כפי שניתן לראות בקישור), ונכתוב את הפקודה:

htpasswd -c .htpasswd myuser (כאשר ה-myuser הוא שם המשתמש שתבחרו). התוכנה תשאל אתכם לסיסמא ותבקש אותה שוב לוידוא (כדאי לשים סיסמא חזקה, לא משהו שכל אחד יכול לנחש).

עתה, לאחר שהתקנתם את ה-RPM וכתבתם קובץ זה, יש צורך לאמר ל-Apache לטעון את הקונפיגורציה מחדש. אין צורך לאתחל מחדש את שרת האפאצ'י. שורת service httpd reload תספיק.

עתה פיתחו דפדפן, הכניסו את כתובת האתר שלכם עם תוספת shell/ לדוגמא: http://mysite.com/shell ואם הכל תקין, המערכת תבקש ממכם שם משתמש וסיסמא שהכנסתם מקודם. אם השלב הזה עבר, אתם תקבלו סמן שובב מקפץ (אם הסמן האדום חלול, אז ה-TAB אינו בפוקוס. לחצו על הדף עם העכבר). הכניסו שם משתמש וסיסמא (לא מומלץ root!), ואם הכל תקין, תקבלו shell רגיל להנאתכם.

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

תהנו.

לפני שתרכוש IPhone 3G

iphone3g בעבר כתבתי פוסט ותמהתי לגבי עניין ריבוי המשימות ש-Apple מימשו (או ליתר דיוק: לא מימשו) ב-IPhone. עתה מגיעה בשורה הרבה יותר גרועה. אלו החושבים לרכוש לעצמם את הצעצוע הנ”ל בגירסה דור 3, כדאי שיחשבו על כך מחדש, או ימתינו קמעה.

מסתבר כי מס’ מפעילים בחו”ל (מפעילים במובן של Carriers כמו אורנג’, T-Mobile ואחרים) מתלוננים לאפל כי ה-IPhone 3G עושה צרות רבות בעניין של קליטה, קבלת ושליחת שיחות ואף בגלישה סלולרית בדור 3. חברת AT&T בארה”ב לא מודה בכך, אולם חברות בהולנד, בריטניה ואחרות בהחלט מתלוננות על כך ל-Apple.

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

המגזין השוודי Ny Teknik פירסם מאמר שבו מצהירים מהנדסים שבדקו את ה-IPhone 3G כי המכשיר משדר במס’ דציבלים נמוך מהסטנדרט הרשמי, מה שכמובן גורם לכך ששיחות מתנתקות או שלא ניתן להשיג את בעל המכשיר או שלא ניתן ליזום שיחות ו/או חיבור נתונים בדור שלישי. במידה והדברים נכונים, אפל תהיה בצרות הואיל ותקלה כזו כמעט בלתי אפשרי לתקן עם הוצאת קושחה מתוקנת אלא אך ורק בהחלפת לוח, ולוגיסטיקה כזו, במיוחד שמדובר על מס’ מדינות ומיליוני מכשירים – עולה סכומי עתק. בשלב זה המפעילים מקווים ש-אפל יעשו נס וישחררו גירסת קושחה חדשה שתפתור את הבעיה וכך לא תהיה עלות עצומה (אפשר לשדרג קושחה דרך iTunes).

מצד שני, יש אנליסטים שממהרים להאשים גורם אחר לתקלה ולאותו גורם קוראים Infineon שמייצרים את הצ’יפ לתקשורת דור 3 עבור ה-IPhone 3G. לטענת אותם אנליסטים, הצ’יפ שיש ב-IPhone הוא צ’יפ חדש וסובל ממחלות ילדות, ולכן יש את הבעיה הנ”ל.

מה מומלץ בשלב זה? לא לרכוש כרגע את ה-IPhone 3G. להמתין עד שהתקלה תתוקן. ימים יגידו אם אפל תצטרך לעשות מבצע Recall ענק או שיעשו את הלא יאומן ויתקנו את העניין בתוכנה.

עדכון (15/8/08): מסתבר שהבעיה באמת בצ'יפ של Infineon. החדשות הטובות הן ש-אפל מכינים עדכון קושחה לטפל בבעיה. נקווה שזה יעזור.