Когда говорят об эмуляторах для запуска Win32-приложений под Линуксом, о Wine вспоминают всегда. Вспоминают и о его глючности. Но в последних релизах глючность Wine'а это в основном последствия его некорректной установки или настройки. Соответственно, вопросам установки и настройки Wine'а я и уделю основное внимание в этой статье.
Windows-эмулятор?
Я долго думал, с чего начать свою первую статью в МК, и решил, что раз статья первая, уместно было бы познакомить читателей со своими взглядами на некоторые явления в компьютерном мире.
Начнем с того, что ярым приверженцем Линукса я точно не являюсь. Поэтому выражений типа «Линукс рулезз форэва!!!» или «Виндовс сакс!» от меня вы не дождетесь. Как не дождетесь и заявлений о противоположном. Линукс и Виндовс это очень разные системы, обе стремительно развиваются, и пророчествовать, что какая-то из них раньше сойдет со сцены, по крайней мере несвоевременно что бы там ни говорили о дефиците возможностей первой и дороговизне второй. И хотя эта статья о чисто линуксовом проекте, я этим хочу засвидетельствовать лишь то, что мне нравится исследовать новое.
Правда, и противником Линукса меня тоже не назовешь. Посудите сами: у меня на компьютере сейчас стоят три системы это и желанная для игрока легкая, хотя и зависающая (редко, но метко) Windows Millenium Edition, и невероятно мощная, стабильная и совершенная, но все же чуть-чуть тяжеловатая Windows XP (на данный момент Home Edition, которая ни стабильностью, ни возможностями для рядового (и не рядового) домашнего пользователя не отличается от профессиональной версии), и бесплатная Linux Mandrake 9.1 (Bamboo). И в любой из этих систем я чувствуя себя хорошо, хоть некоторое предпочтение все же отдаю WinXP, которая и является основной. Этот текст пишется в KWord'е, так как я люблю красивый и удобный интерфейс, каковым хоть и более сильный, но не очень дружественный по крайней мере мне OpenOffice.org (StarOffice) Writer не может похвастать.
Так, от основной темы я ушел, зато высказался. Вернемся к нашему эмулятору.
Ну, для начала не к эмулятору, а к эмуляторам именем «Wine» объединена сейчас достаточно большая их группа.
В первую очередь это WineHQ, называемый просто Вайном (http://www.winehq.org). Это родоначальник всех Вайнов, и о нем пойдет речь конкретно в этой статье.
Уголок истории Wine
Кстати, сам Wine «родился» в 1993 году как средство для запуска Win-3.1 программ под Линуксом то есть в текущем году разработчики могли бы праздновать юбилей. Координатором проекта был Боб Амстадт, который со временем отказался от его разработки, передав проект Александру Джуллиарду, впервые запустившему его.
Выход из уголка истории Wine
Второй на очереди ReWind (http://sourceforge.net/projects/rewind). Распространяется он по Open-Source лицензии BSD и является ответвлением от одной из старых веток WineHQ. Его отличия от предыдущего в общем сводятся только к типу лицензии X11 против LGPL у WineHQ. (По-моему, это признак паранойи плодить типы бесплатного(!) лицензирования, при этом распространяя одни и те же продукты с разными лицензиями. Скоро достаточно будет поменять две буквы в Readme-файле, чтобы объявить о создании новой версии программы с новым названием.)
И наконец, четвертым представителем эмуляторов Wine является TransGaming Technologies WineX (http://www.transgaming.com). Это ответвление от WineHQ, имеющее одно очень существенное, особенно для геймеров, усовершенствование этот эмулятор содержит в себе улучшенную, вдобавок, полную (в плане совместимости) поддержку интерфейса Direct3D. Распространяется за деньги, правда, не очень большие. Рекомендую зайти на сайт TransGaming Technologies для получения информации о распространении возможно, вы сможете себе это позволить. Кроме того, CVS-исходники без поддержки защищенных игрушек распространяются бесплатно на сайте SourceForge.net (http://sourceforge.net/projects/winex). Но если вы захотите их скачивать, то учтите такой вот момент CVS-версии распространяются как в виде исходников, так и виде RPM-пакетов. Лично я не рекомендую брать RPM'ки (мотивация: у меня не запустилась ни одна установленная версия, при том что WineHQ и из стандартной поставки дистрибутива ОС, и из свежих исходников работали нормально).
С дистрибутивами разобрались, теперь разберемся, что же такое Wine на самом деле. Как пишут в документации (WineFAQ), Wine это не эмулятор (Wine Is Not a (CPU) Emulator WINE), он только предоставляет структуру Windows API при соответствующих запросах от выполняющейся программы. Как объясняется здесь же, благодаря этому Wine может выполнять видовые приложения на полной скорости. Правда, мне кажется, что создатели Wine немножко не правы, так как в любом случае программа создает своеобразную подмену программного интерфейса если вместо Linux API предоставляется структура, подобная WinAPI, это значит, что она эмулируется. Вот такая вот запутанная ситуация вроде бы по всем признакам эмулятор, а вроде бы и нет. Осталось только добавить фразу из того же WineFAQ, которая мне очень понравилась. Прямо и без обиняков она втолковывает, что же такого делает Wine: «Wine is not about running Windows but about running Windows applications».
А сейчас мы это правильно поставим...
Вообще, ставится Wine без проблем, но это у меня как будет у других пользователей, я предугадать не могу, просто расскажу о наиболее важных моментах установки.
Начнем со скачки. WineHQ можно скачать с родного сайта (см. выше) или с SourceForge.net. Небольшая подсказка: если вы будете качать c SourceForge.net, то в списке зеркал перед скачкой выбирайте сервер в Чехии у меня всегда качается отлично, без обрывов и ошибок.
Как и все линуксоиды, я рекомендую использовать исходники: больше контроля, в результате, при правильной установке, гарантированы высокие показатели скорости и качества работы. По крайней мере, Wine из состава Мандрейка 9.1 не мог запустить даже WinAmp, хотя поставляемый с этой системой релиз достаточно свежий (январь 2003).
Исходники Wine именуются в формате Wine_ГГГГММДД.tar.gz (иногда просто .tar), то есть файл Wine_20030709.tar является иходником Wine от 9 июля 2003 года (кстати, о нем мы сегодня и будем говорить). В отличие от многих других Линукс-проектов, свежие выпуски Wine (не CVS) появляются отнюдь не еженедельно, иногда можно ждать релиз несколько месяцев. Но я считаю, что так лучше, потому что качество нововведений в релизах Wine'а всегда выше их количества.
Немного о требуемом дисковом пространстве: архив с исходником занимает около 10 Мб дискового пространства, для его распаковки нужно около 45 Мб, для его компиляции около 450 Мб на диске с иходником и столько же места понадобится на корневом диске для установки Wine’а.
После загрузки распакуйте архив и зайдите в папку с исходником. Если вам не хватило желания (терпения) дочитать статью до конца, полную документацию вы найдете в папке documentation (она, естественно, английская). Правда, для того чтобы ее прочесть нужно сначала запустить скрипт make_winehq, который скомпилирует из SGML-файлов всю документацию в форматы HTML, PS и другие, а также запакует ее в TAR.GZ. В этой же директории лежит очень нужная нам папка samples тут находится пример конфигурационного файла для Wine, который мы будем использовать в качестве базы для своего конфига. Также из корня папки с иходником зайдите в директорию tools. В ней вы найдете очень нужную утилиту wineconf и несколько интересных, но в общем-то бесполезных скриптов.
Теперь самое главное: установите пакеты Flex версии 2.5 или новее, а также Yacc. Если у вас нет последнего, не спешите сразу лезть за ним в Интернет просто установите пакет Bison, являющийся заменой для Yacc в RedHat или Debian-подобных дистрибутивах (Mandrake, AltLinux, ASPLinux). Все действия по установке и настройке совершаются, естественно, под root'ом. Установка выполняется в таком порядке: ./configure проверяем наличие несоответствий и, если таковые замечены, выполняем make -s depend && make -s (ключ -s заставит утилиту make выводить только сообщения об ошибках) для компиляции. Когда компиляция завершится (а она длится около получаса на Cel700 Coppermine + 256 Mб ОЗУ + HDD 5400 об./мин), выполняем make -s install. Все Wine установлен!