Cách chạy ứng dụng 32 bit trong Linux 64 bit
Hầu hết các bản phân phối Linux đều có các phiên bản 64 bit cho các bộ vi xử lý x86_64, chẳng hạn như AMD Athlon II hoặc Intel Xeon. Vì các bản phân phối này duy trì kho lưu trữ gói của riêng chúng, chúng thường cung cấp các gói nhị phân cho tất cả các ứng dụng được hỗ trợ của chúng. Nếu bạn hoàn toàn hài lòng với cài đặt Linux ngoài hộp, bạn có thể không bao giờ cần chạy chương trình 32 bit.
Một số phần mềm Linux thương mại, đặc biệt là các trò chơi, chỉ cung cấp các phiên bản 32 bit. Trong những trường hợp hiếm hoi này, bạn sẽ cần cấu hình máy 64 bit của mình để chạy phần mềm 32 bit.
Cài đặt thư viện 32 bit
Bởi vì bộ vi xử lý x86_64 được thiết kế trên công nghệ x86, chúng vẫn có thể hỗ trợ các chương trình 32 bit mà không có bất kỳ mô phỏng phần cứng nào, giống như những gì bạn cần để chạy các chương trình x86 trong môi trường PowerPC hoặc Sparc. Trong Linux, tất cả những gì bạn cần làm là cài đặt các thư viện phần mềm cần thiết để chạy phần mềm 32 bit. May mắn thay, nhiều bản phân phối Linux gói các thư viện này cho bạn. Trong Ubuntu, ví dụ, gói được gọi là ia32-libs . Để cài đặt nó, chỉ cần mở một cửa sổ dòng lệnh và gõ:
sudo apt-get cài đặt ia32-libs
Bạn cũng có thể cài đặt nó đồ họa từ bên trong Synaptic hoặc Kpackagekit trên Kubuntu.
Sau khi cài đặt, các ứng dụng như Skype và các trò chơi như World of Padman sẽ hoạt động mà không cần cấu hình thêm.
Vấn đề GTK
Khi chạy các chương trình 32 bit trong môi trường 64 bit, Ubuntu vẫn tìm kiếm các công cụ GTK mặc định. Điều này sẽ khiến bạn nhận được một lỗi như thế này: “sai ELF class”. Loại lỗi này có thể đặc biệt gây phiền toái trong các ứng dụng như Chromium, phiên bản nguồn mở mới của trình duyệt Google Chrome.
Ubuntu thực sự cài đặt phiên bản 32 bit mặc định của các động cơ GTK trong /usr/lib32/gtk-2.0, nhưng những gì tôi phát hiện trong trường hợp của tôi là các chủ đề GTK giống như những gì tôi đang sử dụng, qtcurve, không được tìm thấy trong thư mục này . Kết quả là các chương trình GTK thực sự xấu xí.
Giải pháp nhanh chóng là làm như sau:
1. Tìm gói 32 bit của chủ đề bạn đang sử dụng. Trong trường hợp của tôi, tôi đã tìm kiếm các gói ubuntu.
2. Tải xuống gói và trích xuất nội dung của gói như bạn sẽ làm một tệp nén bình thường.
3. Tìm tập tin thư viện cho chủ đề. Đối với qtcurve, nó được tìm thấy tại ~ / download-directory / usr / lib / gtk-2.0 / 2.10.0 / engines / libqtcurve.so .
4. Sao chép thư viện vào thư mục 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/
Đối với Chromium, tất cả điều này là bắt buộc vì tập lệnh khởi động Chromium đã được định cấu hình để xem trong /usr/lib32/gtk-2.0 . Nếu kịch bản khởi động của chương trình bạn đang chạy không nhìn ở đó, nhưng thay vào đó, bạn sẽ cần sửa đổi tập lệnh khởi động hoặc xuất biến môi trường trước khi bắt đầu bằng cách mở cửa sổ dòng lệnh và nhập :
xuất GTK_PATH = / usr / lib32 / gtk-2.0 lệnh-to-start-app
Nếu không có kịch bản khởi động cho chương trình, bạn có thể tạo một tập lệnh với bộ biến môi trường ở trên.
Nếu tất cả những thứ khác không
Tôi đã tìm thấy một số ứng dụng, chẳng hạn như Boxee, từ chối hoạt động độc đáo trong môi trường 64 bit trong bất kỳ trường hợp bình thường nào, ngay cả khi đã cài đặt ia32-libs. Cách thay thế khả thi duy nhất bên cạnh việc nhét máy 64 bit của bạn hoặc chucking phần mềm là chạy nó trong môi trường chroot. Điều này nghĩa là cài đặt toàn bộ phiên bản 32 bit của hệ điều hành của bạn trong một thư mục trên máy tính của bạn. Nó sẽ chiếm nhiều không gian hơn là cài đặt một vài thư viện, nhưng nó đảm bảo rằng tất cả các thành phần 32-bit, bao gồm các mô-đun hạt nhân đồ họa 3D, được cài đặt.
Bạn có thể đọc hướng dẫn để thiết lập chroot 32 bit trên Diễn đàn Ubuntu.