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.

июнь 1993[1]

Wine
Логотип программы Wine
Браузер Internet Explorer 6, запущенный в Wine под GNU/Linux. На переднем плане — утилита для настройки Wine winecfg.
Браузер Internet Explorer 6, запущенный в Wine под GNU/Linux. На переднем плане — утилита для настройки Wine winecfg.
Тип слой совместимости с Windows API
Разработчик Wine project
Написана на Си[6]
Операционная система GNU/Linux, Apple macOS и др. UNIX-подобные
Языки интерфейса русский и ещё 43 языка
Первый выпуск
Последняя версия
Тестовая версия
Лицензия GNU LGPL, GNU GPL, LGPL-2.1[d] и лицензия X11[d][7]
Сайт winehq.org​ (нем.)​ (англ.)​ (исп.)​ (фр.)​ (кор.)​ (польск.)​ (порт.)​ (тур.)​ (укр.)
Логотип Викисклада Медиафайлы на Викискладе

Gallium3D State Tracker for Direct3D 9 improves performance when playing D3D games on Wine

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[8]. Установить факт нарушения смогли из-за скриншотов, опубликованных Parallels, на которых у персонажей игры Half-Life 2 были видны квадратные тени, что на тот момент являлось одной из известных ошибок Wine[9]. В компании Parallels подтвердили, что используют модифицированные исходные коды Wine и обещали предоставить их по запросу в течение 3 дней[10]. Тем не менее, разработчики Wine получили модифицированные исходные коды только через месяц. Кроме того, на сайте Parallels появилась информация о Wine как компоненте, и его лицензии[11], на чём конфликт фактически исчерпал себя[9].

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

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

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

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.

26 декабря 2017 года вышел тестовый релиз — версия Wine под номером 3.0 r-2

18 января 2018 года вышел стабильный релиз — версия Wine под номером 3.0 [15]

Технические особенности

  Настройка Wine

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

Wine воспринимает системные вызовы Windows-приложений к библиотекам операционной системы и подменяет их своими. Таким образом, эмуляции процессора, аналогично другим эмуляторам типа VMware и QEMU, не происходит, и приложения могут выполняться в Wine почти так же быстро, как и в «родной» операционной системе (а в некоторых случаях и быстрее[16]). Для своей работы 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 и некоторых других.
  • Компанией Borland была выпущена среда разработки Kylix, использующая код Wine (в настоящий момент разработка и поддержка прекращена).
  • ReactOS — проект свободной операционной системы, ставящий целью полную совместимость с Windows на уровне программ и драйверов. Не являясь основанным на Wine, проект ReactOS активно сотрудничает с ним, берёт из него многие наработки и делится своим кодом.
  • Picasa, Google Earth. При портировании под Linux использовались библиотеки Wine[17][18].

Продукты, основанные на 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[19].
  • WINE-LXP — ещё одна коммерческая реализация Wine, являющаяся частью Trustverse Desktop (ранее выпускавшегося как Linux XP). Об этой реализации известно, что отдельно она не продаётся, поддерживает запуск 1С:Предприятие и ещё несколько приложений[20].
  • 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-й версии[21].
  • WineWizard — графический интерфейс для настройки и упрощения установки программ в Wine. Очень похож на PlayOnLinux, но в отличие от этого инструмента позволяет пользователю самому создавать решения для установки программ, а также выбирать нужные компоненты.
  • Odin — проект для запуска Windows-программ в OS/2 или их конвертирования в «родной» OS/2 формат.

Microsoft и Wine

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

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

