Обзор WINE v1.1

Недавно вышел первый мажорный релиз проекта Wine (www.winehq.org), с помощью которого пользователь Linux может запускать приложения Windows. Вадим Станкевич уже публиковал в "КВ" №49'2007 статью, в которой дана общая информация об этой программе. В этом обзоре остановимся исключительно на практических моментах, связанных с установкой и работой в этом очень интересном "неэмуляторе" (Wine Is Not Emulator).


Немного теории

Wine не эмулирует процессор, видеокарту и прочее железо, как, например, VirtualBox или WMare, а эмулирует только системные вызовы API Windows и транслирует их в системные вызовы Unix. Но, как и эмуляторы компьютера, данный "неэмулятор" может решить аналогичные пользовательские задачи. Во-первых, это продление срока эксплуатации какой-нибудь старой, но нужной программулины, написанной в былые времена, и новых версий которой не предвидится. Хотя, положа руку на сердце, можно сказать, что таковыми "нужными" программами, в первую очередь, являются старые игры. Во-вторых, Wine может помочь воспользоваться и многими современными программами Windows. В первую очередь, это всякие телефонные и специализированные справочники и прочие базы данных, версий под Linux которых нет.

Конечно же, "может решить задачу" - это не значит, что обязательно решит. Wine является свободным вариантом Windows API, и всех закрытых функциональных возможностей в этой программе нет. Поэтому, если запускаемое приложение написано в плохом стиле и использует какие-либо недокументированные возможности Windows, то Wine точно не поможет.


Устанавливаем Wine

 

Wine является 32-разрядным приложением. Я устанавливал и тестировал последнюю версию этого эмулятора Windows на 32-разрядных Debian и Fedora 8.

Для установки официальный сайт разработчиков Wine предлагает не только исходники для компиляции, но и готовые сборки для самых популярных дистрибутивов. На момент написания статьи вышла версия 1.1 для разработчиков. Готовые пакеты имеют стабильную версию 1.0. Молодым и начинающим линуксоидам, я, естественно, рекомендую стабильный и готовый к установке вариант. Сам я уже не начинающий, поэтому для полноты чувств и впечатлений скачал свежую версию для ручной сборки.

Wine имеет достаточно большой список зависимостей. Перед сборкой следует ознакомиться на сайте разработчиков с этим списком, а также с конкретным способом для каждого дистрибутива разрешить эти зависимости. В этом отношении Debian и Fedora оказались самодостаточными и содержали в себе все необходимые пакеты, без необходимости что-то докачивать из сети.

Архив Wine имеет размер около 13 мегабайт. При распаковке получается около ста мегабайт исходных тестов. А после компиляции - make depends & make - размер папки с программой составил около четырёхсот мегабайт. После инсталляции - make install - объём занятого пространства увеличился где-то на полторы сотни мегабайт. Таким образом, по своим габаритам Wine вполне тянет приблизительно на Windows Me. Забегая вперёд, скажу, что, по моим субъективным ощущениям, по глючности, тормознутости и непредсказуемости Wine тоже вполне аналогична линейке Win 9x.


Управление и установка программ

После удачной сборки и установки проверяем работоспособность Wine, запустив, например, notepad:

$ wine notepad

Как и Windows, Wine имеет некоторые прикладные программы. Это notepad.exe, wordpad.exe, свой regedit, менеджер файлов explorer.exe и даже iexplorer.exe, работающий на движке от "огненной лисы". Есть и игра "минёр". Чтобы вызвать консоль DOS, следует выполнить команду "wineconsole cmd".

Из стандартного списка программ следует выделить утилиту winecfg. С её помощью можно создавать особые настройки для любой установленной программы. Здесь можно выбрать настройки аудио и видео. Так, игры можно, к примеру, запускать в окошке, что для старых игрушек более удобно. Особенно следует обратить внимание на выпадающее меню совместимости с разными версиями Windows на вкладке "приложения". Здесь программе можно назначить совместимость, начиная с Windows 2.0 и заканчивая Windows 2008. И это действительно иногда помогает с запуском приложений.

После первого запуска Wine создаст в домашнем каталоге пользователя скрытую папку .wine, которая как бы эмулирует дисковую систему и основную структуру каталогов Windows. То есть в этой скрытой папке будет находиться каталог dosdevices c линками в виде букв на реальные разделы или носители. А также здесь будет каталог drive_c, в котором находятся, соответственно, каталоги Windows и Program Files. Заглянув в каталог Windows, можно обнаружить и некоторые программы, и папку с системными dll-ками.

Таким образом, скрытый каталог .wine и есть дисковая система для приложений Windows. И запускать из консоли приложения можно не только в unix-стиле:

