WINE

Материал из ALT Linux Wiki

Возможности, предоставляемые 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)


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

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

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

rpm [p8] http://ftp.altlinux.org/pub/distributions/ALTLinux p8/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)

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