歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 如何在64位的Linux中運行32位的應用程序

如何在64位的Linux中運行32位的應用程序

日期:2017/2/28 16:43:59   编辑:Linux教程

大部分Linux發行套件都有針對x86_64處理器的版本。比較典型的x86_64的處理器有ADM Athlon II和英特爾Xeon。因為這些Linux發行套件都有自己專用的軟件源,這些軟件源會為提供所有它所支持的應用軟件的二進制包。如果你滿足於Linux的安裝方式,你可能不會需要運行32位的程序。

一些Linux商業軟件,尤其是游戲,只提供32的版本。因為某些特殊的理由,你可能需要配置你的電腦來運行32位的軟件。

安裝32位的支持庫

因為x86_64處理器是為x86技術涉及,所以它也是支持32位程序的。在Linux裡,你所需要做的就是為這些軟件安裝必要的軟件庫。幸運的是,大部分Linux發行版本已經將這些打包好了。比方在Ubuntu裡,這個包就叫做ia32-libs。為了安裝它,你可以打開一個終端,然後輸入下面的內容:

sudo apt-get install ia32-libs

在Kubuntu中,你也可以通過Synaptic和Kpackagekit在圖形界面下安裝。一旦安裝了之後,像游戲之類的軟件就不再需要更多的配置。

圖形問題

當你在一個64位的環境中運行32位的軟件時,Ubuntu仍然會去尋找默認的GTK引擎。這樣導致一個wrong ELF class的報錯。這種情況在你運行某些特定的軟件的時候特別惱人,比方說Chrome,一款新的谷歌浏覽器開源版本。Ubuntu確實已經將32位版本的GTK引擎安裝在了 /usr/lib32/gtk-2.0,但是我所使用的GTK項目並沒有在這個位置找到。快速的解決方法如下:

1、為你現在用的主題找到32位包。比方說我,我查找了ubuntu packages

2、下載包,然後將包解壓縮

3、為主題找到庫文件

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/

比方說Chrome,它的需要可以設置在啟動腳本裡: /user/lib32/gtk-2.0如果程序的啟動腳本在你運行的時候沒有去看,而是去尋找 /user.lib/gtk-2.0,你可能需要修改啟動腳本或者在終端裡輸出並設置一個環境變量:

export GTK_PATH=/usr/lib32/gtk-2.0 command-to-start-app

如果一個程序沒有啟動腳本,你可以像上面那樣設置下環境變量。

其他的錯誤

我已經發現了像Boxee這樣的應用程序,不能很好地在任何情況運行在64位系統下,即使在安裝了32位的庫文件也不行。這時候唯一可行的辦法就是在根下運行了。

Copyright © Linux教程網 All Rights Reserved