Cooking Wine
Журнал ALT-review
Title::Готовим Wine в домашних условиях- Автор: Author::ALT Club Тег: Tag::практика
|
Введение
WINE (акроним от «Wine Is Not Emulator») — проект по альтернативной реализации WinAPI, позволяющий запускать приложения написанные для операционной системы Windows. WINE не эмулирует аппаратное обеспечение, а является «прослойкой» между приложением для Windows и операционной системой GNU/Linux, что позволяет добиться большой скорости работы приложений.
Проект стартовал в 1993 году как средство для запуска приложений Windows 3.х на операционной системе GNU/Linux (подробнее http://citforum.ru/gazeta/130/). В настоящее время проект существует не только для OS GNU/Linux, но и для Mac OS X, FreeBSD, NetBSD, OpenBSD и Solaris.
Хотя часть WinAPI хорошо документирована, но неполнота документации, наличие закрытых возможностей («грязные хаки», информация о которых доступна только партнерам майкрософт) и закрытые протоколы значительно осложняют работу над проектом. Кроме того, для обеспечения совместимости своих современных операционных систем с устаревшими приложениями, компания Microsoft тратит огромные ресурсы и денежные средства на такие специальные механизмы как Application Compatibility Infrastructure ( http://www.ixbt.com/soft/microsoft-windows...appcompat.shtml , http://www.ixbt.com/soft/microsoft-windows...pcompat-2.shtml ), по понятным причинам недоступные для проекта WINE. Все это приводит к тому, что при выпуске новой версий WINE появляется возможность запуска одних приложений, но теряется совместимость с другими (и на форумах появляется тьма сообщений типа «опять отвалилось» и «снова все поломали»).
Вопрос является ли проект WINE «сырым» и «не стабильным» является конечно дискуссионным, но факт в том, что из-за выше изложенных причин 100% совместимости не будет никогда. Причем это говорит не только о том, что есть приложения которые запускаются на windows и не запускаются на WINE, но и наоборот часть старых приложений отлично работает на WINE, но не работают на современных Windows
Другой серьезный вопрос состоит в том насколько сам проект WINE нужен/полезен. С одной стороны он дарит новичкам призрачную надежду (типа «щас все свои фотошопы запущу на линуксе и буду как крутой хацкер»), что ни к чему хорошему естественно не приводит... С другой стороны проект может быть палочкой-выручалочкой, позволяющей запускать несколько необходимых приложений. В этом вопросе, как и везде, нужен взвешенный подход и тогда проект не разочарует пользователя, а будет хорошим помощником.
Официальным сайтом проекта является http://www.winehq.org/, на сайте есть замечательная база данных http://appdb.winehq.org/ по совместимости приложений с инструкциями и информацией о совместимости версий WINE с интересующим приложением. И если вам необходимо запустить какое-то приложение — первым делом загляните в эту базу совместимости.
Так как проект WINE распространяется под лицензией LGPL (до 2002 года под MIT) существуют не только свободные, но и проприетарные проекты, использующие в своей основе код WINE:
- WINE-Etersoft — продукт ( http://etersoft.ru/products/wine ) российской компании Etersoft, который направлен на запуск отечественных продуктов для бизнеса (которые обычно кривые чуть более чем полностью и требуют для запуска разнообразные костыли). Продукт коммерческий, но часть наработок компании доступно в свободной сборке (в ALT Linux в пакете wine, оригинальный wine находится в пакете wine-vanilla). Доступны бесплатные версии для частного некоммерческого пользования и для общеобразовательных учреждений.
- CrossOver — коммерческий продукт ( http://www.codeweavers.com/products/ ) компании Codeweavers, который направлен на запуск офисных приложений на GNU/Linux и Mac OS X. Значительная часть наработок по проекту CrossOver возвращается в WINE. Компания Codeweavers является крупным спонсором проекта WINE и работодателем для части разработчиков WINE. Существуют акции, когда продукт можно получить бесплатно и с поддержкой (обычно перед выборами президента США). Так-же часто бесплатно распространяются beta-версии.
- Cedega (WineX) — коммерческий продукт компании ( http://gametreelinux.com/ ) TransGaming Technologies, который направлен на запуск игр. В связи с чередой скандалов по поводу нарушений лицензий, обычно отношение к продукту и компании в линукс-среде резко отрицательное.
Одним из интересных свободных продуктов, использующих WINE, следует признать PlayOnLinux, который является настройкой с графическим интерфейсом над WINE и, за счет использования различных версий WINE и отдельных префиксов, позволяет просто запускать множество приложений ( http://www.playonlinux.com/en/supported_apps.html ). Отрицательной стороной следует признать несколько большее расходование свободного пространства на жестком диске за счет использования отдельных префиксов, но при современных объемах жестких дисков этот минус не существенен.
Особенности WINE в ALT
Wine от Etersoft: в комплекте libwine-gl + winetricks, etc (описать)
wineprefix
Запуск исполняемых файлов с ключами
Пусть некоторой программе для корректного запуска нужен некий ключ direct. Чтобы добиться такого выполним следующее:
cd "/home/user/.wine/drive_c/Program Files/GAME" wine game.exe -- game.exe -direct
Делаем комфортной работу на малых (устаревших) разрешениях
Пусть некоторая программка Game запускается только на разрешении 800x600, но запуск её обычным способом вызывает дискомфорт, т.к. окно программы получается очень маленьким.
Временная смена разрешения
$xrandr -s 800x600; wine "/home/user/.wine/Program Files/GAME/game.exe"; xrandr -s 1680x1050
Узнать текущее разрешение:
- $ xrandr
- Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 4096 x 4096
- ...
Запуск на отдельном X-сервере
Создаем специальный скрипт для запуска программки на отдельном X-сервере с маленьким разрешением
#!/bin/bash xinit /dev/stdin -- :1 -ac -depth 16 <<EOF xrandr -s 800x600 export WINEDEBUG="-all" cd "/home/mike/.wine/drive_c/Games/GAME" wine game.exe EOF
winetricks
В отличие от многих дистрибутивов, в репозиториях ALT есть winetricks.
В Клубе Альтлинукс сделали также подобный скрипт для настройки wine для игр и популярных win32 приложений - RPM-пакет dll-install[1]
Устранение проблем с wine под x86_64
Различные проблемы (описать)
Основная проблема в том, что wine 64bit позволяет запустить только 64-битные программы windows, но не 32-битные.
Тривиальное решение - установить i586-версию Wine и запускать в отдельном каталоге (т. е. с указанием префикса):
apt-get install i586-wine i586-libwine-gl WINEARCH=win32 WINEPREFIX=~/.wine32 winecfg
Запуск приложений
WINEPREFIX=~/win32 wine Game.exe
Ссылки
- Материалы, которые можно использовать:
- Скрипт Winetricks или доводим Wine до ума
- Руководство по установке winetricks
- Базовая настройка WINE для игр и т.д.
- Хитрости и трюки при использовании Wine
- How do I create a 32-bit WINE prefix?
- [1]
- wine под разные программы со своими настройками
- использование winetricks
- Проблемы с wine под x86_64
- wine+libwine-gl
- ...
__SHOWFACTBOX__