div:lang(ar),.mw-parser-output .ts-oq-content>div:lang(fa),.mw-parser-output .ts-oq-content>div:lang(he),.mw-parser-output .ts-oq-content>div:lang(ja),.mw-parser-output .ts-oq-content>div:lang(ko),.mw-parser-output .ts-oq-content>div:lang(th),.mw-parser-output .ts-oq-content>div:lang(ur),.mw-parser-output .ts-oq-content>div:lang(zh){font-style:normal}.mw-parser-output .ts-oq .mw-customtoggle{margin-left:1em;text-align:left}body.skin-minerva .mw-parser-output .ts-oq-header{background-color:transparent;font-weight:normal}body.skin-minerva .mw-parser-output .ts-oq .ts-oq-header.ts-oq-header,body.skin-minerva .mw-parser-output .ts-oq .ts-oq-content{padding:0;font-size:100%}]]>Оригинальный текст (англ.)[показатьскрыть]…even if this is only an initial attempt, they appear to want to discriminate against Wine users. While this may be acceptable for operating system components/updates, this is probably a violation of anti-trust law for all other downloads. It’s also the first time Microsoft has acknowledged the existence of Wine.

Windows Genuine Advantage (WGA) также проверяет на наличие ключей реестра от Wine. В WGA FAQ заявлено, что WGA, по своему предназначению, не будет работать в Wine, поскольку Wine не является «подлинной Windows»[23]. Когда проверка WGA определяет, что в системе запущен Wine, пользователю будет выдано сообщение, гласящее о том, что он запустил не подлинную Windows, и «загрузки ПО для подлинной Windows» не будут разрешены для этой системы. Тем не менее, было несколько сообщений о работе WGA в Wine[24][25], однако и эта возможность использования была закрыта в следующем обновлении компонента 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. https://groups.google.com/group/comp.os.linux.misc/msg/daa52d28ff44919f
  2. Wine 7.0 Released — 2022.
  3. Wine release 7.0 — 2022.
  4. https://source.winehq.org/git/wine.git/tag/wine-7.0 — 2022.
  5. https://www.winehq.org/announce/7.14
  6. The wine Open Source Project on Open Hub: Languages Page — 2006.
  7. https://winehq.org/pipermail/wine-devel/2002-February/004487.html
  8. SWSoft поймали на нарушении LGPL (неопр.). Linux.org.ru (1 июня 2007). Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  9. 1 2 Parallels Desktop Watch (англ.). Дата обращения: 14 марта 2009. Архивировано 17 июля 2012 года.
  10. Parallels using WINE? Possible liscensing issues… (англ.). Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  11. Licensing information (англ.). Parallels. Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  12. Wine 1.0 Released (англ.). WineHQ (17 июня 2008). Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  13. Wine 1.2 Released (англ.). WineHQ (16 июля 2010). Дата обращения: 18 июля 2010. Архивировано 1 июня 2012 года.
  14. Wine 1.4 Released (англ.). WineHQ (7 марта 2012). Дата обращения: 12 апреля 2012. Архивировано 1 июня 2012 года.
  15. Wine 3.0 Released (англ.), WineHQ. Дата обращения 19 января 2018.
  16. BenchMark-0.9.5 (англ.). The Official Wine Wiki. Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  17. Picasa for Linux, Frequently Asked Questions (англ.) (недоступная ссылка). Google. Дата обращения: 14 марта 2009. Архивировано 3 января 2011 года.
  18. Open Source Patches: Wine (англ.). Google. Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  19. WINE@Etersoft: поддерживаемые операционные системы (неопр.). Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  20. Trustverse WINE-LXP Архивировано 23 июня 2010 года.
  21. IEs 4 Linux News » Supporting IE9 on Linux
  22. Puoti, Ivan Leo Microsoft genuine downloads looking for wine (англ.). Список рассылки (16 февраля 2005). Дата обращения: 14 марта 2009.
  23. Genuine Windows FAQ (англ.). Microsoft Corporation. Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  24. Ubuntu Linux Validates as Genuine Windows (англ.). Slashdot (17 июня 2007). Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  25. Linux is a Genuine Windows? turns out it is (англ.). bit-tech.net (6 августа 2005). Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.

Ссылки

Wine:

Англоязычные

Русскоязычные