ГлавнаяОперационные системыLinuxКак запускать 32-битные приложения в 64-битной Linux

Как запускать 32-битные приложения в 64-битной Linux

Большинство дистрибутивов Linux имеют 64-разрядные версии для процессоров x86_64, например AMD Athlon II или Intel Xeon. Поскольку эти дистрибутивы имеют собственные репозитории пакетов, они обычно предоставляют двоичные пакеты для всех поддерживаемых ими приложений. Если вас полностью устраивает готовая установка Linux, возможно, вам никогда не понадобится запускать 32-битную программу.

Некоторые коммерческие программы Linux, особенно игры, имеют только 32-разрядные версии. В этих редких случаях вам потребуется настроить 64-битный компьютер для запуска 32-битного программного обеспечения.

Установить 32-битные библиотеки

Поскольку процессоры x86_64 разработаны на основе технологии x86, они по-прежнему способны поддерживать 32-разрядные программы без какой-либо аппаратной эмуляции, например, то, что вам понадобится для запуска программ x86 в среде PowerPC или Sparc. В Linux все, что вам нужно сделать, это установить необходимые библиотеки программного обеспечения для запуска 32-битного программного обеспечения. К счастью, многие дистрибутивы Linux включают в себя эти библиотеки. Например, в Ubuntu пакет называется ia32-libs. Чтобы установить его, просто откройте окно терминала и введите:

sudo apt-get install ia32-libs

Вы также можете установить его графически из Synaptic.

После установки такие приложения, как Skype и игры, такие как Мир Падмана , должны работать без дополнительной настройки.

Проблемы с GTK

При запуске 32-битных программ в 64-битной среде Ubuntu по-прежнему ищет механизмы GTK по умолчанию. Это приведет к тому, что вы получите сообщение об ошибке, например: «неправильный класс ELF». Ошибки такого типа могут особенно раздражать в таких приложениях, как Хром , новая версия браузера Google Chrome с открытым исходным кодом.

Ubuntu действительно устанавливает 32-разрядную версию движков GTK по умолчанию в /usr/lib32/gtk-2.0,, но в моем случае я обнаружил, что темы GTK похожи на ту, которую я использовал using, qtcurve, в этом каталоге не найдены. В результате получились действительно уродливые программы GTK.

Быстрым решением было сделать следующее:

1. Найдите 32-битный пакет используемой вами темы. В моем случае я искал пакеты Ubuntu .

2. Загрузите пакет и извлеките его содержимое, как обычный сжатый файл.

3. Найдите файл библиотеки для темы. Для qtcurve он был найден по адресу «~/download-directory/usr/lib/gtk-2.0/2.10.0/engines/libqtcurve.so».

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/

Для Chromium это было все, что требовалось, поскольку сценарий запуска Chromium уже был настроен для поиска в «/usr/lib32/gtk-2.0». Если сценарий запуска программы, которую вы запускаете, не смотрит туда, а вместо этого смотрит на /usr/lib/gtk-2.0, вам потребуется изменить сценарий запуска или экспортировать переменную среды перед его запуском. открыв окно терминала и набрав:

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

Если для программы нет сценария запуска, вы можете создать его с указанной выше переменной среды.

Если все остальное не помогло

Я обнаружил, что некоторые приложения отказываются вести себя корректно в 64-битной среде при любых нормальных обстоятельствах, даже с установленной ia32-libs. Единственная жизнеспособная альтернатива, помимо удаления вашей 64-битной машины или удаления программного обеспечения, — это запустить ее в среде chroot. Это буквально устанавливает полную 32-битную версию вашей операционной системы в каталог на вашем компьютере. Это займет больше места, чем простая установка нескольких библиотек, но гарантирует установку всех 32-битных компонентов, включая модули ядра 3D-графики.

ПОХОЖИЕ СТАТЬИ

Популярные записи