מקשי מולטימדיה בלינוקס

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

כיום אני מנסה לפתור משהו פשוט: אני רוצה שכאשר אני לוחץ על Fn+F5 יקפוץ לי המרכז בקרה של מנדריבה ואני אוכל להגדיר שם רשתות (האייקון במגש המערכת לא תמיד עובד, לא מבין למה) וכאשר אני לוחץ על המקש של lenovo-care (מן חארטה כזה כתום ליד הכפתורים של השמע) "יקרה משהו".

אחרי טיפה מחקר (שעה, אולי שעתיים…) התברר שרק צריך לערוך את הקובץ ‏‎/usr/share/hal/fdi/information/10freedesktop/30-keymap-lenovo.fdi ושם להוסיף שתי שורות (תבינו לבד איפה):

          <append key="input.keymap.data" type="strlist">e034:homepage</append> <!-- Lenovo care, homepage -->
          <append key="input.keymap.data" type="strlist">e041:switchvideomode</append> <!-- Fn+F7 video -->

שזה בגדול אומר "כשהקרנל מקבל לחיצה על מקש שמשחרר את הקוד e034, זה שקול בעצם למקש "לך הביתה" שמצידו X ממפה בתור XF86HomePage, ובתורו אנשי מנדריבה כבר תפרו במרכז הבקרה שיפעיל את Konqueror. כדי לשנות את זה ל־Firefox, פותחים את מרכז הבקרה של KDE3, הולכים ל־Regional & accesability ושם בוחרים ב־Input actions. את הפקודה המדוברת נמצא בתוך Mentor Office Wireless Keyboard תחת השם Internet browser.

input-actions.png

הגדרות מקשי קיצור של KDE3

באותה הזדמנות, נשנה את הפקודה Home שתפעיל את D3lphin במקום את Konqueror. בצורה דומה, אפשר לתפור את FnF7 למה שרוצים. אצלי זה עדיין לא ממופה לכלום, כי אין לי צורך במקש הזה עדיין.

עכשיו הבעייה הקשה, המקש של FnF5 מסודר כבר בקובץ:

          <append key="input.keymap.data" type="strlist">e016:wlan</append> <!-- Fn+F5 wireless, wlan -->

ואני שיניתי אותו לשורה הבאה, שגורמת ל־Xorg לראות את המקש XF86Music. אני לא מבין

           <append key="input.keymap.data" type="strlist">e016:config</append> <!-- Fn+F5 wireless, wlan -->

כעת אפשר למפות את מקש כמו שכבר הסברתי.

סיכום קצר של המקשים שמסודרים אצלי במחשב:

  • alt+control+t: מפעיל מסוף konsole
  • windows+F10: מגדיל או מקטין חלון (זה נעשה בחלק אחר של מרכז הבקרה תחטטו ותמצאו)
  • windows+e: מפעיל את Dolphin (זה מקש שמגיע ממנדריבה, ואני התאמתי אישית)
  • FnF5: מפעיל את draknetcenter
  • FnF4: מעביר את המחשב למצב המתנה (suspend to ram) .מקש זה עובד מהקופסא בכל ההפצות שבדקתי.
  • FnF12: מעביר את המחשב למצב שינה (suspend to disk). מקש זה עובד מהקופסא בכל ההפצות שבדקתי.
  • מקשי המולטמדיה הרגילים: mute, volume up/down, play/pause, next, prev, stop ו־Amarok עובד איתם מהקופסא

כמה טריקים:

  • איך אני יודע איזה מקשי XF86 זמינים במחשב? (אני חולה על דברים כאלו ארוכים ב־bash!)
cat /usr/share/X11/xkb/symbols/inet  | grep XF86 | awk '{print $5 }' | sort | uniq
Share

עדכון של פירפוקס באובונטו 8.10

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

root@afrodita:/var/backups# aptitude dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
The following packages will be upgraded:
firefox firefox-3.0 firefox-3.0-branding firefox-3.0-gnome-support
firefox-gnome-support gnome-cards-data gnome-games gnome-games-data
gnome-settings-daemon xulrunner-1.9 xulrunner-1.9-gnome-support
11 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 25.9MB of archives. After unpacking 45.1kB will be used.

Share

עדכון של פירפוקס במנדריבה 2008.1

היום אני מדליק את המחשב ואני רואה את האייקון האדום למטה, שאומר שיש עדכונים. יש 11 חבילות לעדכון, דברים כמו gnome-python-extras וגם דברים שקשורים ל־totem. בגדול, גרסה חדשה של פיירפוקס וצריך לעדכן מלא חבילות. זה מרמז לי שיש משהו דפוק בשיטת אריזה של פיירפוקס… וזה לא תלוי במנדריבה כי ראיתי דברים כאלו גם במערכות רד־האט. הבנתי שדברים נפתרו במעבר לפיירפוקס 3, ואז הפצות כבר אורזות באופן עצמאי חבילות כמו xul-runner וכו'. אני מקווה שזה יפתר במנדריבה 2009.1 (אני לא משדרג ל־2009.0 נכון לעכשיו).

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


