Cooking Wine

Материал из ALT Linux Wiki
ALT-review logo.png
Alt Club.png
Alt linux team.png

Навигация

Главная: ALT-review

Все статьи

Предложения и пожелания

Ресурсы



Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.
Основы работы с WINE
WINE FAQ


Введение

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:

  1. WINE-Etersoft — продукт ( http://etersoft.ru/products/wine ) российской компании Etersoft, который направлен на запуск отечественных продуктов для бизнеса (которые обычно кривые чуть более чем полностью и требуют для запуска разнообразные костыли). Продукт коммерческий, но часть наработок компании доступно в свободной сборке (в ALT Linux в пакете wine, оригинальный wine находится в пакете wine-vanilla). Доступны бесплатные версии для частного некоммерческого пользования и для общеобразовательных учреждений.
  2. CrossOver — коммерческий продукт ( http://www.codeweavers.com/products/ ) компании Codeweavers, который направлен на запуск офисных приложений на GNU/Linux и Mac OS X. Значительная часть наработок по проекту CrossOver возвращается в WINE. Компания Codeweavers является крупным спонсором проекта WINE и работодателем для части разработчиков WINE. Существуют акции, когда продукт можно получить бесплатно и с поддержкой (обычно перед выборами президента США). Так-же часто бесплатно распространяются beta-версии.
  3. 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]
TODO:
  • wine под разные программы со своими настройками
  • использование winetricks
  • Проблемы с wine под x86_64
  • wine+libwine-gl
  • ...

__SHOWFACTBOX__