Wine

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Wine
WINE-Logo.svg
IE6 in Wine and winecfg.png
Браузер Internet Explorer 6, запущенный в Wine под GNU/Linux. На переднем плане — утилита для настройки Wine winecfg.
Тип

слой совместимости с Windows API

Автор

Александр Джуллиард[d]

Разработчик

Wine project

Написана на

C

Операционная система

GNU/Linux, Apple macOS и др. UNIX-подобные

Языки интерфейса

русский и ещё 43 языка

Первый выпуск

4 июля 1993

Последняя версия
Бета-версия
Лицензия

GNU LGPL и GNU GPL

Сайт

winehq.org

Commons-logo.svg Wine на Викискладе
Gallium3D State Tracker for Direct3D 9 improves performance when playing D3D games on Wine

Wine (/waɪn/ — «уа́йн» рус. Вино) — свободное программное обеспечение, позволяющее пользователям UNIX-подобных операционных систем, например, GNU/Linux, Apple macOS и других UNIX-подобных с поддержкой архитектур CPU x86, AMD64 (и других архитектур CPU, при наличии совместимости с ними запускаемых приложений) исполнять 16-, 32- и 64- битные приложения, в том числе игры, созданные эксклюзивно для Microsoft Windows, без наличия при этом установленной Microsoft Windows. Кроме того, существует версия Wine для Microsoft Windows, позволяющая запускать на современных версиях Microsoft Windows устаревшие приложения/игры, которые были созданы для предыдущих, устаревших версий Microsoft Windows и уже стали несовместимы с современными версиями Microsoft Windows. Wine также предоставляет программистам библиотеку программ Winelib, при помощи которой они могут компилировать Windows-приложения для портирования их в UNIX-подобные операционные системы. Название W.I.N.E. является рекурсивным акронимом и расшифровывается «Wine Is Not an Emulator» — «W.I.N.E. — это не эмулятор». Имеется в виду, что Wine не является эмулятором компьютера или виртуальной машиной, как, например, qemu, VirtualBox и другие подобные им. Вместо этого, Wine — это альтернативная, свободная реализация Win32 API.

Wine распространяется на условиях свободной лицензии GNU LGPL.

История[править | править код]

Проект был основан Бобом Амштадтом (Bob Amstadt) в 1993 году как средство запуска 16-битных приложений Windows 3.1 в системе Linux. С 1994 года лидером проекта стал Александр Джуллиард (англ.). Изначально Wine был выпущен под лицензией MIT, но в марте 2002 года она была сменена на GNU LGPL.

Со временем Wine был портирован на другие UNIX-подобные системы, такие как FreeBSD, Solaris и другие, а также на Windows (там WINE обычно используется для запуска старых приложений на новых версиях ОС). Была добавлена поддержка 32-битных приложений Windows, а в 2005 году — и 64-битных. До октября 2005 года проект находился в стадии альфа-версии, хотя с его помощью безупречно работали многие программы. 25 октября 2005 г. была выпущена первая бета-версия Wine 0.9. С этого момента новые версии стали выпускаться обычно раз в две недели.

Летом 2007 года произошёл небольшой скандал, поскольку выяснилось, что несколько свободных библиотек Wine были использованы компанией Parallels, Inc. в проприетарном продукте Parallels Desktop for Mac без предоставления исходных кодов, что является нарушением лицензии LGPL[3]. Установить факт нарушения смогли из-за скриншотов, опубликованных Parallels, на которых у персонажей игры Half-Life 2 были видны квадратные тени, что на тот момент являлось одной из известных ошибок Wine[4]. В компании Parallels подтвердили, что используют модифицированные исходные коды Wine и обещали предоставить их по запросу в течение 3 дней[5]. Тем не менее, разработчики Wine получили модифицированные исходные коды только через месяц. Кроме того, на сайте Parallels появилась информация о Wine как компоненте, и его лицензии[6], на чём конфликт фактически исчерпал себя[4].

17 июня 2008 года, после 15 лет разработки, вышла версия Wine 1.0, первая, которую разработчики называют стабильной[7].

16 июля 2010 года вышла следующая стабильная версия Wine под номером 1.2[8].

7 марта 2012 года вышел стабильный релиз — версия Wine под номером 1.4[9].

16 марта 2012 года вышел тестовый релиз — версия Wine под номером 1.5.0, который обновляется раз в 15-20 дней.

3 февраля 2013 года Александр Жульярд на конференции FOSDEM сообщил о том, что Wine портировали под ОС Android. Но конкретные сроки выхода названы не были.

18 июля 2013 года вышел тестовый релиз — версия Wine под номером 1.6.0.

20 апреля 2017 года вышел стабильный релиз — версия Wine под номером 2.0.1.

Технические особенности[править | править код]

Настройка Wine

Проект сталкивается с большими трудностями вследствие неполноты или отсутствия документации по многим элементам Win32 API. В то время как функции Win32 в основном документированы, существует масса областей (таких как файловые форматы или протоколы Microsoft), спецификации на которые никогда не публиковались. Таким образом, команде разработчиков Wine приходится заниматься обратной разработкой этих компонентов.