$ wine /home/mik/.wine/drive_c/windows/winemine.exe,

но и в Windows-стиле:

$ wine "C:\windows\winemine.exe".

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

Но запускать приложения можно не только через консоль. Wine имеет средства автоматизации и удобства для установки и запуска Windows-приложений. Например, в графических средах Gnome и KDE в контекстном меню появится раздел "открыть в программе Wine ", что позволяет устанавливать и запускать "экзешники" двумя нажатиями мыша. Также после установки хотя бы одной программы в системном меню появится раздел wine. Это наподобие раздела "программы" в стартовом меню "пуск" системы Windows. Если программа устанавливается через свой инсталлятор, то на рабочем столе будут появляться иконки этих программ. Хотя никто не мешает создать кнопку запуска на рабочем столе и вручную, средствами GNOME и KDE. Правда, работает это не всегда корректно и, чтобы увидеть новые элементы меню Wine, иногда нужно перегрузить X-сервер.


Тестирование

Для тестирования Wine я, как истинный патриот, взял отечественный системный DVD с программами, так скажем, улучшенной лицензионности под гордым названием "Minsk 2007 GOLD". Программы под Wine вели себя точно так же, как и под Windows: глючили, тормозили, жаловались, что им не хватает какой-то dll-ки, говорили, что у них сегодня выходной, и т.д. Некоторые из них тут же, чтобы работа за компьютером мёдом не казалась, завесили намертво систему. В общем, было весело.

ACDsee установился криво, не работал, тупо выдавал приглашение чего-то там зарегистрировать и, что самое противное, не хотел удаляться. Карта Минска Cityinfo тоже не заработала - ошибка в модуле wine. Разочаровал переводчик "Белазар": он хоть и запускался, но ни переводить, ни даже закрываться не желал.

Но положительных эмоций было всё-таки больше. Total Commander 7.0 запустился успешно, подхватил флэшку, продемонстрировал работу всех своих архиваторов, хотя контекстное меню не функционировало. Смотрелка фотографий IrfanView не захотела устанавливаться без библиотеки mdf40.dll, но, получив на съедение оную, успешно заработала. Телефонный справочник MinskContact заработал без проблем, равно как и справочник Velcom. WinRAR тоже не создал проблем. Хорошо установился WinAMP 5, а также новомодный проигрыватель Foobar. Посмотрев на огромные размеры современных MS Office 2007 и Photoshop CS, мне как-то стало совсем печально на душе. Поэтому я решил достать из старых запасов MS Office 97 и на нём проверить офисные функции. Редактор Word 97 побурчал немного, но установился и свою работу делал хорошо.

В обязательном порядке тестировались игры. На данный момент Wine является, пожалуй, единственным свободным вариантом DirectX и обеспечивает функциональность где-то на уровне восьмой версии. Для проверки этого факта я запустил набор тестов 3DMark2001. Практически все тесты на встроенном видео intel 945 успешно прошлись, за исключением advance pixel shaders. Скорость работы wine-directx раза в три-четыре медленнее, чем под Windows. Моё встроенное видео набрало чуть менее тысячи "попугаев". Но оптимизация скорости - это дело времени. Главное, что функционал есть.

Я не только патриот, но ещё и ретроград, поэтому игрушки у меня исключительно старенькие. Самая новая игра у меня в коллекции - это "СуперКорова". Из десяти протестированных игр не запустились Diablo 1, Serious Sam и Starcraft. Однако следующие вещи установились и заработали без нареканий: Fallout 2, Super Cow, Disciples 2, Grim Fandango, Alone in the Dark 4, Alice McGee, Diablo 2. Я очень доволен процентом запустившихся игр.

Ещё замечу, что, как и Windows, Wine, если устанавливать-удалять много приложений, начинает ощутимо глючить.


Выводы

Первая версия Wine - вполне достойная вещь. В наше время, когда некоторые Windows-программы могут ещё пригодиться, данный проект может многим помочь. Процент запускаемых приложений достаточно высок. А наличие эмуляции DirectX делает эту программу просто незаменимой для геймеров-ретроградов.

Если сравнивать Wine с железными эмуляторами, то есть как достоинства, так и недостатки. С приложениями в Wine гораздо удобнее работать, так как они практически интегрируются в систему. Тот же VirtualBox более громоздкий в этом плане. Зато железный эмулятор обеспечивает большую стабильность работы приложений. В нём они работают как бы в песочнице, что хорошо в плане безопасности.

Михаил АСТАПЧИК

Версия для печатиВерсия для печати

Номер: 

27 за 2008 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!