Как да стартирате 32-битови приложения в 64-битов Linux
Повечето Linux дистрибуции имат 64-битови версии за процесори x86_64, като AMD Athlon II или Intel Xeon. Тъй като тези дистрибуции поддържат свои собствени хранилища за пакети, те обикновено осигуряват двоични пакети за всичките си поддържани приложения. Ако сте напълно доволни от инсталирането на Linux извън офиса, може да не ви се налага да стартирате 32-битова програма.
Някои търговски софтуер за Linux, особено игри, предлагат само 32-битови версии. В тези редки случаи ще трябва да конфигурирате 64-битовата машина да изпълнява 32-битов софтуер.
Инсталирайте 32-битовите библиотеки
Тъй като процесорите x86_64 са проектирани по технологията x86, те все още могат да поддържат 32-битови програми без хардуерна емулация, като това, което би трябвало да стартирате x86 програми в среда PowerPC или Sparc. В Linux всичко, което трябва да направите, е да инсталирате необходимите софтуерни библиотеки, за да стартирате 32-битовия софтуер. За щастие, много Linux дистрибуции пакет тези библиотеки за вас. В Ubuntu например пакетът се нарича ia32-libs . За да го инсталирате, просто отворете прозореца на терминала и въведете:
sudo apt-get инсталирате ia32-libs
Можете също така да го инсталирате графично от Synaptic или Kpackagekit на Kubuntu.
Веднъж инсталирани, приложения като Skype и игри като World of Padman трябва да работят без допълнителна конфигурация.
Проблеми с GTK
Когато работите с 32-битови програми в 64-битова среда, Ubuntu все още търси стандартните GTK двигатели. Това ще ви накара да получите такава грешка: "грешен клас ELF". Този тип грешка може да е особено досадно в приложения като Chromium, новата версия на отворения код на браузъра Google Chrome.
Ubuntu действително инсталира по подразбиране 32-битовата версия на GTK двигателите в /usr/lib32/gtk-2.0, но това, което открих в моя случай, беше, че GTK теми като този, който използвах, qtcurve, не бяха намерени в тази директория, Резултатът беше наистина грозен GTK програми.
Бързото решение беше да направите следното:
1. Намерете 32-битовия пакет на темата, която използвате. В моя случай потърсих пакетите на Ubuntu.
2. Изтеглете пакета и извлечете съдържанието му като нормален компресиран файл.
3. Намерете файла на библиотеката за темата. За qtcurve е намерен в ~ / download-directory / usr / lib / gtk-2.0 / 2.10.0 / engines / libqtcurve.so .
4. Копирайте библиотеката в директорията lib32:
sudo cp ~ / изтегляне-директория / 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, ще трябва да промените стартовия скрипт или да експортирате променлива на средата, преди да го стартирате, като отворите терминален прозорец и пишете :
експортиране на GTK_PATH = / usr / lib32 / gtk-2.0 команда за стартиране на приложението
Ако няма скрипт за стартиране на програмата, можете да създадете такъв с горния набор от променливи за околната среда.
Ако всички останали не успеят
Намерих някои приложения, като например Boxee, отказвайки да се държа добре в 64-битова среда при нормални обстоятелства, дори при инсталираните ia32-libs. Единствената осъществима алтернатива, освен да хванете 64-битовата машина или да прихванете софтуера, е да я пуснете в среда на хроата. Това буквално инсталира цялата 32-битова версия на вашата операционна система в директория на вашия компютър. Това ще отнеме повече пространство, отколкото просто инсталиране на няколко библиотеки, но гарантира, че всички 32-битови компоненти, включително модули за графично ядро на 3D, са инсталирани.
Можете да прочетете ръководството за настройка на 32-битова хронология във форумите на Ubuntu.