כיצד להפעיל יישומים של 32 סיביות ב- Linux 64-bit
ברוב הפצות לינוקס יש גירסאות 64 סיביות עבור מעבדי x86_64, כגון AMD Athlon II או Intel Xeon. מאז הפצות אלה לשמור על מאגרי החבילה שלהם, הם בדרך כלל מספקים חבילות בינאריות עבור כל היישומים הנתמכים שלהם. אם אתה לגמרי מרוצה מהתקנת לינוקס מחוץ למערכת, ייתכן שלעולם לא תצטרך להפעיל תוכנית של 32 סיביות.
חלק תוכנות לינוקס מסחרי, במיוחד משחקים, רק לספק גירסאות 32 סיביות. במקרים נדירים אלה, יהיה עליך להגדיר את מחשב 64 סיביות להפעלת תוכנת 32 סיביות.
התקן את הספריות של 32 סיביות
מאחר שמעבדים של x86_64 מתוכננים על טכנולוגיית x86, הם עדיין מסוגלים לתמוך בתוכניות של 32 סיביות ללא כל אמולציית חומרה, כמו מה שאתה צריך להפעיל תוכניות x86 בסביבת PowerPC או Sparc. בלינוקס, כל שעליך לעשות הוא להתקין את ספריות התוכנה הדרושות להפעלת תוכנת 32 סיביות. למרבה המזל, הפצות לינוקס רבות החבילה ספריות אלה בשבילך. באובונטו, למשל, החבילה נקראת ia32-libs . כדי להתקין אותו, פשוט לפתוח חלון מסוף סוג:
sudo apt-get install ia32-libs
ניתן גם להתקין אותו באופן גרפי מתוך Synaptic או Kpackagekit על קובונטו.
לאחר ההתקנה, יישומים כמו סקייפ ומשחקים כמו World of Padman צריך לעבוד ללא תצורה נוספת.
בעיות GTK
בעת הפעלת תוכניות של 32 סיביות בסביבת 64 סיביות, אובונטו עדיין מחפשת את מנועי ברירת המחדל של GTK. זה יגרום לך לקבל שגיאה כגון זה: "בכיתה ELF טועה". סוג שגיאה זה עלול להיות מטריד במיוחד ביישומים כגון Chromium, הגרסה החדשה של קוד פתוח לדפדפן Google Chrome.
אובונטו אכן מתקינה את גירסת 32 סיביות של מנועי GTK ב /usr/lib32/gtk-2.0, אבל מה שגיליתי במקרה שלי היה שערכות GTK כמו זו שבה השתמשתי, qtcurve, לא נמצאו בספרייה זו . התוצאה היתה ממש GTK תוכניות מכוערות.
הפתרון המהיר היה לבצע את הפעולות הבאות:
1. מצא את חבילת 32 סיביות של ערכת הנושא שבה אתה משתמש. במקרה שלי, חיפשתי חבילות אובונטו.
2. הורד את החבילה לחלץ את התוכן שלה כמו שאתה היה קובץ דחוס רגיל.
3. מצא את קובץ הספריה עבור ערכת הנושא. עבור qtcurve זה נמצא ב- ~ / download-directory / usr / lib / gtk-2.0 / 2.10.0 / מנועי / libqtcurve.so .
4. העתק את הספריה לספריית lib32:
sudo cp ~ / download-directory / usr / lib / gtk-2.0 / 2.10.0 / engines / libqtcurve.so /usr/lib32/gtk-2.0/2.10.0/engines/
עבור Chromium זה היה כל מה שנדרש, מכיוון שסקריפט ההפעלה של Chromium כבר מוגדר כך שייראה ב- /usr/lib32/gtk-2.0 . אם סקריפט האתחול של התוכנית שאתה מפעיל לא נראה שם אבל במקום זאת נראה / usr / lib / gtk-2.0, תצטרך לשנות את סקריפט ההפעלה או לייצא משתנה הסביבה לפני תחילת אותו על ידי פתיחת חלון המסוף והקלדה You
ייצוא GTK_PATH = / usr / lib32 / gtk-2.0 הפקודה כדי להתחיל- app
אם אין סקריפט אתחול עבור התוכנית, אתה יכול ליצור אחד עם הגדרת משתנה הסביבה לעיל.
אם כל השאר נכשל
מצאתי כמה יישומים, כגון Boxee, מסרבים להתנהג יפה בסביבה 64 סיביות בכל הנסיבות הרגילות, אפילו עם ia32-libs מותקן. החלופה היחידה קיימא מלבד chucking את מכונת 64 סיביות או צ 'ק את התוכנה היא להפעיל אותו בסביבה chroot. זה ממש מתקין גירסת 32 סיביות מלאה של מערכת ההפעלה שלך בספרייה במחשב. זה ייקח יותר מקום מאשר פשוט להתקין כמה ספריות, אבל זה מבטיח כי כל רכיבי 32 סיביות, כולל מודולים גרפיים 3D גרפיקה, מותקנים.
אתה יכול לקרוא מדריך הגדרת chroot 32-bit על פורומים אובונטו.