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

來源:互聯網
上載者:User

大部分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,一款新的Google瀏覽器開源版本。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位的庫檔案也不行。這時候唯一可行的辦法就是在根下運行了。

  1. 保障Linux的臨時檔案安全
  2. Linux置CVS整合cvstrac
  3. Mac和Linux將面臨新的漏洞攻擊

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.