[root@pinky ~]# rpm -qa | grep mozilla | sort ; du -hs /usr/lib/firefox-2.0.0.*/
libmozilla-firefox2.0.0.13-2.0.0.13-1mdv2008.1
libmozilla-firefox2.0.0.14-2.0.0.14-3.1mdv2008.1
libmozilla-firefox2.0.0.15-2.0.0.15-1.1mdv2008.1
libmozilla-firefox2.0.0.16-2.0.0.16-1.1mdv2008.1
libmozilla-firefox2.0.0.17-2.0.0.17-1.1mdv2008.1
libmozilla-firefox2.0.0.18-2.0.0.18-1.1mdv2008.1
mozilla-firefox-2.0.0.18-1.1mdv2008.1
mozilla-firefox-en_GB-2.0.0.18-1.1mdv2008.1
mozilla-firefox-theme-gnome-2.0.0-7.3mdv2008.1
mozilla-firefox-theme-kdeff-0.4-7.3mdv2008.1
totem-mozilla-gstreamer-2.22.0-4.5mdv2008.1
29M /usr/lib/firefox-2.0.0.13/
29M /usr/lib/firefox-2.0.0.14/
29M /usr/lib/firefox-2.0.0.15/
29M /usr/lib/firefox-2.0.0.16/
29M /usr/lib/firefox-2.0.0.17/
31M /usr/lib/firefox-2.0.0.18/

Share

חזרתה לחיים של כרמל

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

מאיר הודיע שהוא החיה את הפרוייקט שוב דבר שמאד משמח אותי. האתר החדש של כרמל נמצא בכתובת http://carmel.whatsup.org.il