Wine воспринимает системные вызовы Windows-приложений к библиотекам операционной системы и подменяет их своими. Таким образом, эмуляции процессора, аналогично другим эмуляторам типа VMware и QEMU, не происходит, и приложения могут выполняться в Wine почти так же быстро, как и в «родной» операционной системе (а в некоторых случаях и быстрее[10]). Для своей работы Wine не требует наличия установленной ОС Windows, хотя и может использовать её библиотеки.

Также Wine предоставляет инструментарий разработки программ Winelib для переноса унаследованных исходных кодов из среды Windows в среду UNIX путём простой перекомпиляции.

Wine, безусловно, не является стабильным продуктом, и нельзя сказать, что любую программу для Windows удастся запустить с его помощью. Некоторые подсистемы Windows вообще практически не реализованы. Тем не менее, уже сейчас многие из повсеместно используемых Windows-приложений полноценно запускаются и работают в UNIX-подобных ОС при помощи Wine. Особенно это касается приложений, которые не используют недокументированные возможности Windows.

Wine до настоящей версии (1.6.2) не может переводить экран в 256-цветный режим (8 бит/цвет) без установки дополнительного ПО и сильных ухищрений, если такой уже не установлен в запущенном X-сервере. Это может вызвать проблемы с некоторыми старыми играми и другими программами для Windows 3.1/9x, требующими именно 256-цветный режим.

Использование кода Wine в других проектах[править | править код]

  • Часть кода WINE, позволяющая загружать динамические библиотеки (DLL) для Windows, используется в других свободных проектах, таких как MPlayer, Xine, Xash3D FWGS и некоторых других.
  • Компанией Borland была выпущена среда разработки Kylix, использующая код Wine (в настоящий момент разработка и поддержка прекращена).
  • ReactOS — проект свободной операционной системы, ставящий целью полную совместимость с Windows на уровне программ и драйверов. Не являясь основанным на Wine, проект ReactOS активно сотрудничает с ним, берёт из него многие наработки и делится своим кодом.
  • Picasa, Google Earth. При портировании под Linux использовались библиотеки Wine[11][12].

Продукты, основанные на Wine[править | править код]

  • Cedega, ранее WineX — продукт, основанный на старом коде Wine (до смены лицензии на LGPL), созданный компанией TransGaming для поддержки Windows-игр в ОС Linux. Имеется улучшенная поддержка DirectX, различных видов защиты от копирования. Продукт проприетарный, но имеется общедоступная CVS-версия с несколько урезанной функциональностью.
  • CrossOver — основанная на Wine среда, специально оптимизируемая для запуска наиболее затребованных офисных и иных приложений для Windows в Linux, таких, как Microsoft Office, Apple iTunes, Adobe Photoshop и других. Продукт также платный и несвободный, но его разработчики — компания CodeWeavers — активно сотрудничают с командой Wine, и эти два проекта обмениваются своими наработками.
  • Линейка продуктов компании Etersoft на основе Wine (WINE@Etersoft) — набор сред, ориентированных не только на поддержку популярных в России деловых Windows-приложений, таких как 1С:Предприятие, БЭСТ, КонсультантПлюс, Гарант, КОМПАС-3D (WINE@Etersoft CAD), но и на такие, как Microsoft SQL Server (WINE@Etersoft SQL), PostgreSQL (WINE@Etersoft SQL, Postgre@Etersoft). WINE@Etersoft Network предназначен для организации совместной работы с приложениями и общими ресурсами по сети. Это платные продукты, разрабатываемые российской компанией Etersoft, которая поддерживает их для дистрибутивов Linux и FreeBSD[13].
  • WINE-LXP — ещё одна коммерческая реализация Wine, являющаяся частью Trustverse Desktop (ранее выпускавшегося как Linux XP). Об этой реализации известно, что отдельно она не продаётся, поддерживает запуск 1С:Предприятие и ещё несколько приложений[14].
  • PlayOnLinux — графический GTK интерфейс для настройки wine. Поддерживает скрипты установки, параллельные разные версии wine для отдельных приложений и позволяет использовать для каждого wine-приложения свой профиль.
  • Vineyard — ещё один GTK интерфейс для настройки wine.
  • q4wine — графический Qt интерфейс для настройки wine. Также позволяет использовать для каждого wine-приложения свой профиль.
  • winetricks — скрипт для установки некоторых основных компонентов (как правило, библиотек DLL и шрифтов), необходимых для правильной работы некоторых приложений под Wine. Проект Wine принимает сообщения об ошибках для пользователей Winetricks, в отличие от большинства сторонних приложений.
  • Wine-Doors — является приложением для GNOME, которое вносит дополнительную функциональность и стал альтернативой WineTools.
  • IEs4Linux — это утилита для установки всех версий Internet Explorer, включая версии от 4-й до 6-й и бета-версии 7. После двух лет молчания, в январе 2011, появилось сообщение о скором начале поддержки 9-й версии[15].
  • WineWizard — графический интерфейс для настройки и упрощения установки программ в Wine. Очень похож на PlayOnLinux, но в отличие от этого инструмента позволяет пользователю самому создавать решения для установки программ, а также выбирать нужные компоненты.
  • Odin — проект для запуска Windows-программ в OS/2 или их конвертирования в "родной" OS/2 формат.

