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

Материал из ALT Linux Wiki
(не показана 41 промежуточная версия 12 участников)
Строка 1: Строка 1:
{{stub}}
=== Возможности, предоставляемые Wine ===
 
Wine позволяет запускать 32- и 64-битные исполняемые файлы (PE executable), имеющие расширение .exe и предназначенные для выполнения в Windows-совместимом окружении. Wine предоставляет все необходимые для запуска программ динамические библиотеки (.dll-файлы), а также поддерживает установку и работу дополнительных компонент (библиотек), требуемых программами. Такая установка может выполняться через инструмент установки сторонних дополнений winetricks или же непосредственно инсталлятором программы.
 
В частности, поддерживаются такие интерфейсы как
* GDI;
* GDIPlus;
* Print;
* CryptoAPI (частично);
* Internet Explorer (частично);
* DirectX;
* видео- и аудио-кодеки;
* .NET (в реализации Mono);
* кодирование и раскодирование изображений в форматах JPEG, PNG, GIF, TIFF, BMP;
* OpenGL;
* ODBC;
* LDAP (частично);
 
В частности, поддерживается установка и работа следующих сторонних дополнений:
* библиотек времени выполнения (runtime) для программ, собранных в средах разработки Visual C++ версий от 2003 до 2019 включительно, а также версии 6;
* Microsoft Data Access Components (MDAC 2.7, MDAC 2.8)
* MS Jet 4.0
* Microsoft .NET версий от 1.1 до 4.8 включительно;
* .NET Core версий 2.2 и 3.0;
* Microsoft Visual FoxPro версий от 6.0 до 9.0 включительно.
 
=== Версии Wine ===
=== Версии Wine ===