בהזדמנות זו אני רוצה להזכיר עוד כלי חשוב (שמצאתי בפורומים של אובונטו ישראל, אך אני לא יכול לקשר לפוסט המדובר כי הפורום הזה לא פתוח למשתמשים לא רשומים). האתר הזה מאפשר לי לראות איך מילה מסויימת תורגמה בשאר הפרוייקטים (גנום, אופן־אופיס, מוזילה וכו'). מאוד מומלץ: http://en.he.open-tran.eu

Share

מחזור חיים של פיתוח תוכנה חופשית

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

נתחיל ממצב פשוט, אנשים מתחילים לכתוב קוד, וביום מסויים מחליטים שהקוד שלהם מספיק טוב כדי לשחרר אותו בתור … נניח KDE 4.0.0. עכשיו יש שני רצונות סותרים: רוצים להמשיך את הפיתוח (ולקרוא לזה KDE 4.1 כשהקוד יהיה מספיק בשל) ומצד שני צריך לתקן את הבעיות שהמשתמשים גילו בשטח מבלי לגעת יותר מדי. באופן תיאורתי אנחנו יכולים לפתח באופן לינארי ולהוסיף תכונות חדשות וגם לתקן באגים. במציאות, זה יהיה אסון כי הקוד החדש שנכתב יכיל באגים חדשים. לכן יש צורך לשחרר את הקוד הישן, עם תיקונים נקודתיים.

מה שעושים זה מפצלים את הפיתוח לשני ענפים: מעתיקים את הקוד של ענף הפיתוח הראשי לספרייה חדשה בשם KDE_4_0. כאשר משתמשים מגלים באג ב־KDE 4.0.0, אנחנו מתקנים את השורה הספציפית ששבורה בענף התחזוקה של KDE_4_0 ואם הבאג עוד "עובד" בענף הפיתוח מתקנים שם. אכן יש בעייה קטנה, שאת התיקון צריך לעשות פעמיים (בענף הפיתוח וענף התחזוקה), אבל יש כלים אוטומטים לזה (זה אחד הדברים הנפלאים ב־git וזאת אחת הסיבות שחושבים לעבור מ־svn אל git ב־KDE).

kdemh2.png

לענף הפיתוח קוראים ביידיש trunk, ולענף התחזוקה קוראים branch. במציאות לפעמים יהיו כמה branch־ים, למשל כרגע יש ענף תחזוקה של KDE 4.1 ותיאורתית יש גם ענף תחזוקה של 3.5 KDE (שיהפוך ל־3.5.11 אם ישוחרר). באופן עקרוני יש גם ענפי פיתוח של KDE_1_1, KDE_2_2 ועוד, אבל הסיכוי שמישהו יכתוב לשם כדי לשחרר גרסה חדשה מהענפים האלו די נמוכה ולכן הם לא ממש מעניינים.

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

עריכה: תודה לרם על התמונה הטובה יותר… למעט העובדה ש־KDE 4.2 תשוחרר "מתישהו בינואר" ומשם מה בלוגלי החליט לשים לה רקע שחור במקום לבן (כשתלחצו על הקישור תקבלו תמונה עם רקע לבן).

Share

בעיות תרגום באובונטו

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

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

  • ליישום adept אין תרגום כלל. למרות שזהו כלי שאמור לעזור להמון הפצות, אפילו למפתח שלו אין מושג איפה התרגום נמצא. הוא משתמש ב־Luanchpad הוא לא יודע, או לא יכול לעזור. לי אין אפשרות לבדוק את התרגום ולצוותים אחרים אין אפשרות לתרגם את התוכנה ולכן כולם מפסידים. הינה אלברט (אחראי התרגום של KDE) מדבר על זה: http://lists.kde.org/?l=kde-i18n-doc&m=122462773525158&w=2
  • הצוות הגרמני נתקל בהרבה בעיות בשיחרור של Dapper Drake ושלחו הרבה באגים למערכת בתקווה שבעיות התרגום לגרמנית בהפצות הללו ייפתרו. הוא דיבר עם המתרגמים הגרמנים של אובונטו ופתרו את כל הבעיות שיש באובונטו באופן ידני. לקראת Intrepid Ibex הבעיות גדלו יותר והצוות החליט לא לעבוד כלל בתיאום עם אובונטו. הינה ג'אניק מדבר על זה: http://lists.kde.org/?l=kde-i18n-doc&m=122469535907107&w=2
  • הצוות הנורבגי מתלונן שהרמה של התרגומים של כמה יישומים כל כך נמוכה שזה גורם למערכת להיות לא שמישה: רק כמה מחרוזות בודדות מכל יישום מתורגמות והשאר באנגלית. וזה עוד כאשר שני הדיאלקטים של נורבגית (בומל, נינורסק) מתורגמים ברמה של מעל 90% בפרוייקט האב (ב־KDE עצמו). הוא גם מתלונן שהוא משתמש ב־Launchpad עבור כמה פרוייקטים (במקום SourceForge, GoogleCode או אחרים) והוא לא מרוצה מההתנהגות של רוזטה. הינה העדויות שלו: http://lists.kde.org/?l=kde-i18n-doc&m=122475382126130&w=2
  • ויש גם בעיות אצלנו. למשל, מוזילה באובונטו היו להם באג מעצבן שנגרם בגלל תרגום לקוי במערכת של רוזטה. המחרוזת הייתה מתורגמת טוב במקור, אבל מישהו באובונטו תרגום מחדש והרבה. הינה ההסבר של תומר (המתרגם של מוזילה ישראל) מסביר מה קורה: http://whatsup.co.il/forum/46082 במיוחד מומלת לקרא את הבאג הבא כדי להבין את ההחלטה של אנשי מוזילה בנושא: https://bugzilla.mozilla.org/show_bug.cgi?id=157607
  • שוב, יש תרגומים מחדש של אנשי אובונטו או לפחות פורק לא חכם של התרגום. כשתנסו לשמור קובץ פעמיים באותו השם (בבאג שאני אקשר מדברים על evince אבל אתם תראו את הבאג בכל יישום של gtk למשל ב־gedit) תקבלו הודעה מבלבלת שהתרגום שלה לעברית לקוי. החלון יגיד לכם שהקובץ כבר קיים, וישאל אם אתם רוצים להחליף את הקובץ בדיסק בקובץ החדש.
    במקור באנגלית כתוב: replace ואילו בעברית זה תורגם בתור "שנה שם" ולא "החלף" . זה יכול לגרום למשתמש לאבד מידע ולכן זה באג חמור. הבאג פורסם באובונטו באפריל 2007, ביוני זה תוקן עבור שתי הפצות (Fesity ו־dapper) אבל לאחרונה מישהו דיווח שזה חזר בהפצה האחרונה של אובונטו. כמו כן, יניב מספר בבאג שזה תוקן בגנום… משמע, לאובונטו יש מנגנון שלא מייבא נכון תרגומים מפרוייק האב, ולכן אם יש תיקונים חדשים שם לא מובטח שתקבלו אותם. הבאג במדובר הוא (אל תנסו לבדוק את התרגום, מארק כבר תיקן אותו עוד פעם…): https://bugs.launchpad.net/ubuntu/+source/language-pack-gnome-he/+bug/107269

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

בפוסט הבא אני אנסה לתאר את הבעיות שיש לתרגום של KDE4.1 באובונטו, ואני אסביר את מצב התרגום של KDE ישראל במשפחה של 4.1.

Share