Microsoft и Wine[править | править код]

В Microsoft официально не делали никаких публичных заявлений по поводу Wine. Однако Microsoft Update будет блокировать обновления для программного обеспечения от Microsoft, если программы будут запущены в средах, основанных на Wine. 16 февраля 2005 Ivan Leo Puoti обнаружил, что Microsoft начала проверять системный реестр в поисках конфигурационных ключей, оставленных Wine и будет блокировать доступ к Windows Update для любого компонента. Puoti написал[16]:

…даже если это только первоначальная попытка, похоже, что они хотят дискриминировать пользователей Wine. Это может быть приемлемо для компонентов/обновлений операционной системы, но, вероятно, является нарушением антимонопольного законодательства для всех остальных загрузок. Кроме того, это первый раз, когда Microsoft дала понять, что знает о существовании Wine

Windows Genuine Advantage (WGA) также проверяет на наличие ключей реестра от Wine. В WGA FAQ заявлено, что WGA, по своему предназначению, не будет работать в Wine, поскольку Wine не является «подлинной Windows»[17]. Когда проверка WGA определяет, что в системе запущен Wine, пользователю будет выдано сообщение, гласящее о том, что он запустил не подлинную Windows, и «загрузки ПО для подлинной Windows» не будут разрешены для этой системы. Тем не менее, было несколько сообщений о работе WGA в Wine[18][19], однако и эта возможность использования была закрыта в следующем обновлении компонента WGA. В случаях с Internet Explorer 7 и Windows Media Player, впоследствии, Microsoft удалила требования проверки WGA для установки.

Недостатки Wine[править | править код]

Несмотря на то, что Wine представляет собой довольно мощный программный продукт, у него есть определённые недостатки. К примеру, разработчики намеренно не заявляют поддержку USB из-за крайне высокой сложности задачи по её реализации. Таким образом, например, если вы запустите Apple iTunes в Wine, то он запустится, но не сможет взаимодействовать с устройствами, подключенными по USB, например, Apple iPhone, Apple iPad, Apple iPod. Для обеспечения их работы придётся устанавливать виртуальную машину с Microsoft Windows, и "пробрасывать" в неё ваши устройства, подключенные по USB.

См. также[править | править код]

Примечания[править | править код]

  1. Wine 2.20 Released — 2017.
  2. 1 2 Wine 2.0.3 Released
  3. SWSoft поймали на нарушении LGPL. Linux.org.ru (1 июня 2007). Проверено 14 марта 2009. Архивировано 1 июня 2012 года.
  4. 1 2 Parallels Desktop Watch (англ.). Проверено 14 марта 2009. Архивировано 17 июля 2012 года.
  5. Parallels using WINE? Possible liscensing issues... (англ.). Проверено 14 марта 2009. Архивировано 1 июня 2012 года.
  6. Licensing information (англ.). Parallels. Проверено 14 марта 2009. Архивировано 1 июня 2012 года.
  7. Wine 1.0 Released (англ.). WineHQ (17 июня 2008). Проверено 14 марта 2009. Архивировано 1 июня 2012 года.
  8. Wine 1.2 Released (англ.). WineHQ (16 июля 2010). Проверено 18 июля 2010. Архивировано 1 июня 2012 года.
  9. Wine 1.4 Released (англ.). WineHQ (7 марта 2012). Проверено 12 апреля 2012. Архивировано 1 июня 2012 года.
  10. BenchMark-0.9.5 (англ.). The Official Wine Wiki. Проверено 14 марта 2009. Архивировано 1 июня 2012 года.
  11. Picasa for Linux, Frequently Asked Questions (англ.)  (недоступная ссылка — история). Google. Проверено 14 марта 2009. Архивировано 3 января 2011 года.
  12. Open Source Patches: Wine (англ.). Google. Проверено 14 марта 2009. Архивировано 1 июня 2012 года.
  13. WINE@Etersoft: поддерживаемые операционные системы. Проверено 14 марта 2009. Архивировано 1 июня 2012 года.
  14. Trustverse WINE-LXP
  15. IEs 4 Linux News " Supporting IE9 on Linux
  16. Puoti, Ivan Leo Microsoft genuine downloads looking for wine (англ.). Список рассылки (16 февраля 2005). Проверено 14 марта 2009.
  17. Genuine Windows FAQ (англ.). Microsoft Corporation. Проверено 14 марта 2009. Архивировано 1 июня 2012 года.
  18. Ubuntu Linux Validates as Genuine Windows (англ.). Slashdot (17 июня 2007). Проверено 14 марта 2009. Архивировано 1 июня 2012 года.
  19. Linux is a Genuine Windows? turns out it is (англ.). bit-tech.net (6 августа 2005). Проверено 14 марта 2009. Архивировано 1 июня 2012 года.

Ссылки[править | править код]

Англоязычные[править | править код]

Русскоязычные[править | править код]