32-bits apps uitvoeren in 64-bits Linux
De meeste Linux-distributies hebben 64-bit versies voor x86_64-processors, zoals de AMD Athlon II of de Intel Xeon. Omdat deze distributies hun eigen pakketrepository's onderhouden, bieden ze meestal binaire pakketten voor al hun ondersteunde applicaties. Als u volledig tevreden bent met uw out-of-box Linux-installatie, hoeft u wellicht nooit een 32-bits programma uit te voeren.
Sommige commerciële Linux-software, met name games, bieden alleen 32-bits versies. In deze zeldzame gevallen moet u uw 64-bits machine configureren om 32-bits software uit te voeren.
Installeer de 32-bits bibliotheken
Omdat x86_64-processors zijn ontworpen via x86-technologie, kunnen ze nog steeds 32-bits programma's zonder hardware-emulatie ondersteunen, zoals wat u nodig hebt om x86-programma's in een PowerPC- of Sparc-omgeving uit te voeren. In Linux hoeft u alleen de nodige softwarebibliotheken te installeren om de 32-bits software uit te voeren. Gelukkig bevatten veel Linux-distributies deze bibliotheken voor u. In Ubuntu wordt het pakket bijvoorbeeld ia32-libs genoemd . Om het te installeren, opent u gewoon een terminalvenster en typt u:
sudo apt-get installeer ia32-libs
Je kunt het ook grafisch installeren vanuit Synaptic of Kpackagekit op Kubuntu.
Eenmaal geïnstalleerd, zouden applicaties zoals Skype en games zoals World of Padman moeten werken zonder verdere configuratie.
GTK-problemen
Bij het uitvoeren van 32-bits programma's in een 64-bits omgeving zoekt Ubuntu nog steeds naar de standaard GTK-engines. Dit zal ervoor zorgen dat u een fout als deze ontvangt: "verkeerde ELF-klasse". Dit type fout kan bijzonder vervelend zijn in toepassingen zoals Chromium, de nieuwe opensource-versie van de Google Chrome-browser.
Ubuntu installeert eigenlijk de standaard 32-bit versie van de GTK-engines in /usr/lib32/gtk-2.0, maar wat ik in mijn geval ontdekte was dat GTK-thema's zoals degene die ik gebruikte, qtcurve, niet in deze map te vinden waren . Het resultaat was echt lelijke GTK-programma's.
De snelle oplossing was om het volgende te doen:
1. Zoek het 32-bits pakket van het thema dat u gebruikt. In mijn geval heb ik ubuntu-pakketten doorzocht.
2. Download het pakket en extraheer de inhoud zoals u een normaal gecomprimeerd bestand zou gebruiken.
3. Zoek het bibliotheekbestand voor het thema. Voor qtcurve werd gevonden in ~ / download-map / usr / lib / gtk-2.0 / 2.10.0 / engines / libqtcurve.so .
4. Kopieer de bibliotheek naar de lib32-map:
sudo cp ~ / download-map / usr / lib / gtk-2.0 / 2.10.0 / engines / libqtcurve.so /usr/lib32/gtk-2.0/2.10.0/engines/
Voor Chromium was dit alles wat nodig was omdat het Chromium-opstartscript al was geconfigureerd om te kijken in /usr/lib32/gtk-2.0 . Als het opstartscript van het programma dat je gebruikt er niet uitziet maar in plaats daarvan naar /usr/lib/gtk-2.0 kijkt, moet je het opstartscript wijzigen of een omgevingsvariabele exporteren voordat je het start door een terminalvenster te openen en te typen :
exporteer GTK_PATH = / usr / lib32 / gtk-2.0 command-to-start-app
Als er geen opstartscript voor het programma is, kunt u er een maken met de bovenstaande omgevingsvariabele set.
Als al het andere faalt
Ik heb gemerkt dat sommige applicaties, zoals Boxee, weigeren zich keurig te gedragen in een 64-bit-omgeving onder normale omstandigheden, zelfs met ia32-libs geïnstalleerd. Het enige haalbare alternatief naast het opspannen van je 64-bit machine of het gooien van de software is om het in een chroot-omgeving uit te voeren. Hiermee installeert u letterlijk een volledige 32-bits versie van uw besturingssysteem in een map op uw computer. Het kost meer ruimte dan alleen het installeren van een paar bibliotheken, maar het zorgt ervoor dat alle 32-bits componenten, inclusief 3D grafische kernelmodules, zijn geïnstalleerd.
U kunt een handleiding voor het instellen van een 32-bits chroot op Ubuntu-fora lezen.