Журнал LinuxFormat - перейти на главную

LXF94:Windows в Wine

Материал из Linuxformat
Перейти к: навигация, поиск

Windows в Wine

Никак не можете расстаться с любимым Windows-приложением? Вам поможет Wine. О нем-то и расскажет Майк Сондерс в первой из двух статей о достижении кросс-платформенной нирваны.

При всех достоинствах Linux и всем многообразии создаваемых для него программ приходится признать, что для разработки ПО платформа Windows остается более предпочтительной. И хотя разработчики Open Source трудятся не покладая рук, чтобы предоставить нам свободную альтернативу популярным программам Windows (в виде Firefox, OpenOffice.org и Scribus), в некоторых случаях полноценного эквивалента просто нет. Linux-версий нет как для крупных программ (Photoshop и Microsoft Office), так и для тысяч мелких.

Впрочем, выход есть. Это Wine. Сегодня речь пойдет не о напитках [Wine (англ.) – «вино», – прим. перев.], хотя после бутылки-другой, принятой за один вечер, тоже может показаться, что вы играете в Quake 8 на Atari ST [популярная в 1985–1990 годах модель настольного ком- пьютера с процессором Motorola, – прим. перев.] в своем домике на Венере. Мы поговорим об одной программе, с помощью которой другие программы, написанные для Windows, можно запускать в Linux.

В традиционном для Unix стиле аббревиатура Wine расшифровывается рекурсивно: «Wine – Это Не Эмулятор» (‘Wine Is Not an Emulator’). Но разве Wine не эмулирует Windows?

Нет. На самом деле, эмуляторы воссоздают работу устройства или программы полностью, а Wine лишь предоставляет «слой совместимости» между Linux и программами Windows. Когда приложение Windows говорит: «Я хочу открыть файл», Wine перехватывает это сообщение и преобразует его в системный вызов, понятный ядру Linux. Это означает, что для запуска программ Windows вам не потребуется ни установленной Windows, ни виртуальной машины типа VMware или Qemu.

Хотя Wine разрабатывается с 1993 года (www.winehq.org), его состояние далеко от совершенства: некоторые программы Windows работают безукоризненно, другие – с небольшими проблемами, а третьи – не запускаются вовсе. Казалось бы, после десяти лет разработки любая программа должна работать идеально, однако в случае с Wine есть два всегда актуальных препятствия:
1. Недокументированные возможности Windows Wine воссоздает в Linux программный интерфейс приложения (API) Windows, но поскольку многие системные вызовы в Windows недостаточно описаны в документации или совсем не документированы, разработчикам Wine приходится воспроизводить их функционал самостоятельно.
2. Новые версии Windows В далеком 1993 году разработчикам нужно было обеспечивать совместимость с Windows 3.1. Через несколько лет им было нужно эмулировать API Windows 95. Каждый раз, когда полная совместимость с текущей версией Windows почти достигнута, выходит новая версия, и все начинается сначала... Таким образом, лучшее, что вы можете сделать – это установить Wine и попробовать запустить некоторые Windows-приложения в Linux с его помощью. Вы увидите, что одни программы работают прекрасно, другие – нет, но если обновлять Wine регулярно (новый релиз выходит чуть ли каждую неделю), то результат не заставит себя ждать. На следующих страницах мы рассмотрим инсталляцию Wine и попробуем запустить некоторые программы.

Установка

Как мы уже говорили, Wine – это программа, которая предоставляет «слой совместимости» для запуска приложений Windows в Linux. На самом деле, это программа и набор библиотек, эмулирующих библиотеки DLL в Windows. К счастью, ее установка очень проста. Правильнее всего использовать менеджер пакетов вашего дистрибутива; установите все пакеты, найденные по запросу ‘Wine’ (обычно это wine, winelib и/или winetools). Если вы не знаете что делать или версия Wine ниже 0.9.1, возьмите последнюю версию программы из раздела Система на второй стороне нашего DVD.

Например, если вы используете Ubuntu, скопируйте файлы .deb с нашего DVD в свой домашний каталог и выполните команду

sudo dpkg -i *.deb

Система запросит пароль пользователя, затем Wine будет установлен. Если ваш дистрибутив использует RPM, скопируйте файлы .rpm в свой домашний каталог и выполните команды

su
rpm -ivh *.rpm

По запросу системы введите пароль пользователя root, и программа будет установлена. Еще одним вариантом является сборка Wine из исходных текстов. Предварительно убедитесь в том, что в системе установлены компилятор GCC и пакеты разработки для X-сервера. Скопируйте файл wine-0.9.39.tar.bz2 из раздела Система/Wine нашего DVD в свой домашний каталог и выполните команды

tar xfvj wine-0.9.40.tar.bz2
cd wine-0.9.40/
./configure
make depend && make

Если во время выполнения команды ./configure появились сообщения о неразрешенных зависимостях, установите недостающие инструменты разработчика с помощью менеджера пакетов. Например, если появилось сообщение об отсутствии заголовочных файлов X-сервера (Can’t find the X development headers), поищите пакеты вроде ‘xorg’ или ‘x11’ и установите те из них, названия которых заканчиваются на ‘-dev’ или ‘-devel’. После этого снова выполните команду ./configure. Используйте команду sudo bash (в Ubuntu) или su (в других дистрибутивах) для начала сеанса работы под пользователем root, затем выполните команду

make install
Персональные инструменты
купить
подписаться
Яндекс.Метрика