В дистрибутивах ALT Linux исторически сложилось так, что собирается две версии Wine (i586-wine)
В дистрибутивах ALT Linux представлены две версии Wine:
* собранный в полном соответствии с версией Wine от https://www.winehq.org/ - носит название Wine-vanila
* {{pkg|wine}} -- сборка Wine, основанного на коде проекта [https://www.wine-staging.com/ Wine-staging] и доработанного силами ALT Linux Team и компании [http://etersoft.ru/ Etersoft]. Именно эта сборка является основной для дистрибутивов ALT Linux, так как имеет лучшую функциональность и поддерживается разработчиками.
* свободня версия wine с http://etersoft.ru/ - фактически тот-же wine-vanila с открытыми патчами, разработанными компанией Etersoft, носит имя wine.
* {{pkg|wine-vanilla}} -- сборка оригинального Wine от [https://www.winehq.org/ WineHQ] без каких-либо изменений.


Мантейнером обеих пакетов является сотрудник компании Etersoft.
У компании Etersoft есть ещё одна -- коммерческая -- версия: [http://etersoft.ru/wine WINE@Etersoft] уже c «закрытыми» патчами, которая также совместима с дистрибутивами ALT Linux (впрочем, как и с другими дистрибутивами Linux).
 
У компании Etersoft есть ещё одна версия - коммерческая версия wine - WINE@Etersoft с уже "закрытыми" патчами, которая также совместима с дистрибутивами ALT Linux, впрочем как и с другими дистрибутивами Linux.


[[Wine/News|Обновления Wine]]


=== Работа Wine в 64-битных дистрибутивах ===
=== Работа Wine в 64-битных дистрибутивах ===


В 64-битных дистрибутивах пакет Wine, в отличии от 64-битного Windows, поддерживает только 64-битные Windows приложения.
В 64-битных дистрибутивах пакет {{pkg|wine}}, в отличии от 64-битного Windows, поддерживает только 64-битные Windows приложения.
   
   
Для понимания того какое это приложение, можно пояснить, что в 64-битном Windows 64-битные приложения ставятся в каталог "Program Files", а 32-битные в "Program Files (x86)" Как известно, большинство Windows приложений на сегодняшний день - 32 битные.
Для понимания того, какое это приложение, можно пояснить, что в 64-битном Windows 64-битные приложения ставятся в каталог "Program Files", а 32-битные в "Program Files (x86)"  


{{Важно|Поэтому в большинстве случаях для использования Wine, надо ставить не пакет wine, а пакет i586-wine (илм i586-wine-vanila)}}
Как известно, большинство Windows-приложений на сегодня -- 32-битные.  
i586-wine(-vanila) - это перепакованный 32-битный Wine для работфы в 64-битной среде по технологии arepo.


Для его установки необходимо, убедиться, что подключён репозиторий "x86_64-i586 classic"
{{Важно|Поэтому в большинстве случаев для использования Wine в 64-битной ОС надо ставить не пакет {{pkg|wine}}, а пакет {{pkg|i586-wine}} (или {{pkg|i586-wine-vanilla}}); при установленном {{pkg|[[eepm]]}} может помочь команда {{cmd|epm play i586-wine}}}}


Например, для бренча p7, эта строка в /etc/apt..list должна выглядеть так:
{{pkg|i586-wine}} и {{pkg|i586-wine-vanilla}} -- это перепакованный 32-битный Wine для работы в 64-битной среде по технологии [[biarch|arepo]].
 
Для его установки необходимо убедиться, что подключён репозиторий для псевдоархитектуры [[biarch|x86_64-i586]].
 
Например, для [[branches/p8|ветки p10]] команда {{cmd|apt-repo}}, помимо других строчек, должна в своём выводе иметь следующую строчку (например, в {{path|/etc/apt/sources.list.d/alt.list}}):


<source lang=text>
<source lang=text>
rpm [p7] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/p7/branch x86_64-i586 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic
</source>
</source>


А команда {{cmd|apt-repo}} помимом других строчек, должна в своём выводе иметь эту-же строчку
А после этого установить из 32-битных пакетов, например:
 
<source lang=text>
apt-get install i586-wine
</source>
 
==== Работа с сетью ====
 
Установите {{pkg|i586-glibc-nss}}:
apt-get install i586-glibc-nss
 
Для доменных пользователей Active Directory, [[ActiveDirectory/Login|которые входят через sssd]]:
apt-get install i586-sssd-client
 
==== 32-битные видеодрайверы ====
 
Установите {{pkg|i586-libwine-gl}} либо {{pkg|i586-libwine-vanilla-gl}} в зависимости от применяемого варианта wine, а также {{pkg|i586-libGL}} и {{pkg|i586-libGLU}}:
apt-get install -- $(rpm -qa --qf='%{NAME}' i586-libwine{,-vanilla})-gl
apt-get install i586-libGL i586-libGLU
 
и что-то вроде {{pkg|i586-xorg-dri-intel}} или {{pkg|i586-xorg-dri-radeon}} в зависимости от видеодрайвера, см. тж. ссылки ниже.


=== Ссылки по теме ===
для работы в виртуалке может понадобится
i586-xorg-dri-swrast
 
=== Ассоциация файлов с родными приложениями Linux ===
Нужна для возможности открытия документов из приложений в Wine через нативные программы в Линуксе.
 
Для этого создайте файл {{path|/usr/local/bin/winenative}} со следующим содержимым:
<source lang="sh">#!/bin/sh
$1 "`wine winepath -u "$2"`"</source>
Сделайте его исполняемым: {{cmd|chmod +x /usr/local/bin/winenative}}
 
Затем от пользователя запускаем редактор реестра: {{cmd|wine regedit}}. В '''HKEY_CLASSES_ROOT''' ищем ключ - pdffile для PDF-файлов, pngfile для PNG изображений и т.п., в нем будет ''shell > open''. В ''open'' может быть ''ddeexec'', который нужно удалить (если оставить, необходимая программа хоть и откроется, однако выскочит сообщение от Wine - Ошибка DDE.). Нам необходимо создать или изменить ключ ''command''. Значение ключа выставляем:
{{cmd|"Z:\usr\local\bin\winenative" xdg-open "%1"}}
Должно получиться так:
 
[[Файл:Pdf_regedit.png]]
 
После этого настроенный тип файла будет открываться в программе по умолчанию в Линуксе.
 
Для настройки нестандартных для Linux файлов - например doc/docx - настройка немного отличается. Нужно полностью создать следующую цепочку:
HKEY_CLASSES_ROOT\docfile\shell\open\command
с аналогичным значением: {{cmd|"Z:\usr\local\bin\winenative" xdg-open "%1"}}. После этого создать ветку ''HKEY_CLASSES_ROOT\doc'' со значением ''docfile''
 
== Полезные команды ==
 
wine cmd # Windows terminal / execute bat batch scripts, etc. (CLI)
wine control # Wines equivalent of the Windows Control panel (GUI)
wine eject # Eject a disc from the specified optical drive (CLI)
winepath # mangle Windows <-> Unix paths (CLI)
wine reg # registry editor (CLI)
wine taskmgr # same as Windows task manager utility (GUI)
wine uninstaller # global program installer / uninstaller (GUI)
wine winefile # alternative Wine file manager (GUI)
wine explorer # desktop (GUI)
 
== Ссылки по теме ==


* [http://winehq.org.ru/X8664 Установка WINE@Etersoft на 64-битные ОС]
* [http://winehq.org.ru/X8664 Установка WINE@Etersoft на 64-битные ОС]
* [[Arepo | Несколько архитектур в одно ОС (Arepo/Biarch) ]]
* [[Arepo|Несколько архитектур в одной ОС (Arepo/Biarch) ]]
** [[32-битный OpenGL на 64-битной системе с драйвером Intel]]
** [[32-битный OpenGL на 64-битной системе с драйвером NVIDIA]]
* [http://etersoft.ru/products/wine  Описание WINE@Etersoft ]
* [http://etersoft.ru/products/wine  Описание WINE@Etersoft ]
* [http://unixforum.org/index.php?showtopic=72141 Краткий FAQ по Wine]
* [http://etersoft.ru/products/wine/manual Документация по Wine на русском языке]
* [https://www.winehq.org/site/documentation Наиболее полная документация по Wine (на английском языке)]
* [http://winehq.org.ru Русский Wine (Русский Wiki по Wine)]
* [http://winehq.org.ru Русский Wine (Русский Wiki по Wine)]
* [[Cooking_Wine | Готовим Wine в домашних условиях]]
* [[Cooking_Wine|Готовим Wine в домашних условиях]]
 
* [http://unixforum.org/index.php?showforum=71 Практические вопросы > WINE]
* [http://unixforum.org/index.php?showforum=58 Практические вопросы > Бизнес и бухгалтерия под Линукс]
* [http://desktoplinux.ru/unix_guide/zapusk_programm_dlya_winodws_v_srede_linux_s_pomoshyu_wine Запуск программ]
* winetricks: [https://wiki.winehq.org/Winetricks wget], [https://habrahabr.ru/post/56618/ установка]
* Ассоциация файлов с родными приложениями Linux: [http://ubuntu-wine.ru/publ/associacija_fajlov_v_wine_s_ubuntu_prilozhenijami/1-1-0-39], [https://habrahabr.ru/post/102362/]
*[[Q4Wine]]
* [http://zen.yandex.ru/media/id/5d69652805fd9800ad701e95/altlinuks-opyt-nastroiki-i-ekspluatacii-chast-8-simply-linux-opyt-nastroiki-odnovremennoi-raboty-wine32-i-wine64-5e90bbdbca6eba4f096c6a53 опыт настройки одновременной работы WINE32 и WINE64] (с ручной установкой wine64 рядом с пакетным i586-wine)


[[Категория:HOWTO]][[Категория:FAQ]]
[[Категория:HOWTO]]
{{Category navigation|title=WINE|category=WINE|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Использование ПО|category=Использование ПО|sortkey={{SUBPAGENAME}}}}
[[en:Wine]]

Версия от 12:52, 1 мая 2022

Возможности, предоставляемые Wine

Wine позволяет запускать 32- и 64-битные исполняемые файлы (PE executable), имеющие расширение .exe и предназначенные для выполнения в Windows-совместимом окружении. Wine предоставляет все необходимые для запуска программ динамические библиотеки (.dll-файлы), а также поддерживает установку и работу дополнительных компонент (библиотек), требуемых программами. Такая установка может выполняться через инструмент установки сторонних дополнений winetricks или же непосредственно инсталлятором программы.

В частности, поддерживаются такие интерфейсы как

  • GDI;
  • GDIPlus;
  • Print;
  • CryptoAPI (частично);
  • Internet Explorer (частично);
  • DirectX;
  • видео- и аудио-кодеки;
  • .NET (в реализации Mono);
  • кодирование и раскодирование изображений в форматах JPEG, PNG, GIF, TIFF, BMP;
  • OpenGL;
  • ODBC;
  • LDAP (частично);

В частности, поддерживается установка и работа следующих сторонних дополнений:

  • библиотек времени выполнения (runtime) для программ, собранных в средах разработки Visual C++ версий от 2003 до 2019 включительно, а также версии 6;
  • Microsoft Data Access Components (MDAC 2.7, MDAC 2.8)
  • MS Jet 4.0
  • Microsoft .NET версий от 1.1 до 4.8 включительно;
  • .NET Core версий 2.2 и 3.0;
  • Microsoft Visual FoxPro версий от 6.0 до 9.0 включительно.

Версии Wine

В дистрибутивах ALT Linux представлены две версии Wine:

  • wine -- сборка Wine, основанного на коде проекта Wine-staging и доработанного силами ALT Linux Team и компании Etersoft. Именно эта сборка является основной для дистрибутивов ALT Linux, так как имеет лучшую функциональность и поддерживается разработчиками.
  • wine-vanilla -- сборка оригинального Wine от WineHQ без каких-либо изменений.

У компании Etersoft есть ещё одна -- коммерческая -- версия: WINE@Etersoft уже c «закрытыми» патчами, которая также совместима с дистрибутивами ALT Linux (впрочем, как и с другими дистрибутивами Linux).

Обновления Wine

Работа Wine в 64-битных дистрибутивах

В 64-битных дистрибутивах пакет wine, в отличии от 64-битного Windows, поддерживает только 64-битные Windows приложения.

Для понимания того, какое это приложение, можно пояснить, что в 64-битном Windows 64-битные приложения ставятся в каталог "Program Files", а 32-битные в "Program Files (x86)"

Как известно, большинство Windows-приложений на сегодня -- 32-битные.

Поэтому в большинстве случаев для использования Wine в 64-битной ОС надо ставить не пакет wine, а пакет i586-wine (или i586-wine-vanilla); при установленном eepm может помочь команда epm play i586-wine


i586-wine и i586-wine-vanilla -- это перепакованный 32-битный Wine для работы в 64-битной среде по технологии arepo.

Для его установки необходимо убедиться, что подключён репозиторий для псевдоархитектуры x86_64-i586.

Например, для ветки p10 команда apt-repo, помимо других строчек, должна в своём выводе иметь следующую строчку (например, в /etc/apt/sources.list.d/alt.list):

rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic

А после этого установить из 32-битных пакетов, например:

apt-get install i586-wine

Работа с сетью

Установите i586-glibc-nss:

apt-get install i586-glibc-nss

Для доменных пользователей Active Directory, которые входят через sssd:

apt-get install i586-sssd-client

32-битные видеодрайверы

Установите i586-libwine-gl либо i586-libwine-vanilla-gl в зависимости от применяемого варианта wine, а также i586-libGL и i586-libGLU:

apt-get install -- $(rpm -qa --qf='%{NAME}' i586-libwine{,-vanilla})-gl
apt-get install i586-libGL i586-libGLU

и что-то вроде i586-xorg-dri-intel или i586-xorg-dri-radeon в зависимости от видеодрайвера, см. тж. ссылки ниже.

для работы в виртуалке может понадобится

i586-xorg-dri-swrast

Ассоциация файлов с родными приложениями Linux

Нужна для возможности открытия документов из приложений в Wine через нативные программы в Линуксе.

Для этого создайте файл /usr/local/bin/winenative со следующим содержимым:

#!/bin/sh
$1 "`wine winepath -u "$2"`"

Сделайте его исполняемым: chmod +x /usr/local/bin/winenative

Затем от пользователя запускаем редактор реестра: wine regedit. В HKEY_CLASSES_ROOT ищем ключ - pdffile для PDF-файлов, pngfile для PNG изображений и т.п., в нем будет shell > open. В open может быть ddeexec, который нужно удалить (если оставить, необходимая программа хоть и откроется, однако выскочит сообщение от Wine - Ошибка DDE.). Нам необходимо создать или изменить ключ command. Значение ключа выставляем:

"Z:\usr\local\bin\winenative" xdg-open "%1"

Должно получиться так:

Pdf regedit.png

После этого настроенный тип файла будет открываться в программе по умолчанию в Линуксе.

Для настройки нестандартных для Linux файлов - например doc/docx - настройка немного отличается. Нужно полностью создать следующую цепочку:

HKEY_CLASSES_ROOT\docfile\shell\open\command

с аналогичным значением: "Z:\usr\local\bin\winenative" xdg-open "%1". После этого создать ветку HKEY_CLASSES_ROOT\doc со значением docfile

Полезные команды

wine cmd # Windows terminal / execute bat batch scripts, etc. (CLI)
wine control # Wines equivalent of the Windows Control panel (GUI)
wine eject # Eject a disc from the specified optical drive (CLI)
winepath # mangle Windows <-> Unix paths (CLI)
wine reg # registry editor (CLI)
wine taskmgr # same as Windows task manager utility (GUI)
wine uninstaller # global program installer / uninstaller (GUI)
wine winefile # alternative Wine file manager (GUI)
wine explorer # desktop (GUI)

Ссылки по теме