歡迎您光臨本站 註冊首頁

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

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  大部分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位的庫文件也不行。這時候唯一可行的辦法就是在根下運行了。(責任編輯:A6)



[火星人 ] 如何在64位的Linux中運行32位的應用程序已經有410次圍觀

http://coctec.com/docs/enterprise/show-post-73139.html