Wine: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
обновление данных
обновление данных
Строка 14: Строка 14:
|последняя версия = <!-- wikidata -->
|последняя версия = <!-- wikidata -->
|дата последней версии = <!-- wikidata -->
|дата последней версии = <!-- wikidata -->
|тестовая версия = 1.9.8
|тестовая версия = 1.9.9
|дата тестовой версии = [[16 апреля]] [[2016]]<ref>[https://www.winehq.org/news/2016041601 Wine 1.9.8 Released]</ref>
|дата тестовой версии = [[30 апреля]] [[2016]]<ref>[https://www.winehq.org/news/2016043001 Wine 1.9.9 Released]</ref>
|состояние = <!-- wikidata -->
|состояние = <!-- wikidata -->
|лицензия = <!-- wikidata -->
|лицензия = <!-- wikidata -->

Версия от 22:23, 29 апреля 2016

Wine
Логотип программы Wine
Скриншот программы Wine
Браузер Internet Explorer 6, запущенный в Wine под Linux. На переднем плане — утилита конфигурирования winecfg.
Тип слой совместимости с Windows API
Разработчик Wine project
Написана на Си[5]
Операционные системы Linux, Mac OS X и др. UNIX-подобные
Языки интерфейса русский и ещё 43 языка
Первый выпуск июнь 1993[1]
Последняя версия
Кандидат в релизы
Тестовая версия 1.9.9 (30 апреля 2016[4])
Репозиторий gitlab.winehq.org/wine/w…
Лицензия GNU LGPL
Сайт winehq.org (англ.)
Логотип Викисклада Медиафайлы на Викискладе
Gallium3D State Tracker for Direct3D 9 improves performance when playing D3D games on Wine

Wine (/waɪn/ — между «уа́йн» и «вайн», рус. Вино) — свободное программное обеспечение, позволяющее пользователям UNIX-подобных систем архитектуры x86 (и других архитектур, при наличии совместимости, например, AMD64) исполнять 16-, 32- и 64- битные приложения Microsoft Windows (64-битные приложения находятся в стадии ранней реализации). Wine также предоставляет программистам библиотеку программ Winelib, при помощи которой они могут компилировать Windows-приложения для портирования их в UNIX-подобные системы. Название Wine является рекурсивным акронимом и расшифровывается «Wine Is Not an Emulator» — «Wine — не эмулятор» (имеется в виду, что Wine не является эмулятором компьютера, как, например, qemu или VirtualBox, Wine — это альтернативная реализация Windows 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[6]. Установить факт нарушения смогли из-за скриншотов, опубликованных Parallels, на которых у персонажей игры Half-Life 2 были видны квадратные тени, что на тот момент являлось одной из известных ошибок Wine[7]. В компании Parallels подтвердили, что используют модифицированные исходные коды Wine и обещали предоставить их по запросу в течение 3 дней[8]. Тем не менее, разработчики Wine получили модифицированные исходные коды только через месяц. Кроме того, на сайте Parallels появилась информация о Wine как компоненте, и его лицензии[9], на чём конфликт фактически исчерпал себя[7].

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

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

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

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

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

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

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

Настройка Wine

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

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

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

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

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

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

Продукты, основанные на 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[16].
  • WINE-LXP — ещё одна коммерческая реализация Wine, являющаяся частью Trustverse Desktop (ранее выпускавшегося как Linux XP). Об этой реализации известно, что отдельно она не продаётся, поддерживает запуск 1С:Предприятие и ещё несколько приложений[17].
  • 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-й версии[18].

Microsoft и Wine

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

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

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

Недостатки Wine

Несмотря на то, что Wine представляет собой довольно мощный программный продукт, у него есть определённые проблемы реализации. К примеру, разработчики намеренно не заявляют поддержку USB, однако, по словам самих же разработчиков[23], работа с USB драйверами возможна.

Примечания

  1. https://groups.google.com/group/comp.os.linux.misc/msg/daa52d28ff44919f
  2. Wine 9.0 Released (англ.) — 2024.
  3. Wine 10.0-rc1 Released — 2024.
  4. Wine 1.9.9 Released
  5. The wine Open Source Project on Open Hub: Languages Page — 2006.
  6. SWSoft поймали на нарушении LGPL. Linux.org.ru (1 июня 2007). Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  7. 1 2 Parallels Desktop Watch (англ.). Дата обращения: 14 марта 2009.
  8. Parallels using WINE? Possible liscensing issues... (англ.). Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  9. Licensing information (англ.). Parallels. Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  10. Wine 1.0 Released (англ.). WineHQ (17 июня 2008). Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  11. Wine 1.2 Released (англ.). WineHQ (16 июля 2010). Дата обращения: 18 июля 2010. Архивировано 1 июня 2012 года.
  12. Wine 1.4 Released (англ.). WineHQ (7 марта 2012). Дата обращения: 12 апреля 2012. Архивировано 1 июня 2012 года.
  13. BenchMark-0.9.5 (англ.). The Official Wine Wiki. Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  14. Picasa for Linux, Frequently Asked Questions (англ.). Google. Дата обращения: 14 марта 2009. Архивировано 3 января 2011 года.
  15. Open Source Patches: Wine (англ.). Google. Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  16. WINE@Etersoft: поддерживаемые операционные системы. Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  17. Trustverse WINE-LXP
  18. IEs 4 Linux News " Supporting IE9 on Linux
  19. Puoti, Ivan Leo (16 февраля 2005). "Microsoft genuine downloads looking for wine" (Mailing list) (англ.). Дата обращения: 14 марта 2009.
  20. Genuine Windows FAQ (англ.). Microsoft Corporation. Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  21. Ubuntu Linux Validates as Genuine Windows (англ.). Slashdot (17 июня 2007). Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  22. Linux is a Genuine Windows? turns out it is (англ.). bit-tech.net (6 августа 2005). Дата обращения: 14 марта 2009. Архивировано 1 июня 2012 года.
  23. USB device support на wine-wiki

Ссылки

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

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