Полное руководство по wine

Состояние перевода: На этой странице представлен перевод статьи Wine. Дата последней синхронизации: 11 июля 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Wine — слой совместимости, позволяющий запускать приложения Microsoft Windows в Unix-подобных операционных системах. Программы, запущенные в Wine, работают так же, как и «родные» — без потерь производительности и увеличения потребления памяти, характерных для эмуляторов.

Важно:

  • Wine не изолирован от вашей системы.
  • Если в рамках вашей учётной записи у вас есть доступ к определённому файлу или ресурсу, то программы, запущенные в Wine, тоже его получат. Некоторые меры предосторожности на этот случай описаны в разделе #Отдельная учётная запись для запуска Wine и статье Безопасность#Запуск приложений в песочнице.
  • Wine может запускать в том числе и вредоносные программы (см. Wine FAQ).

Установка

Чтобы установить Wine, подключите репозиторий multilib и установите пакет wine (development-версия) или wine-staging (testing). Wine Staging — пропатченная версия Wine с исправлениями багов и некоторыми возможностями, которые ещё не были добавлены в stable- и development-версии. См. также #Графические драйвера и #Звук.

Если вы собираетесь запускать приложения, которые зависят от Internet Explorer и .NET, то имеет смысл также установить пакеты wine-gecko и wine-mono соответственно. Этот шаг не является обязательным, поскольку Wine может самостоятельно подгружать необходимые файлы по мере необходимости. Тем не менее, если скачать файлы заранее, то работать будет можно без подключения к сети, а Wine не придётся скачивать файлы каждый раз, когда они потребуются какому-нибудь префиксу.

Сторонние приложения

Перечисленные ниже приложения являются отдельными проектами, с собственными сообществами и веб-сайтами, и не поддерживаются основным сообществом Wine. Подробности можно найти в Wine Wiki.

  • CrossOver — Платная коммерческая версия Wine с более надёжной службой поддержки пользователей.
https://www.codeweavers.com || crossoverAUR
  • icoextract — Генерирует эскизы для исполняемых файлов Windows (.exe и .dll).
https://github.com/jlu5/icoextract || icoextractAUR
  • Lutris — Игровой лончер для всех типов игр, в том числе игр Wine (с управлением префиксами), игр Linux и эмуляторов.
https://lutris.net || lutris
  • PlayOnLinux — Графический префикс менеджер для Wine. Включает скрипты для помощи в установке и настройке программ.
https://www.playonlinux.com || playonlinuxAUR
  • Proton — Иструмент совместимости для Steam на основе Wine и дополнительных компонентов. На странице ProtonDB можно найти список совместимости.
https://github.com/ValveSoftware/Proton || protonAUR
  • PyWinery — Простой графический префикс менеджер для Wine.
https://github.com/ergoithz/pywinery || pywineryAUR
  • Q4Wine — Графический префикс менеджер для Wine. Может экспортировать темы Qt в конфигурацию Wine для лучшей интеграции.
https://sourceforge.net/projects/q4wine/ || q4wine-gitAUR
  • Bottles — Графический менеджер префиксов и запуска программ для Wine на основе GTK.
https://usebottles.com/ || bottlesAUR

Настройка

Настройка Wine обычно выполняется следующими инструментами:

  • winecfg — графический настройщик Wine, запускается командой winecfg.
  • regedit — утилита Wine для редактирования реестра, запускается командой regedit. См. статью Useful Registry Keys на сайте WineHQ.
  • control — реализация Панели управления Windows для Wine, запускается командой wine control.
  • Полный список команд можно найти в статье List of Commands на WineHQ.

WINEPREFIX

По умолчанию Wine хранит файлы настроек и установленные программы Windows в каталоге ~/.wine. Этот каталог обычно называют «префикс Wine» или «бутылка Wine» (wine bottle — «бутылка вина»). Каталог создаётся/обновляется каждый раз, когда вы запускаете программу Windows или одну из связанных с Wine программ вроде winecfg. Каталог префикса содержит дерево, которое ваши программы будут видеть как диск C:.

С помощью переменной окружения WINEPREFIX можно задать произвольный каталог для префикса. Это удобно, если вы хотите использовать разные настройки для разных Windows-программ. Когда программа впервые запускается с новым префиксом, Wine автоматически создает каталог с чистым диском C и реестром.

Например, если вы запустите одну программу командой $ env WINEPREFIX=~/.win-a wine program-a.exe, а другую — командой $ env WINEPREFIX=~/.win-b wine program-b.exe, то у каждой программы будет отдельный диск С и отдельный реестр.

Примечание: Префикс Wine не является песочницей! Программа, запущенная в Wine, всё ещё имеет доступ к остальной файловй системе. Например, диск Z: будет отображаться на / вне зависимости от текущего префикса.

Чтобы создать нужный префикс без запуска Windows-программы или графического инструмента, выполните:

$ env WINEPREFIX=~/.префикс wineboot -u

WINEARCH

Wine по умолчанию запускает 64-битное окружение. Это поведение можно изменить переменной окружения WINEARCH. Переименуйте каталог ~/.wine и создайте новое окружение Wine командой $ WINEARCH=win32 winecfg. Это окружение будет 32-битным. Если переменная WINEARCH не указана, то создаётся 64-битное окружение.

WINEARCH можно совместить с WINEPREFIX, чтобы создать отдельные окружения для win32 и win64:

$ WINEARCH=win32 WINEPREFIX=~/win32 winecfg
$ WINEPREFIX=~/win64 winecfg

Также WINEARCH можно совместить с другими программами Wine вроде winetricks (Steam взят для примера):

WINEARCH=win32 WINEPREFIX=~/.local/share/wineprefixes/steam winetricks steam

Узнать архитектуру существующего префикса можно в файле реестра. Следующая команда считывает системный реестр префикса ~/.wine и возвращает строку #arch=win32 или #arch=win64 в зависимости от типа архитектуры:

$ grep '#arch' ~/.wine/system.reg

Графические драйвера

Вам придётся установить 32-битную версию вашего графического драйвера. Выберите нужный пакет из столбца OpenGL (multilib) в таблице Xorg#Установка драйвера.

Верным признаком того, что ваш драйвер не подходит или неправильно настроен, будет следующее сообщение Wine в окне терминала:

Direct rendering is disabled, most likely your OpenGL drivers have not been installed correctly

Примечание: После установки нужной библиотеки необходимо перезагрузить X.

Звук

При запуске приложений в Wine могут возникнуть некоторые проблемы со звуком. Убедитесь, что в winecfg выбрано только одно звуковое устройство.

Установите необходимые вашему аудиодрайверу пакеты:

  • Для ALSA установите lib32-alsa-lib и lib32-alsa-plugins.
  • Для PulseAudio установите lib32-libpulse.
  • Для OSS установите lib32-alsa-oss.

Дополнительные пакеты:

  • Играм, в которых используется продвинутая звуковая система (например, TESV: Skyrim), может потребоваться пакет lib32-openal.

Если winecfg по-прежнему не может обнаружить звуковой драйвер (Selected driver: (none)), настройте его через реестр. Например, если не работает микрофон в 32-битном приложении Windows на 64-битной базовой установке wine-1.9.7, получить полный доступ к звуковому аппаратному обеспечению можно следующим образом: откройте regedit, найдите HKEY_CURRENT_USER → Software → Wine → Drivers, добавьте строку с названием Audio и задайте ей значение alsa. Возможно, также поможет пересоздание префикса.

Поддержка MIDI

MIDI — довольно популярная музыкальная система видеоигр 90-х. Если вы пытаетесь запустить старую игру, то «из коробки» звук скорее всего работать не будет.

В Wine имеется отличная поддержка MIDI. Тем не менее, в первую очередь она должна работать на вашей хостовой системе, как объяснено в статье MIDI. Кроме того, убедитесь, что Wine использует правильный MIDI-разъём.

Прочие зависимости

Некоторым приложениям могут потребоваться дополнительные пакеты для различных целей:

  • Проигрывание музыки: lib32-mpg123.
  • «Родные» библиотеки обработки изображений: lib32-giflib и lib32-libpng.
  • Поддержка шифрования: lib32-gnutls.
  • 32-битные видеокодеки: lib32-gst-plugins-base, lib32-gst-plugins-good, lib32-gst-plugins-badAUR и lib32-gst-plugins-uglyAUR.
  • NTLM-аутентификация: samba.

Шрифты

Если в приложении Wine шрифты отображаются неразборчиво, проблема может быть в том, что они просто не установлены. Вы можете настроить Wine, чтобы он использовал системные шрифты:

$ cd ${WINEPREFIX:-~/.wine}/drive_c/windows/Fonts && for i in /usr/share/fonts/**/*.{ttf,otf}; do ln -s "$i" ; done

Wine использует FreeType для построения шрифтов, и стандартные настройки FreeType изменились несколько релизов назад. Попробуйте использовать следующее окружение для Wine-программ:

FREETYPE_PROPERTIES="truetype:interpreter-version=35"

Можно также попробовать установить шрифты Microsoft (TrueType) в префикс Wine. Если это не поможет, попробуйте сначала выполнить winetricks corefonts, а затем, как крайнее средство, winetricks allfonts.

После выполнения этих команд «убейте» все запущенные сервера Wine и выполните winecfg. Шрифты должны быть доступны.

Если шрифты выглядат немного смазанными, импортируйте следующий текстовый файл в реестр Wine с помощью regedit:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USERSoftwareWineX11 Driver]
"ClientSideWithRender"="N"

Для мониторов с высоким разрешением значения dpi можно задать в winecfg.

См. также Настройка шрифтов#Приложения без поддержки fontconfig.

Сглаживаение шрифтов

Хороший способ улучшить рендеринг шрифтов в Wine — включить сглаживание ClearType. Следующий скрипт включит режим «Subpixel smoothing (ClearType) RGB»:

cat << EOF > /tmp/fontsmoothing
REGEDIT4

[HKEY_CURRENT_USERControl PanelDesktop]
"FontSmoothing"="2"
"FontSmoothingOrientation"=dword:00000001
"FontSmoothingType"=dword:00000002
"FontSmoothingGamma"=dword:00000578
EOF

WINE=${WINE:-wine} WINEPREFIX=${WINEPREFIX:-$HOME/.wine} $WINE regedit /tmp/fontsmoothing 2> /dev/null

Подробнее см. оригинальный ответ.

Иконки рабочего стола

Когда установщик приложения Windows пытается создать ярлык, Wine создает файл .desktop вместо него.

  • Ярлыки рабочего стола сохраняются в каталоге ~/Desktop.
  • Ярлыки стартового меню сохраняются в каталоге ~/.local/share/applications/wine/Programs/.

Примечание: Wine не поддерживает установку приложений Windows для всех пользователей, поэтому в каталоге /usr/share/applications файлы .desktop не сохраняются. См. описание бага 11112.

Совет: Если пункты меню не создались во время установки или были случайно удалены, попробуйте команду wine winemenubuilder.

Пункты меню для утилит Wine

По умолчанию, при установке Wine пункты меню и иконки для относящихся к Wine программ (например, winecfg, winebrowser и т.д.) не создаются. Чтобы это исправить, установите мета-пакет wine-installerAUR или wine-installer-gitAUR (у последнего есть дополнительные зависимости) или следуйте инструкциям ниже.

Во-первых, установите любую программу Windows, чтобы Wine создал меню. Затем создайте файлы со следующим содержанием в каталоге ~/.local/share/applications/wine/:

wine-browsedrive.desktop
[Desktop Entry]
Name=Browse C: Drive
Comment=Browse your virtual C: drive
Exec=wine winebrowser c:
Terminal=false
Type=Application
Icon=folder-wine
Categories=Wine;
wine-uninstaller.desktop
[Desktop Entry]
Name=Uninstall Wine Software
Comment=Uninstall Windows applications for Wine
Exec=wine uninstaller
Terminal=false
Type=Application
Icon=wine-uninstaller
Categories=Wine;
wine-winecfg.desktop
[Desktop Entry]
Name=Configure Wine
Comment=Change application-specific and general Wine options
Exec=winecfg
Terminal=false
Icon=wine-winecfg
Type=Application
Categories=Wine;

После этого создайте следующий файл в каталоге ~/.config/menus/applications-merged/:

wine.menu
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
  <Name>Applications</Name>
  <Menu>
    <Name>wine-wine</Name>
    <Directory>wine-wine.directory</Directory>
    <Include>
      <Category>Wine</Category>
    </Include>
  </Menu>
</Menu>

Если с этими настройками иконки выглядят уродливо (или не появились вовсе), то их нет среди доступных. Необходимо заменить настройки явным указанием расположения желаемых иконок. Того же можно добиться правым кликом по иконке и изменением настроек. Большой набор иконок для ярлыков можно найти в GNOME-colors.

Удаление пунктов меню

Созданные Wine пункты меню хранятся в каталоге ~/.local/share/applications/wine/Programs/. Если удалить соответствующий программе файл .desktop, то приложение исчезнет из меню.

Кроме того, чтобы удалить нежелательные расширения Wine, выполните следующие команды (источник — сайт Wine):

$ rm ~/.local/share/mime/packages/x-wine*
$ rm ~/.local/share/applications/wine-extension*
$ rm ~/.local/share/icons/hicolor/*/*/application-x-wine-extension*
$ rm ~/.local/share/mime/application/x-wine-extension*

В KDE, возможно, для полной очистки меню также потребуется удалить файлы wine-*.menu из каталога /.config/menus/.

Внешний вид

Оформление в стиле XP можно загрузить отсюда. Руководство по установке можно найти здесь. После установки выберите тему оформления в winecfg.

Пользователи Wine Staging могут вместо этого включить опцию Enable GTK3 Theming в разделе Staging winecfg. Будет выбрана текущая GTK-тема.

Печать

Чтобы использовать принтер (локальный или удалённый) с приложениями Wine в win32 prefixes (например, MS Word), установите пакет lib32-libcups, перезагрузите Wine (wineboot) и перезапустите приложение.

Сеть

Для приложений, работающих через TLS или HTTPS, установите пакет lib32-gnutls.

Wine также могут потребоваться специальные разрешения (capability) на доступ к сети по протоколу ICMP (пинги) (см. WineHQ FAQ):

# setcap cap_net_raw+epi /usr/bin/wine-preloader

Если после этого возникают проблемы (например, при обработке исключений или привилегированных команд), для удаления capability выполните:

# setcap -r /usr/bin/wine-preloader

Использование

Важно: Не устанавливайте и не запускайте приложения Wine с правами root! Подробнее см. Wine FAQ.

Общую информацию об использовании Wine можно найти на странице Wine User’s Guide.

Запуск конкретных приложений Windows в Wine описан на странице Wine Application Database (AppDB).

Wayland

В настоящее время Wine не поддерживает Wayland напрямую, но вы можете использовать XWayland.

Некоторые попытки реализовать поддержку Wayland:

  • Экспериментальный драйвер Wayland для Wine, который поддерживает работу OpenGL- и Windows GDI-приложений. См. это и это сообщения почтовой рассылки wine-devel.
  • wine-wayland: альтернативная сборка Wine с поддержкой Wayland посредством Vulkan (работает с DirectX 9, 10 и 11 (через #DXVK) и с Vulkan-совместимыми приложениями).

Советы и рекомендации

Wineconsole

Часто появляется необходимость запустить .exe-файл, чтобы пропатчить файлы игры, например, добавить поддержку широкоформатного экрана в старую игру. Запуск .exe-файла в Wine обычным способом ни к чему не приведёт. В этом случае откройте терминал и выполните:

$ wineconsole cmd

Затем перейдите в каталог с .exe-файлом и запустите его.

Winetricks

Winetricks — скрипт, помогающий установить базовые зависимости, необходимые программам Windows. Устанавливаются DirectX 9.x, MSXML (для Microsoft Office 2007 и Internet Explorer), библиотеки Visual Runtime и многое другое.

Установите пакет winetricks или winetricks-gitAUR, после чего выполните:

$ winetricks

Графический интерфейс можно установить с пакетом zenity.

Производительность

CSMT

CSMT — технология Wine, использующая отдельный поток для вызовов OpenGL, что значительно повышает производительность. Начиная с Wine 3.2 CSMT по умолчанию включён. Для более ранних версий Wine его необходимо включить вручную. Для «ванильного» Wine запустите wine regedit и задайте DWORD-значение 0x01 (включено) для HKEY_CURRENT_USER -> Software > Wine > Direct3D > csmt. Для Wine Staging выполните winecfg и включите CSMT на вкладке Staging.

Имейте в виду, что для некоторых приложений CSMT может привести к обратному эффекту — к снижению производительности. В этом случае отключите его вручную, создав/изменив значение в реестре на 0x00 (отключено).

Подробная информация:

  • Обсуждение на Phoronix Forum с разработчиком CSMT Stefan Dösinger.

Режим OpenGL в играх

В некоторых играх есть поддержка OpenGL, который может работать лучше, чем стандартный DirectX. Хотя способ включения OpenGL варьируется от приложения к приложению, многие игры используют флаг -opengl:

$ wine /путь/к/3d_игре.exe -opengl

Разумеется, перед запуском приложения в этом режиме необходимо тщательно изучить его документацию и информацию из базы данных Wine AppDB.

DXVK

DXVK — новая многообещающая реализация DirectX версий 9, 10 и 11 поверх Vulkan. Значительно повышает производительность и в некоторых случаях обеспечивает даже лучшую совместимость. Battlefield 1, например, работает только под DXVK. С другой стороны, на данный момент DXVK поддерживает не все игры Wine.

Чтобы использовать DXVK, установите пакет dxvk-binAUR. Команда ниже активирует его для указанного префикса (по умолчанию ~/.wine):

$ WINEPREFIX=префикс setup_dxvk install

Примечание: В Wine версий до 3.5 необходимо настроить поддержку Vulkan вручную, следуя указаниям на GitHub.

Важно: DXVK замещает DLL-файлы для DirectX 10 и 11. В многопользовательских онлайн-играх это может быть принято за использование читов, что закончится блокировкой аккаунта. Используйте на свой страх и риск!

Gallium Nine

Для открытых драйверов на основе Gallium (в основном карты AMD) существует проект трекера состояний Gallium Direct3D, который ставит целью добиться производительноси, сравнимой с нативными показателями DirectX 9. В большинстве случаев выдаёт вдвое большую производительность, чем стандартный Wine, и меньшее количество визуальных помех. Потреблене времени центрального процессора значительно ниже по сравнению с CSMT.

Чтобы его использовать, установите пакет wine-nine. Это одиночный пакет, подходящий для любой версии Wine. Команда wine ninewinecfg позволяет проверить, включён Gallium Nine или нет.

Удаление ненужных файловых ассоциаций

Wine используется как приложение по умолчанию для большого количества форматов файлов. Некоторые из них, например, vbs или chm, являются специфичными для Windows, и такая привязка вполне логична. С другой стороны, довольно неприятно, когда файл gif, jpeg, txt или js открывается в запущенном в Wine браузере Internet Explorer или редакторе Notepad.

Ассоциации Wine хранятся в каталоге ~/.local/share/applications/ в виде файлов wine-extension-расширение.desktop. Удалите те из них, которые не нужны, либо удалите все расширения Wine:

$ rm -f ~/.local/share/applications/wine-extension*.desktop
$ rm -f ~/.local/share/icons/hicolor/*/*/application-x-wine-extension*

После этого очистите кэш:

$ rm -f ~/.local/share/applications/mimeinfo.cache
$ rm -f ~/.local/share/mime/packages/x-wine*
$ rm -f ~/.local/share/mime/application/x-wine-extension*

И обновите его:

$ update-desktop-database ~/.local/share/applications
$ update-mime-database ~/.local/share/mime/

В качестве альтернативы можно удалить все файлы, относящиеся к Wine:

$ find ~/.local/share -name "*wine*" | xargs -I '{}' --no-run-if-empty rm -r '{}'

После этого тоже обновите кэш, как показано выше.

Имейте в виду, что Wine может создать новые ассоциации и даже пересоздать удалённые, если того потребует какое-нибудь приложение.

Запрет на создание файловых ассоциаций

Примечание: Указанные действия необходимо выполнять для каждого WINEPREFIX, которому вы желаете запретить обновление файловых ассоциаций, за исключением варианта с редактированием файла /usr/share/wine/wine.inf (см. ниже).

Данный метод предотвращает создание файловых ассоциаций, но оставляет возможность для создания XDG-файлов .desktop (которые вы видите, например, в меню).

Если вы хотите запретить Wine создавать файловые ассоциации, запустите winecfg и уберите галочку «Manage File Associations» на вкладке Desktop Integration. Подробнее см. Wine FAQ.

Чтобы сделать то же самое, но с помощью реестра, добавьте строку Enable со значением N в

HKEY_CURRENT_USERSoftwareWineFileOpenAssociations

Сначала необходимо создать ключ FileOpenAssociations!

Если вы хотите, чтобы эти настройки автоматически применялись к новым префиксам, отредактируйте файл /usr/share/wine/wine.inf, добавив следующую строку в раздел [Services]:

HKCU,"SoftwareWineFileOpenAssociations","Enable",2,"N"

Предотвратить перезапись изменённых файлов при обновлении пакета можно создав хук pacman, который будет вносить изменения автоматически:

/etc/pacman.d/hooks/stop-wine-associations.hook
[Trigger]
Operation = Install
Operation = Upgrade
Type = Path
Target = usr/share/wine/wine.inf

[Action]
Description = Stopping Wine from hijacking file associations...
When = PostTransaction
Exec = /bin/sh -c '/usr/bin/grep -q "HKCU,"Software\Wine\FileOpenAssociations","Enable",2,"N"" /usr/share/wine/wine.inf || /usr/bin/sed -i "s/[Services]/[Services]nHKCU,"Software\Wine\FileOpenAssociations","Enable",2,"N"/g" /usr/share/wine/wine.inf'

Подробнее см. pacman#Хуки

Неявный запуск бинарников Windows

Пакет wine содержит файл binfmt, который позволяет запускать программы Windows напрямую. Например, команда ./myprogram.exe будет запускать программу так же, как wine ./myprogram.exe. Соответствующая системная служба запускается автоматически при старте системы. Если вы ещё не перезагружались после установки Wine, то можете вручную запустить службу systemd-binfmt.service, чтобы она заработала.

Примечание: Убедитесь, что у двоичного файла Windows есть права на исполнение, иначе он не запустится. Например, выполните chmod +x windows-binary.

Два монитора с разными разрешениями

Если у вас возникли проблемы с разрешением экрана на втором мониторе, возможно, в системе отсутствует пакет lib32-libxrandr.

Кроме того, установка пакета lib32-libxinerama поможет решить некоторые другие проблемы работы с двумя мониторами в Wine: ненажимаемые иконки и пункты меню, плохая отрисовка интерфейса приложения, зависание курсора мыши и т.п.

Прожиг оптического носителя

Для прожига CD- и DVD-дисков необходимо загрузить модуль ядра sg.

Монтирование образов оптических дисков

Приложения могут проверять наличие оптического диска в дисководе. Иногда это просто проверка присутствия данных, и в этом случае будет достаточно с помощью winecfg настроить определённый путь в файловой системе выступать в качестве привода CD-ROM. Другие приложения могут проверять название носителя и/или серийный номер, и в этом случае потребуется смонтировать соответствующий образ.

Некоторые утилиты для работы с виртуальными дисками, в том числе основанные на fuse, не умеют работать с такими метаданными — например, Acetoneiso. CDEmu, наоборот, работает вполне корректно.

Показ FPS в играх

Wine отслеживает FPS графических приложений, если установлена переменная окружения WINEDEBUG=fps. Количество кадров будет выводиться в stdout. Утилита osd_cat из пакета xosd позволяет отобразить FPS в верхней части экрана поверх окна приложения. См также вспомогательный скрипт.

Отдельная учётная запись для запуска Wine

Поскольку приложения Windows имеют доступ к вашей домашней директории, имеет смысл создать отдельную учётную запись для работы только с Wine.

Первым делом создайте саму учётную запись:

# useradd -m -s /bin/bash wineuser

Затем переключитесь в другую виртуальную консоль и запустите оконный менеджер или окружение рабочего стола (или прото читайте дальше)…

Чтобы теперь запускать Wine от новой учётной записи, необходимо добавить её в список разрешений X server:

$ xhost +SI:localuser:wineuser

Наконец, можно запускать Wine, передав ему с помощью env необходимые переменные окружения:

$ sudo -u wineuser env HOME=/home/wineuser USER=wineuser USERNAME=wineuser LOGNAME=wineuser wine аргументы

Процесс запуска приложений Windows в Wine можно автоматизировать с помощью скрипта:

/usr/local/bin/runaswine
#!/bin/bash
xhost +SI:localuser:wineuser
sudo -u wineuser env HOME=/home/wineuser USER=wineuser USERNAME=wineuser LOGNAME=wineuser wine "$@"

Теперь приложение Wine запустится следующей командой:

$ runaswine "C:путькприложению.exe"

Чтобы не вводить пароль каждый раз при запуске Wine, добавьте следующий пункт в файл /etc/sudoers: имя_основного_пользователя ALL=(wineuser) NOPASSWD: ALL. Подробнее см. Sudo#Настройка.

Рекомендуется также запустить winecfg от пользователя Wine, и в окне настроек (раздел «Desktop Integration») убрать привязки ко всем каталогам за пределами домашнего. Так Wine будет иметь доступ только к нему и ни к чему более.

Правда, нужно иметь в виду, что при таком способе работы в приложениях, использующих PulseAudio, может перестать работать звук. В статье PulseAudio/Примеры#Одновременное использование PulseAudio несколькими пользователями описано, как дать пользователю Wine доступ к демону PulseAudio основного аккаунта.

Каталог Temp в tmpfs

По умолчанию Wine записывает временные файлы на физический носитель, но можно использовать для этого файловую систему tmpfs. Удалите текущий каталог для временных файлов и создайте символическую ссылку на новый:

$ rm -r ~/.wine/drive_c/users/$USER/Temp
$ ln -s /tmp/ ~/.wine/drive_c/users/$USER/Temp

Запрет на установку Mono/Gecko

Если Gecko и/или Mono нет ни в префиксе, ни в системе в целом, Wine будет запрашивать разрешение на скачивание их из сети. Если ни Gecko, ни Mono вам не нужны, то этот диалог можно отключить. Установите переменную окружения WINEDLLOVERRIDES в значение mscoree=d;mshtml=d.

Vulkan

В Wine 3.3 была добавлена поддержка Vulkan. Базовый ICD-загрузчик Vulkan в большинстве приложений работает вполне нормально, но в нём отсутствуют некоторые продвинутые возможности вроде Vulkan layers. Чтобы получить к ним доступ, установите официальный Vulkan SDK (см. шаг 2-4 на GitHub-странице автора патча).

Примечание: ICD-загрузчик Wine был добавлен в версии 3.5, поэтому устанавливать официальный Vulkan SDK нужно только для версий 3.3 и 3.4.

Удаление файловых привязок

По соображениям безопасности полезно удалить предустановленные привязки Wine, чтобы приложения Windows не могли быть запущены напрямую из файлового менеджера или браузера (Firefox предлагает открыть EXE-файлы сразу в Wine!).

Чтобы это сделать, добавьте следующие строки в раздел [options] файла /etc/pacman.conf:

NoExtract = usr/lib/binfmt.d/wine.conf
NoExtract = usr/share/applications/wine.desktop

Решение проблем

Общие советы по решению возможных проблем можно найти на страницах Wine User’s Guide и Wine FAQ (прежде всего в разделе Решение проблем).

Советы для конкретных приложений можно найти в Wine AppDB.

Проблемы с XWayland

Если вы используете Wine в XWayland, опция «Эмуляция виртуального рабочего стола» на вкладке Graphics в winecfg позволяет решить следующие проблемы:

  • мерцание;
  • неправильное положение окна;
  • неправильное положение курсора мыши и реакция на клики;
  • обнаружение клавиатуры.

Смотрите также

  • Wine Homepage
  • Wine Wiki
  • Wine Application Database (AppDB) — Информация о запуске конкретных приложений Windows (известные проблемы, рейтинги, руководства и т.п.).
  • Wine Forums — Здесь можно задавать вопросы, но только после прочтения FAQ и AppDB.
  • Gentoo:Wine
  • Darling — аналогичный проект для программ MacOS
��������� ���: ������������� Wine, ��������� �������, ��� ��������� ������������ ���������� �������� ��� Wine �����, � ����� ����������� �������� ������, �� ������, ���� ��� ����� ������.

1.1.4. ������� �����

������� ��������� � ������� Wine ����� ���� ���������� ��������� �������:

  • ��������� �� �������� Wine
    Downloads � ���������� ��������� ��� ������� � ����� ��������� Wine. ��� ���������� ��� ����������� ������������ ���������������� ������� rpm �����.
  • ��������� Wine, ��������� ������� winecfg. � ����������� ������� Wine ������ ����� �������� � ������.
  • ����� ��������� ���� ���������, ��������� �������� �������� Wine, ������� �� �������� �������� Windows 3.1, ��������� ������� wine winefile.
  • ��������� Wine ��� ������ ������� wine filespec/appname.exe
  • ������ �������, ������� �� ���������, ����� ������� ��������� �����-���� ���������. ������ ���-�� �����: wine /media/cdrom/setup.exe, ��� ����� ��������.

1.2. ��� ����� Wine

1.2.1 Windows � ������

��������� ��������� ������� ��� ��������� ������������ ������, � ����������� �� ��� �� ����� �������� �� ��������, ��� ������� ��� �� �������������. ��������� ��� Windows, �������� �� ������ �������� ��� ������, ��� ��� �������� ����������, «�� ��������» �������, ���� ��� �� «����������» ������ Windows. ����� �����, ������ ��������� �� ���������� ��� �� Windows, ������ ��� Windows ���������� ������ � ���������������� ��� �� ����������.

��� ����, ��� ������ ������������ Windows � ������ ����������� ������, ����� �������� ������������ ����� ��������������� ��������. ������ �������� �������� ���������� � Windows � ������ �� ���� � ��� �� ���������, ��� �������� �������� «������� ��������». ����� ����� Windows ���������, ������������ ��������� ��������� � Windows � ��������� ���������; ����� ����� ������ ���������, ������������ ������������� ��������� � ������. ��� �������� ������ �������� — �� ������ ������������ �������� ������� ���������� ������ ������������ ������, �� � ��������� � ������ �������� �� ����� �������� ������������. ����� ����, ������� Windows � ����� ������������ ������ �� ���������� ������� �������������� ���������: ����������� ����������� ������, ��������� ��������� ������ �������� �����, Windows «�� �����» ����������� �������� �������� ������, �������� �������������� ���������� ����� ������������� ���������.

1.2.2. ��� ����� Wine, � ��� �� ��� �������?

Wine ��������� ��������� Windows ��������� �� ����� �����-�������� ������������ ��������, �������� ������.
� ����� ����, Wine ������������ ����� ���������� ����������
���������� ���������������� ���������� (����. Application Programming Interface, API)
Windows, ���������� ������� ����� ����� Windows ���������� � ������. �������� Wine ���������� �������������; ����� Windows ��������� �������� ��������� ����� ��������, ������� � ����� ��������� ��� ������, Wine «���������» ���������� ���� ��������� �� ����, �������� ��� ������� ������. ��������, ���� ��������� ������ ������� ������� �������� ������, ��� ��������� ����, �� Wine ����������� Windows ���������� � �� ������ ���������� � ����� ������� �������� ���������, ��������� ����������� �������� X11.

���� ������� ������ � ��������� ���� Windows ���������, Wine ����� ����� ���� ������������ ��� �������������� ��������� � ������, ������� ������ �������� ������� �����. ��� ������� ����� ������������������� ���������, Wine ��� ����� ���������, ������ � ���������� Windows �������� ����� ������ ������ ���������� ����� �����������. �������� Winelib User Guide ��� ���������� � ���� �����.

1.2.3. �������� Wine

� �������� ������ �������� Wine ��������� ����������� ����� �������� � ����������� ����� ��������, ������� ����� ���������. ��� ��������� ������ ���� �������:

  • ��������� ������� Win32 (Win 95/98, NT/2000/XP), Win16 (Win 3.1) � DOS ��������
  • �������������� ����������� ������������� DLL ������ �� ��������
    ������������ (�����, ����� ������ � ������ Windows)
  • ����������� �������, ������������ �� X11, ����������� ��������� ������ �� ����� � ��������, ��� � �� ��������� �������
  • ������� ���� ������ ����, ���� ����������� ����
  • ��������� DirectX ��� ���
  • �������� ��������� ��� ��������� �������� ���������, ������� OSS � ALSA
  • ��������� �������������� ��������� �����
  • ������: �������� ���������� PostScript (psdrv) ��� ������������ ��������� ������� PostScript ��� �����
  • �����, ��������� ����������������� �����
  • ��������� �������� ��������� Winsock TCP/IP
  • ��������� ��� ��������, ������� CD ��������, � ������ ���������, ������������ ��������� ASPI (SCSI)
  • ����������� ��������� ������� � ����������� ������
  • ������������������� ������� �������, ���������, ������������ ������� ��������� � ���������� ��� �������� ������ ��������������

1.3. ������ Wine

1.3.1. Wine �� Wine HQ

���������� �����������: ��� � ������� ��� «HQ» ������� � ���� HeadQuarters (����-��������).

Wine �������� �������� � ��������� ��������� ������, � � ��� ���� ����������� ������� ����� ��������� ������.
����������� ������ Wine ���������� � ���� ������������� ������� (�������� ������ � �����), � ����� ���� ������� � ���������, ��� � ���� ��������������� ��������� �����, ��� � � ���� ��������� ����, �������� � ����������. ����� ����, �� ������ ���������� ������, ����������� � ����������, ��������� �������� �� �������� ����� � ����������� Git. ��������� � ��������� �����, Getting Wine, ��� ���������� ��������.

1.3.2. ������ ������ Wine

���������� ��������� ��������, ��� ��� ����� ������� ���� ������������� �� ����������� ������� ���� Wine. ��������� �� ��� �������� ������������� ����������, �������������� ����������, ������� ��������������� ������ Wine.

��� �������� �������� ���������� � ���������� �� ����������� ������ Wine, ��������� ������ �������������, ���������� ������������, � ������������ ���������. ���� ��� ��������� �������� ����, ����� ���� ��� ����� ���������� �������� ��������.

��� ���� ����������� ������ ����:

CodeWeavers CrossOver Office

CrossOver Office ��������� ��� ���������� ���� ������� Windows ���������� � ����� ������, ��� ���� �� ��������� �������� ��������� (Microsoft Operating System license).CrossOver ����� ������� � ������������� ���������, ����������� ������������� Windows ���������� ����� � ������.

������ ���������������: ������������; ��������������� ������ ������������������� ������������.

CodeWeavers CrossOver Office Server Edition

CrossOver Office Server Edition ��������� ��� ��������� ���� ������� Windows ���������� � �������������� ������-������������ ������� ��������� ��� ��������, ��� ������������� ����������� �������� ��������� (Microsoft Operating System licenses) ��� ������ ���������� ������. CrossOver Office Server Edition ��������� ��� ������������� ������� ��������� ����� ������������ �������������, � ��� ��� � ������ �������.

1.4. ������ ������� ������� ���� �� ����������

���������� ��������� �������� ��������� ���������, ����� Wine. ���� �� ����������� ������������ Wine ��� ������� �����-���� ���������, �� ����� �������� ���, ����� �������� � ������ ������� � ��������.

1.4.1. ����������� ������������ ����������

������ ������������� ����������� Windows ���������� ��� ������ Wine, �����
������ ����� ������ ���������. ��������� Windows ����������, ����� ��� �����-������, �������� ����������� ������ �����������, ��������� ����������� ������������� ������, ����� ����� ������� ��������� �����������. ������ ����, ������������ ����� Windows �������� ���� ����� ����������� � ������, ��� ������ �������� �� Wine, �� ����� Windows.

1.4.2. ������ ������������ �������

�������� ��������� ������ ��������� Windows ���������� — ��� ��������� ��� ��� Windows. ������ ����������� ������������, ��������� ��������, �������� �������������, ������������� ������������� �����, ����� ��������� ��� �����������. ������ ������� ��� ������� Wine.

����� ����������� ������������ ReactOS, ������� �������� ������ ��������� (� ��������� ������) ������������� Windows. ReactOS �������� ������� ������ � �������� Wine, �, ������ ����, ����� ��������� ���������� Windows ��� ������, ��� ������������ ��������� �� ��� ����� ReactOS. ����� ����, ReactOS ���������� ������������� � ������� ��������� Windows, ��� ��������� ������������ «������» ��� �������������� ������ ���������.

1.4.3. ����������� ������

������ ���� ����� ������������� ����� ������������ ������� �� ���� ������, �����, ������ �����, ��������� ����������� ������ �� ����������� ������, � ���������� ����� ������������ ������� �� ���. ����� �������, �� ������� ������������ �������� ������, � � �� �� �����, � ����������� ������, ������������ Windows �� ����� ��� �����������, ������������ � �� ����� � ��� �� «������». ����������� ������ ��������� ��� ������������� � ��������� �� ������ ��������� ������ Windows, �� ����� � ��� �� ������������, �� ����� ������ ������������ �������, ������� ReactOS.

������������ ��������� ��������� ����� ����������� �����, ��������� ���� ����� ����������� «������» x86 �� ���� ����������. �� ����� �� ���������� ����������� ������� Bochs � QEMU, ��������� ���������� ��������� Windows � ReactOS. ������, ������������ ����������� ������ �������� VMware � ��������������� VirtualPC.

� ������ � ������������ �������� ���� ������������ ����������. � ������� �� Wine, ��� ��������� �������� �����������, ��� ��� ��� ������ � ���� ��������� ������ ��������, ������� ����� ���� ������ �������. ����� ����, ������ ���������� ������ ����������� ������, �� ��������� ��������� ������������� ���������� � ������� ���������. ��������, �� ������ ����� ������ ���������� ���� Windows, ��� ������ ���������� Windows ����� ������� ������, � �� ���� ����������, ��� �������� Windows ����� ������������ ������ ������ ����������� ������.



Время на прочтение
7 мин

Количество просмотров 565K

Введение

Статья посвящена Wine и всем аспектам его использования. В сети находится очень
много информации, есть различные руководства по настройке и многое другое. Я
постараюсь объединить все для того чтобы любой человек смог достичь
максимального успеха, в пределах своих способностей и конечно возможности
программы. Итак — начнем.

Wine — это отдельная реализация Windows API, а не эмулятор, как большинство
думают. Не единожды повторялось, но и здесь будет уместно. Это и делает проект
уникальным и интересным для пользователей различных систем, открывает различные
пути для реализации своих идей. Уникальность заключается в том, что с помощью
этой программы можно запускать Windows приложения в Ubuntu и в других
Linux системах, а также во FreeBSD и в Mac OS X. Правда и тут есть
свои «подводные камни». Некоторые думают что будет легко перейти с одной
системы на другую, в данном случае мы рассматриваем Windows и Linux.

Заблуждение заключается в том что люди думают что у них получиться запустить из
под Wine различный софт, к которому они привыкли и им удобно в нем работать.
Как не крути просто так ничего не бывает. Чтобы заработал наш любимый софт под
Wine нужно попотеть, перечитать кучу руководств и взвесить этот объём
информация. Конечно не совсем софтом придется «пыжиться», но готовым надо быть ко всему. Проект Wine развивается очень быстро, но до стабильной работы ему
очень далеко. Но думаю что в скором будущем весь основной софт, а также игры
будут работать на нем стабильно.

Установка Wine

Первый вопрос человека который только что перешёл на Linux (в нашем случае
Ubuntu): «Как я буду запускать программы из Windows?». Он начинает поиск на эту
тему и естественно натыкается на Wine.
Второй вопрос: «Как его поставить?». Есть два способа: Поставить из
официальных репозиториев или скомпилировать самому из исходников. Мы рассмотрим
оба варианта.

Вариант 1: Установка из репозитория.

Тут все очень просто. Идем в Приложения // Стандартные // Терминал:

sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install wine1.3

Ждем завершения установки…
Всё! Wine установлен и можно пробовать устанавливать игры и программы.

Вариант 2: Компилирование из исходников.

1.Скачиваем исходники с официального сайта, там они присутствуют. В моё случае
это Wine 1.3.11 (http://sourceforge.net/projects/wine/files/Source/wine-1.3.11.tar.bz2/download).

2. Распаковываем исходники.
Дальше вводим в терминале следующие команды:

переходим в директорию, в которую был распакован архив с исходными текстами:

cd wine-1.3.11/

Перед компиляцией надо включить поддержку OpenGL. Если мы этого не сделаем
приложения которым нужен OpenGL работать не будут. В терминале:

gedit tools/wineinstall

Находим строку, начинающуюся с CONFARGS=, и после вписываем в нее нужные
параметры сборки. В нашем случае строка будет выглядеть так:

CONFARGS="--with-opengl --disable-debug --disable-trace"

Получаем зависимости:

sudo apt-get install auto-apt checkinstall
sudo auto-apt -y run ./configure

Собираем:

make

Устанавливаем через создание пакета, вместо make install

sudo checkinstall

Всё. Ждем окончания установки.

Есть ещё промежуточный вариант, для джедаев на debian-based дистрибутивов. Кратко:

apt-get source wine1.3
sudo apt-get build-dep

Теперь самое интересное: скачиваем нужную версию wine с официального сайта, распаковываем, и копируем туда директорию debian из директории с исходниками оригинального пакета wine1.3. Делаем

debuild

и у нас появляется *.deb пакет для убунты/дебиана со всеми нужными патчами для дистрибутива, почти как из официального репозитория, но только новая версия. К тому же её ещё потом можно спокойно удалить так же через apt-get.
Рассмотрим плюсы и минусы каждого из вариантов.

Вариант 1.
Плюсы:
1. За нас уже все собрано и пыжиться не надо, все уже готово к употреблению.

Минусы:
1. Мы не сможем применить патч, например для улучшения работы какой нибудь игрушки.
2. Не стабильная работа на некоторых видеокартах.

Вариант 2.
Плюсы:
1. Возможность применить патчи для улучшения работы
2. Стабильная работа с не стабильными драйверами видеокарт.

Минусы:
1. Нет меню в Приложениях, что не удобно. Приходиться все делать из консоли,
выходить в настройки Wine например.
2. Процесс установки слишком долгий, зависит от мощности вашего компьютера.
1. Нет меню в Приложениях, что не удобно. Приходиться все делать из консоли, выходить в настройки Wine например.»

Можно самому добавить через Система — Параметры — Главное меню

Я отдаю предпочтение второму варианту. Wine установленный таким образом работает
лучше, чем установленный из репозиториев. Но это лишь мое маленькое ИМХО.

Установка программ и игр

Сперва мы идем на appdb.winehq.org Сверху, в поисковике вбиваем
название игры или программы и смотрим что там написано. Обычно там описаны
тесты на различных системах, рекомендации для стабильной работы и многое другое.

Если программа работает без проблем, значит с чистой душой её устанавливаем
простым кликом. Если это какая нибудь серьёзная игра или программа и без
шаманства с бубном не обойтись — значит надо создавать отдельный префикс* для
наших танцев. * Все файлы вайна хранятся в префиксе, или ещё называемом бутылкой (по анологии с вином/wine). Там внутри этой бутылки имеются все файлы диска C, реестр, индивидуальные настройки и так далее.

Таких бутылок может быть сколько угодно.

Просто может быть какой-то софт, который ведёт себя очень капризно под вайном и для него нужны какие-то костыли, которые будут мешать нормальной работе других приложений вайна. Тогда просто этот софт ставим в отдельную бутылку (префикс) и любые настройки не будут влиять на другие программы.

Когда вайн запускается в первый раз без указанного префикса, используется ~/.wine. Если префикс не существует вайн создаст его и наполнит дефолтным содержимым создаст и наполнит файлами каталоги C:windows, C:Program Files, C:users. Плюс будет создан чистый реестр.
Идем в наш домашний каталог и создаем новую директорию. Например .wine2.
Дальше идем в терминал и вводим:

WINEPREFIX="/home/username/.wine2/" winecfg

Всё. Отдельный префикс создан. Там хранятся различные конфигурации реестра и сами программы.
Установку программы также производим через консоль.

WINEPREFIX="/home/username/.wine2/" wine /media/DVD/setup.exe

Идет процесс установки и самое главное в отдельный префикс.
Потом мы запускаем уже установленную программу, также из консоли и смотрим вывод.

В выводе могут быть ошибки, о том что нет нужных компонентов и библиотек. В
установке недостающих компонентов нам поможет winetricks (см. ниже)

Что это дает? Это дает стабильную работу приложений в своем префиксе, если
масса программ будет работать в одной префиксе, он рано или поздно засориться
что приведет к сбою других программ. Поэтому нужно использовать отдельные
префиксы, если не хотите все настраивать по много раз.

Winetricks

В правильной настройке префикса нам поможет winetricks.
Winetricks — это скрипт, который устанавливает различные компоненты, которые
требуются для работы приложения, например DirectX, Vcredist и многое другое.
Как это скрипт работает? Он скачивает библиотеки и компоненты с
Microsoft-овских ресурсов. Именно так, и не как по другому. Зачем этот скрипт
нужен? Это очень упрощает работу с Wine-ом. Без скрипта мы бы сами лазили и
искали нужные компоненты, а тут уже все сделано, надо только поставить галочку
и нажать «Установить» Также этот скрипт помогает редактировать реестр,
вписывать туда различные ключи. И помимо этого в winetricks есть много настроек
и функций.

Для ознакомления с ним просто введите в терминале winetricks

Редактирование реестра

В терминале вводим:

regedit

Мы в реестре. Редактировать нам ничего не надо, мы будет только добавлять.

Идем в HKEY_CURRENT_USER/Software/Wine/Direct3D.

Если каталога Direct3D нет, то не отчаиваемся. Я это пишу чтобы читатель понял
где-то надо редактировать или добавлять.

В терминале:

winetricks ddr=opengl orm=fbo glsl=disabled videomemorysize=1024
(1024 меняете на свое)

Все эти параметры появиться в реестре. Это можно посмотреть в папке указанной выше.

Что это дает? Это улучшает производительность в играх, скорость и вообще игры
работают от этого лучше, но это только для игр.

PlayOnLinux

Также существует PlayOnLinux. Это отдельная программа, которая использует Wine,
но там более все автоматизированно и настроено. Программа сама скачает нужный
Wine, установит компоненты и создаст отдельный префикс. Но это не значит что
все будет идеально работать. Может вообще не работать. Так что я отдаю свое
предпочтение обычному Wine, ручной настройке и работе собственного мозга, а не
автоматизированной программе.

Плюсы:
Все автоматизированно и нам по сути делать ничего не надо.
Можно держать несколько версий Wine и применять их для различных префиксов.
Программа сама создает префиксы.

Минусы:
Все что делает программа, устанавливает и скачивает предугадать невозможно.
Все что делает программа можно сделать самому, ручками, это + к знаниям человека.
Программа «Робот» никогда не сравнится с человеческим мозгом.

Монтирование образов CD/DVD-дисков

В Windows есть для этого утилита под названием Daemon-Tools. Это очень удобная
и не заменимая утилита. У человека возникает вопрос: Есть ли аналог этой
чудо-утилиты? Ответ: Есть и на много лучше Windows утилиты. Называется она
Cdemu. Для её установки нам требуется ввести всего лишь три команды:

sudo add-apt-repository ppa:cdemu/ppa
sudo apt-get update
sudo apt-get install cdemu-daemon cdemu-client gcdemu

Добавляем аплет на панель, указываем путь к образу и радуемся жизни. Не каких
проблем не будет и Wine будет отлично определять образ. Если аплета не находим не торопитесь перезагружаться.
В терминале вводим команды:

sudo service cdemu-daemon start

Если сервис не стартует при старте системы («The daemon is configured not to start at system startup»), можно исправить так:

sudo update-rc.d cdemu-daemon enable

Запуск игр в отдельном Х-сервере

Этому можно посветить целую книгу, но я остановился на одном способе, которым всегда пользуюсь:

Переходим в виртуальный терминал:

Ctrl + Alt + F1
login: ******
password: ******

Запускаем вручную новую копию X-сервера:

xinit -- :2
wine путь/папке/c/игрой/game.exe

Прирост от этого не большой, но лично мне этого хватает. Ещё раз повторю:
способов запуска в отдельном х-сервере много и каждый человек волен сам выбирать.

Заключение

Все эти советы, азы, которые должен знать каждый человек который хочет
использовать Wine для достижения своих целей. Все остальное в ваших руках. Если
вы хотите достичь цели не смотря ни на что, а надежда уже уходит, не
отчаивайтесь никогда, ибо решение может находиться у вас «перед носом». Усидеть
на двух стульях возможно, но для этого нужно желание и стальные нервы. Желание
— тысяча возможностей, не желание — тысяча причин.

Данный материал написан для «Первого конкурса русскоязычных статей для ОС
Ubuntu» (konkurs.ubuntu.ru)
Автор статьи Владимир Качармин aka rootboot
Контакты: Skype root.boot2, email verda.info@gmail.com

Contents

  1. Introduction
  2. Installing Wine

    1. Ubuntu versions of Wine (Recommended)
    2. Newer versions of Wine (Not Recommended)
  3. Initial Setup
  4. Installing Windows Applications With Wine
  5. To start/run Windows programs using Wine
  6. Uninstalling Wine Applications
  7. Configuring Wine

    1. Adding CD and DVD drives to Wine
    2. Adding applications to the menu
    3. Changing application specific settings

      1. Using Windows Themes/Skins In Wine
      2. Color Scheme
      3. Using Theme/Skins
    4. Fullscreen issues with overlapping Panel
  8. Instructions for using wine over remote X11 sessions
  9. Instructions for specific Windows programs
  10. Creating file associations
  11. Troubleshooting

    1. Error: Cannot change screen BPP from 32 to XX
    2. ‘dhtmled.ocx’ is missing or invalid
    3. Screen flickers to black when starting an application
  12. Related Wiki Pages

Introduction

  • Wine allows you to run many Windows programs on Linux. Its homepage can be found at WineHQ.org. They also have an Ubuntu page with installation and build advice.

  • If you are running the latest release of Wine which is v1.6, you can get further assistance on the #winehq IRC channel on irc.freenode.net. First,

  • please consider if you really need to run the specific Windows program because in most cases, its equivalent can be provided by an OpenSource program. Also, consider using Qemu instead of Wine if you need a complete Windows installation.

Installing Wine

Ubuntu versions of Wine (Recommended)

  • open the software center
  • Type wine and install ‘wine’

Newer versions of Wine (Not Recommended)

The Wine Ubuntu repository provides the newest development versions of Wine. Follow these steps to add the repository to your software sources:

  1. Open a terminal and run these commands:
  1. wget https://dl.winehq.org/wine-builds/winehq.key

  1. sudo apt-key add winehq.key

  2. sudo apt-add-repository ‘https://dl.winehq.org/wine-builds/ubuntu/’

Note, however, that these are development packages (ie beta software), and may suffer from regressions and other problems not present in the stable version of Wine included with Ubuntu. You should avoid using them unless the current stable version of Wine does not support or is incompatible with the application you wish to use.

If you are using an older version of Wine and want support from WineHQ, you will need to upgrade to the latest development version first. If you do this, however, please file associated Wine bugs at winehq’s Bugzilla Page rather than in Launchpad.

Initial Setup

Before using Wine, it is necessary to create the fake C: drive where your Windows applications will be installed. To do this, enter the following command into the terminal: You may find the terminal by going to Applications -> Accessories -> Terminal

winecfg

You also have the option of configuring Wine via the Configure Wine option in the Applications-> Wine menu.

This will create a hidden folder (.wine) in your home directory containing the fake C: drive as well as registry files similar to those used in Windows. Once this directory is created, the Wine Configuration Window will appear. This window will allow you to customize a variety of settings for Wine, including which Windows Version that is emulated, drive mappings, DLL overrides, as well as application specific settings. Click the Ok button to close the window.

Installing Windows Applications With Wine

To install Windows applications using Wine, follow these instructions:

  1. Download the Windows application from any source (e.g. download.com). Download the .EXE (executable).
  2. Place it in a convenient directory (e.g. the desktop, or home folder).
  3. Open the terminal, and cd into the directory where the .EXE is located.

  4. Type wine the-name-of-the-application.extension (e.g. wine realplayer_installer.exe).

This will start the .EXE using Wine. If it is an installer, it should then run as it would in Windows. If the application asks for a directory to install the application to, select put it under C:Program Files.

To start/run Windows programs using Wine

After installing an application using the directions above, those applications can be started and used by entering wine programname.exe (e.g. wine realplayer.exe). When done, close the application as one would normally. You must run the installed executable, which will by default be in the virtual Windows drive created by Wine, at ~/.wine/drive_c. Generally programs will install themselves somewhere under Program Files inside the virtual Windows drive, following Windows conventions.

You can also use the Wine file browser, by running winefile in a terminal. Clicking the C: button in the toolbar will open a window where you can browse the virtual Windows drive created in .wine. Doubleclicking an executable in the Wine file browser will run it in Wine.

Instead of having to always enter the terminal or use the Wine file browser, you may also create a desktop icon, and start a Wine application using that icon. To do this, right click on the desktop and select «Create a launcher.» If you wish, select an icon from the list of available icons (or browse to an icon you would like to use), fill out other information that is requested (Name, generic name, etc.). For the command, type in wine the-location-of-the-program.exe (e.g. wine /home/john/.wine/realplayer.exe). The most important part of creating a launcher is the command, the generic name is not as important. Just make sure you de-select «Run in terminal.» This completes the process.

In some cases the application requires to be running from a certain location. In this case create launcher with command

sh -c "cd /home/USER/.wine/drive_c/Program Files/Appdir/; wine /home/USER/.wine/drive_c/Program Files/Appdir/game.exe"

Of course you will need to replace USER and Appdir with the proper data.

If you desire to have an icon on the panel, create a launcher on the panel of choice. Do this by right-clicking the panel, selecting «Add to Panel,» and selecting «Custom Application Launcher.» This will ask you for the same information as before.

Alternatively, to make life easier, you can set it so wine will automatically open .exe files files for you — instead of using the Wine File to locate the file each time. To do so, right click on the .exe file, select Properties, and then select the Open With tab. Click the ‘Add’ button, and then click on ‘Use a custom command’. In the line that appears, type in wine, then click Add, and Close. Now all .exe files will be automatically opened by Wine, so you can use Nautilus to browse and open them instead of the Wine File.

Uninstalling Wine Applications

Open up a terminal window and type the command below.

wine uninstaller

What this will do is open up a program similar to the Windows add/remove programs control panel, allowing you to uninstall applications from a Wine installation. Running uninstall programs directly via Wine should also work normally. Alternatively, you could also simply delete the folder of the application. However, as when done in Windows, this method will be unclean and will not remove the program’s configuration from the Wine registry like using an uninstaller will.

Configuring Wine

On the command line or in Run Application, type winecfg

Adding CD and DVD drives to Wine

Go to the drives tab in winecfg. Hit the Autodetect button.

If you find that this does not work correctly for you, then follow these instructions:

  1. Run

    winecfg

  2. Navigate to the drives tab

  3. Click on Add…

  4. In the path bar, type

    /media/cdrom

  5. Click Show Advanced button below the Browse… button and set the Type to

    CD-ROM

  6. Click OK

If you have more than one CD/DVD device you will need to identify each one differently. Use /media/cdrom0 for the first CD/DVD device, /media/cdrom1 for the second one, and so on. If in doubt, type the following command in your terminal.

ls -la ~/.wine/dosdevices/

What this command will do is check your CD/DVD device details after Wine is installed.

It is good procedure before setting up the menu entry to launch the new Windows program from the command line to make sure the program runs properly. To do this type this command in the terminal.

wine "C:PATHTOPROGRAMProgram.exe" 

For example the command would be wine «C:Program FilesWorld of WarcraftWoW.exe» Once you are satisfied that you have the correct details, use the normal menu editing process to add a new entry. When you get to the Command field of the entry editor be sure to copy and paste the line you used to launch the program from the terminal. Finish and save the new entry. Test to make sure the new Windows program loads via the menu.

Changing application specific settings

  1. Type this command into your terminal.

    winecfg

  2. Click on Add Application…

  3. Navigate to where the .exe is and choose that program
  4. The dropdown at the bottom allows you to choose which version of Windows Wine should emulate. Also, any changes to the Libraries and Graphics tabs will only affect the chosen application in the Applications tab.

Using Windows Themes/Skins In Wine

Color Scheme

You can change the wine color scheme to closely match the default Ubuntu colors with this Terminal command.

gedit ~/.wine/user.reg

You may also want to create a backup copy in your Home folder with this command via terminal.

cp ~/.wine/user.reg ~/

Replace the [Control Panel\Colors] section with

[Control Panel\Colors] 1176981676
"ActiveBorder"="239 235 231"
"ActiveTitle"="203 133 61"
"AppWorkSpace"="198 198 191"
"Background"="93 77 52"
"ButtonAlternativeFace"="200 0 0"
"ButtonDkShadow"="85 85 82"
"ButtonFace"="239 235 231"
"ButtonHilight"="255 255 255"
"ButtonLight"="255 255 255"
"ButtonShadow"="198 198 191"
"ButtonText"="0 0 0"
"GradientActiveTitle"="239 235 231"
"GradientInactiveTitle"="239 235 231"
"GrayText"="198 198 191"
"Hilight"="246 200 129"
"HilightText"="0 0 0"
"InactiveBorder"="239 235 231"
"InactiveTitle"="239 235 231"
"InactiveTitleText"="255 255 255"
"InfoText"="0 0 0"
"InfoWindow"="255 255 166"
"Menu"="239 235 231"
"MenuBar"="239 235 231"
"MenuHilight"="246 200 129"
"MenuText"="0 0 0"
"Scrollbar"="239 235 231"
"TitleText"="255 255 255"
"Window"="255 255 255"
"WindowFrame"="0 0 0"
"WindowText"="0 0 0"

Using Theme/Skins

Wine has basic handling for Windows theme/skin files in the «msstyles» format. There is a large number of these themes on Deviant Art. To use these you must make a folder in Wine’s virtual Windows drive, then tell Wine to use the theme.

Firstly go into Wine’s virtual drive, which is usually «.wine/drive_c» in your Home folder (this is hidden, you may need to select View->Show Hidden Files in the file manager). Inside this folder go into the «windows» folder then make a new folder in there called «Resources». Enter this new folder and make a new folder called «Themes». Inside here you should make a folder for each theme you want, and put the files ending in «.msstyles» directly into them. For example, the full path to a theme file called sample.msstyles might be «/home/username/.wine/drive_c/windows/Resources/Themes/Sample/sample.msstyles».

Next you need to tell Wine to use your theme, so once again run this command in the terminal.

winecfg

In the configuration window select the tab Desktop Integration and un-check out the Theme: box, which should now have your theme in it’s menu. After selecting the theme click Apply at the bottom to see how it looks (they don’t always display properly), then if you are happy click ok and you’re done!

Fullscreen issues with overlapping Panel

Sometimes the Panel overlaps your fullscreen application you’re running in wine. If you are running Visual Effects, the first solution you should try is to turn those off: Go to System -> Preferences -> Appearance, and click the Visual Effects tab. Select None, and your screen will flash. Try your full-screen application again. You may re-enable Visual Effects afterwards — just don’t forget to turn them back off when you want to run that application again!

If that does not work, then you will have to turn off the panels prior to running the application and restarting it afterwards, until a better workaround can be found. In Ubuntu the commands are gnome-session-remove gnome-panel and gnome-panel & respectively. In Xubuntu I understand they are killall xfce4-panel and xfce4-panel.

Instructions for using wine over remote X11 sessions

If you’re (trying) to use wine over a forwarded X11 session (ie Ubuntu is on one computer; you’re connected to it by ssh or another connection and you already have X11 forwarding set up to display regular Ubuntu applications on your remote computer) and the windows opened by wine are lacking fonts etc, the answer is here

Instructions for specific Windows programs

Some Windows programs have been tested on Ubuntu. They are listed below:

  • DVDShrink

  • FlashPlayerStandalone

  • WorldofWarcraft

Also, see Wine’s Application Database at http://appdb.winehq.org/ or http://wine-review.blogspot.com/

Creating file associations

If you want certain files to open in a windows application by clicking on them, the best way is to create a script. For example I want Adobe Flash project files (*.fla) to open in Adobe’s Flash editor if I double click it.

You can for example create a file using this terminal command.

gedit ~/.wine/Flash 8

Now paste the following example script in it, save and close gedit.

Example script:

 #!/bin/sh

QUICKPARLOCATION="c:\Program Files\Macromedia\Flash 8\Flash.exe"
PARAM=`winepath -w "$*"`
wine "$QUICKPARLOCATION" "$PARAM"
exit 0

Make sure the file is executable with this command.

chmod +x ~/.wine/Flash 8

After you completed this go to an *.fla file right click it, properties, go to the “open with” pane, click add, add this line into your terminal and select the radio button.

'/home/<yourusername>/.wine/Flash 8'

Now if everything went ok, you can doubleclick the file and it will be openend in Flash 8.

Troubleshooting

Error: Cannot change screen BPP from 32 to XX

In some cases (mostly games) the application does not start and you get error: Cannot change screen BPP from 32 to 16 (or some other number).

In such case editing xorg.conf and CTRL-ALT-Backspace helps as is described on http://ubuntuforums.org/showthread.php?t=649283

‘dhtmled.ocx’ is missing or invalid

It seems that in Ubuntu Karmic Wine(v1.0.1) registry isn’t configured correctly to use ActiveX component dhtmled.ocx. On some application this can cause error like this: «Component ‘dhtmled.ocx’ or one of it’s dependencies not correctly registered: a file is missing or invalid». So we must tell Wine where to find this file.

1. Download registry file:

  • cd ~ wget http://jwc.sourceforge.net/other/ieslinux-dhtmledit.reg

2. Open regedit:

  • wine regedit.exe

3. Import the downloaded registry settings

  • file->import registry file->open ~/ieslinux-dhtmledit.reg

Screen flickers to black when starting an application

This is sometimes caused by a problem with the video driver not handling XRandR well. To see if this is actually a problem with XRandR, in a console, run:

xrandr

If your screen blanks while running that command, then this might be the issue. To work around this issue, Wine can be configured to not use XRandR. To do so:

  1. Start Wine’s Registry Editor.
  2. Navigate to «HKEY_CURRENT_USERSoftwareWineX11 Driver». You may need to create X11 Driver.
  3. Create a new key called «UseXRandR» and set it to «N».

See Wine Bug #15214 and Wine Wiki page UsefulRegistryKeys.

  • Games

  • AdobePhotoshop — A guide for running CS4 under WINE.


Примечание: Статья предназначена для новичков, но, как минимум, потребуются базовые знания о Linux (структура файловой системы, права пользователей, навыки работы с терминалом).

Содержание.

  1. О Wine.
  2. Установка Wine в дистрибутивы на базе Ubuntu, включая Linux Mint 19.
  3. Удаление Wine.
  4. Использование Wine. Немного теории о префиксах (prefix).
  5. Использование Wine. Создание префиксов (prefix).
  6. Общая информация и ограничения префиксов.
  7. Конфигурирование Wine через GUI.
  8. winefile. Файловый менеджер Wine.
  9. Wine. Установка и запуск программ.
  10. Wine. Удаление установленной Windows-программы.
  11. Winetricks. Основы.
  12. Winetricks. Настройка префикса.
  13. Углубление в функционал Wine.
  14. Отладка.
  15. Практика.
  16. Чуть-чуть хитростей.

Почта для предложений и замечаний: feedback@noostyche.ru

О Wine.

https://ru.wikipedia.org/wiki/Wine

Много интересного по использованию Wine можно посмотреть так:

man wine

Руководство пользователя:

https://wiki.winehq.org/Wine_User’s_Guide

В основном устаревший перевод руководства, но некоторые вещи всё ещё актуальны:

https://www.opennet.ru/docs/RUS/wine_guide/index.html

Arch wiki (часть вещей устарела):

https://wiki.archlinux.org/index.php/Wine_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)

Рецепты запуска конкретных программ и помощь от сообщества стоит искать здесь:

https://appdb.winehq.org

https://www.protondb.com

https://vk.com/native_wine

Примечание: В виду того, что с теоретической частью можно легко ознакомиться по приложенным к статье ссылкам, здесь она описывается кратко, оставляя больше пространства для практической части.

Установка в дистрибутивы на базе Ubuntu, включая Linux Mint 19.

https://wiki.winehq.org/Ubuntu

Для wine-staging, начиная с версии 4.5, требуется пакет libfaudio0. Для Ubuntu 19.10 и более новых выпусков этот пакет был добавлен в Universe-ветку репозитория, то есть в ветку с пакетами, поддерживаемыми сообществом.

Ещё libfaudio0 можно взять из этого репозитория:

https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/amd64/

https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/i386/

Для работоспособности Wine:i386 и Wine:amd64 потребуются пакеты соответствующей архитектуры.

Пример установки из репозитория:

sudo apt install --install-recommends libfaudio0

Пример установки скачанного пакета:

sudo apt install --install-recommends ~/Downloads/libfaudio0_19.07-0~bionic_i386.deb

Пример установки wine-staging в Linux Mint 19.

Рекомендую использовать именно wine-staging в виду того, что эта версия содержит множество дополнительных патчей, которые в значительной степени повышают шансы на успешный запуск той или иной программы. Недостатком этой версии является то, что она несколько менее стабильна, чем wine-stable, но в основном это не критично.

Первым шагом будет скачивание и добавление ключа:
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key

Linux Mint 19 использует репозиторий Ubuntu bionic. Подключить соответствующую ветку репозитория Wine:
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'

Обновить список пакетов:
sudo apt update

Установить wine-staging:
sudo apt install --install-recommends winehq-staging:amd64

Должны установиться winehq-staging:i386 и winehq-staging:amd64.

Основные компоненты wine-staging будут расположены в /opt/wine-staging/

Весь список компонентов и пути до них можно вывести следующей командой:

dpkg -L wine-staging

Удаление Wine.

Примечание: Отключить репозиторий и удалить его ключ можно через программу с графическим интерфейсом , но в данном примере будет рассмотрен вариант через терминал.

Сначала отключить репозиторий Wine:
sudo add-apt-repository -r https://dl.winehq.org/wine-builds/ubuntu/

Вывести список всех ключей используемых репозиториев:
apt-key list

Найти ключ репозитория Wine и по последним четырём символам удалить его. Пример:
sudo apt-key del F987672F

Удалить непосредственно Wine:
sudo apt remove --auto-remove winehq-staging

При этом будет удалён стандартный префикс ~/.wine. Поэтому, если он будет нужен в дальнейшем, стоит его заархивировать или переименовать.

Прочие префиксы нужно удалять вручную.

Обновить список репозиториев:
sudo apt update

После удаления Wine останутся иконки и некоторые пакеты. Их можно удалить вручную.

Место хранения ярлыков программ, установленных в Wine:
~/.local/share/applications/wine/

Место хранения иконок, включая тех программ, что установлены в Wine:

~/.local/share/icons/hicolor/

Кэш для установки таких пакетов, как wine-mono и wine-gecko:
~/.cache/wine/

Архив пакетов, которые устанавливались посредством winetricks в тот или иной префикс:
~/.cache/winetricks/

Использование Wine. Немного теории о префиксах (prefix).

Грубо говоря, префикс это отдельный экземпляр ОС Windows. Содержит в себе базовую структуру каталогов ОС Windows, набор библиотек и программ. В народе префикс называют «бутылкой» (bottle). Экземпляры компонентов для префикса хранятся в подкаталогах /opt/wine-staging/, откуда они копируются в создаваемый префикс.

В дистрибутивах Linux стандартный префикс располагается здесь:

~/.wine/

По умолчанию он 32-разрядной архитектуры.

Можно создавать префиксы в любых желаемых каталогах, принадлежащих пользователю. Описание процесса создания располагается далее по статье.

Примечание: Категорически недопустимо создание префиксов с правами суперпользователя. Это крайне небезопасно и пользователь не будет иметь прав с ним работать.

Стандартное содержимое префикса:

Описание иллюстрации:

  • В каталоге dosdevices перечислены виртуальные «диски». В Windows разделы блочных устройств представлены в виде абстрактных «дисков» (томов), каждый из которых обозначается буквой.  К примеру, системный «диск» по умолчанию называется «C:».
  • drive_c — виртуальный диск C:, на котором располагаются компоненты Windows.
  • .update-timestamp — метка времени.
  • system.reg, user.reg и userdef.reg являются файлами реестра Windows. Если кратко, то это централизованное древовидное хранилище настроек Windows-программ.

В каталоге drive_c (диск C:) содержится классическая структура каталогов Windows.

Использование Wine. Создание префиксов (prefix).

Пример создания и конфигурирования 64-х разрядного префикса с именем .wine_new в домашнем каталоге (home) активного пользователя:
WINEARCH=win64 WINEPREFIX="/home/$USER/.wine_new" winecfg

Примечание: Для присваивания значений переменным среды правильнее использовать команду env, но в виду того, что интерпретатор умеет определять переменные среды (их имена обязательно должны быть в верхнем регистре), env можно опустить для упрощения набора команды.

Разбор команды:

WINEARCH=win64 — через переменную среды (environment variable) WINEARCH указываем, что префикс должен быть создан под архитектуру amd64. Это позволит запускать в нём 64-разрядные программы, а так же 32-разрядные. Для лучшего понимания стоит ознакомиться с Multiarch. Стоит отметить, что нельзя изменить архитектуру у созданного префикса.

WINEPREFIX=»/home/$USER/.wine_new» — через переменную среды WINEPREFIX указываем, по какому пути должен будет располагаться новый префикс. В данном примере это «/home/$USER/.wine_new». Wine требует указания абсолютного пути. Путь в виде «~/.wine_new» не подойдёт, и будет выведена ошибка: wine: invalid directory ~/.wine_new in WINEPREFIX: not an absolute path.

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

winecfg — программа для конфигурирования префикса. После её запуска произойдёт процесс непосредственного создания префикса по указанному пути.

Сразу после выполнения увидим следующий вывод:

При первом создании префикса может быть предложено скачать пакеты Mono и Geko, но, начиная с Wine 5.0, они должны скачиваться вместе с установкой Wine без дополнительных запросов. В этом случае будет предложено просто установить их в префикс.

  • Библиотеки Mono нужны для корректной работы программ, которым необходим Microsoft .NET Framework.
  • Библиотеки Geko необходимы для корректной работы свободной реализации Internet Explorer (до Windows 10 стандартный интернет браузер в ОС Windows).

Пакеты будут размещены здесь:

~/.cache/wine/

После завершение создания префикса появится окно графического интерфейса (GUI) конфигуратора префикса (winecfg):

О настройках конфигуратора несколько далее по статье. На этом этапе его окно можно закрыть.

Объём свежесозданного префикса составит около 1,3 Гб.

По аналогии можно создать 32-разрядный префикс:
WINEARCH=win32 WINEPREFIX="/home/$USER/.wine_new32" winecfg

Общая информация и ограничения префиксов.

  • Зачем вообще создавать префиксы? Почему бы не ставить программы куда-попало в пространство Linux-пользователя и запускать их из любого удобного места? | Если установить программу вне префикса, то она может оказаться неработоспособной в виду различия иерархии путей в Linux и Windows. В остальном, на деле программа будет как бы установлена в стандартный префикс /home/$USER/.wine. Именно оттуда она будет взаимодействовать с системными компонентами Windows, включая реестр. Туда же она будет сохранять свои рабочие файлы (конфиги, логи и подобное). Поэтому во избежание ошибок, несовместимости и замусоривания оптимальнее осознанно использовать префиксы.
  • Можно создавать неограниченное количество префиксов.
  • Нежелательно устанавливать все программы в один префикс, лучше создавать новый под каждую программу. Это в значительной степени упростит отладку и поможет избежать конфликтов.
  • Можно настроить один префикс, копировать его и использовать копии в качестве отдельных префиксов. При этом можно свободно менять их имена.
  • После создания префикса, для запуска программ из него, не нужно каждый раз указывать его архитектуру. Пример запуска программы control.exe: WINEPREFIX="/home/$USER/.wine_new32" wine "/home/$USER/.wine_new32/drive_c/windows/system32/control.exe"
  • Да, для того, чтобы запустить программу из того или иного префикса, необходимо каждый раз передавать переменной окружения WINEPREFIX значение пути до желаемого префикса. Варианты упрощения этого описаны в конце статьи.
  • Не рекомендуется размещать префикс на разделе с файловой системой NTFS (основная файловая система OC Windows), так как могут быть проблемы с правами на запуск программ в префиксе и в целом это менее безопасно.
  • НЕЛЬЗЯ устанавливать в префикс Windows-драйвера для оборудования (видеокарт, звуковых карт и подобного). Потенциально это может привести к сбою устройства.
  • Можно одновременно запускать программы из разных префиксов. Это возможно благодаря отдельным процессам wineserver, о котором рассказывается во второй половине статьи.
  • В виду неполной изоляции префиксов, не стоит пытаться запускать вредоносные программы для Windows, так как потенциально они способны нанести вред Linux-системе. К примеру, запущенный в префиксе вирус-шифровальщик может зашифровать не только префикс, но и выйти за его пределы, зашифровав все каталоги и файлы, принадлежащие Linux-пользователю.
  • На момент 2020 года значительная часть античитов (BattlEye, Easy Anti-Cheat и прочие) отказывается работать в префиксе Wine. Из-за этого будет недоступен мультиплеер или игра может вовсе не запуститься. К примеру, серия игр Arma. Игры запускаются, но в сетевой игре доступны сервера только без защиты BattlEye.
  • Программы в префиксе запускаются с правами пользователя, который их запустил. То есть префикс не предоставляет изоляции от основной системы, поэтому безопасность (доверенность) запускаемых программ крайне важна. Очень желательно ограничить права доступа к префиксам. Рекомендую следующий уровень прав: для владельца разрешение на чтение, запись и выполнение; для его группы запрет всего; всем остальным запрет всего.

Пример применения прав к префиксу:

sudo chmod 700 -R ~/.wine/

-R — применить права рекурсивно для всех каталогов и файлов, включая вложенные.

Такой уровень прав может повлиять на работоспособность некоторых программ внутри префикса, поэтому в случае возникновения проблем с работоспособностью не забыть, что применены ограниченные права.

Конфигурирование Wine через GUI.

Основная масса полезной информации по winecfg описана здесь: https://wiki.winehq.org/Winecfg

Поэтому ниже рассмотрены только некоторые вещи.

Основная масса полезной информации по winecfg описана здесь: https://wiki.winehq.org/Winecfg

Поэтому ниже рассмотрены только некоторые вещи.

Конфигурирование осуществляется для каждого префикса в отдельности. Пример:

WINEPREFIX="/home/$USER/.wine" winecfg

Язык интерфейса конфигуратора можно изменить следующей командой:

WINEPREFIX="/home/$USER/.wine" LANG="en_US.utf8" winecfg

В данном случае русский сменится на английский.

Так же это позволяет cоздать англофицированный префикс, если при создании передать значение en_US.utf8 переменной среды LANG:
WINEARCH=win64 LANG="en_US.utf8" WINEPREFIX="/home/$USER/.wine_new_prefix" winecfg

Таким образом получится англофицированный префикс, в котором каталоги Windows-пользователя будут на английском языке.

Вкладка «Приложения».

Одним из наиболее часто конфигурируемым параметром является выбор того, под какую версию Windows будет мимикрировать префикс. На момент 2020 года по умолчанию выбрана Windows 7. Полный список:

Эта опция особенно полезна для старых программ, которые требуют Windows XP.

Вкладка «Диски».

Здесь можно подключать виртуальные и физические разделы, виртуальные и физические DVD-приводы, сетевые диски и даже дисководы.

В данном случае подключено два виртуальных диска — C: и Z:. Диск C: является системным каталогом префикса, а диск Z: ведёт в корень файловой системы Linux. Второе в основном нежелательно, поэтому рекомендуется удалить этот виртуальный диск, тем самым изолировав префикс от основной системы. «Любопытным» программам будет сложнее выбраться за пределы префикса, что очень хорошо. При этом останется возможность указывать программам пути вне префикса вручную, то есть полная изоляция отсутствует.

Примечание: В виду неполной изоляции префиксов, вредоносные программы для Windows потенциально способны нанести вред Linux-системе.

Добавить виртуальный DVD-привод можно так:

То есть нажать кнопку «Добавить…», выбрать букву тома (в данном примере D:) и подтвердить. Далее в строке «Тип» выбрать CD-ROM. Останется указать путь до желаемого для монтирования образа DVD.

По аналогии можно добавить физический DVD-привод, выбрав его в строке «Устройство».

Вкладка «Вид и интеграция».

В этой вкладке основным является возможность выбора ассоциации стандартных каталогов Windows-пользователя, с домашними каталогами Linux-пользователя. Эта возможность располагается в блоке «Папки», он находится в нижней половине окна. Там показано то, какие каталоги Linux-пользователя соотносятся с каталогами Windows-пользователя в префиксе.

Стандартные каталоги Windows-пользователя располагаются в префиксе по следующему пути:

/home/$USER/.wine/drive_c/users/$USER/

Выглядит это так:

На снимке видно, что часть каталогов представлены символическими ссылками. Они указывают на домашние каталоги Linux-пользователя, который создал префикс. Это означает, что Windows-программы, запущенные в префиксе, будут использовать каталоги Linux-пользователя. К примеру, запущенная Windows-игра создаст каталог с сохранениями в ~/Documents. На мой взгляд, такое поведение нежелательно.

Можно легко изменить это ассоциирование, указав другие каталоги или вовсе убрав все ассоциации, что изолирует префикс от домашних каталогов пользователя (но не даёт полной изоляции). Для этого необходимо снять галку в блоке «Типы MIME» у пункта «Управлять ассоциациями файлов». Далее в блоке «Папки» появится возможность выбирать пункты и указывать им желаемые пути.Если убрать галку у пункта «Привязать к», то связь удалится и будет использоваться соответствующий каталог внутри префикса, то есть стандартный каталог Windows-пользователя: «./drive_c/users/$USER/Мои документы«, «./drive_c/users/$USER/Мои рисунки» и так далее. На иллюстрации ниже хорошо видно, что теперь для Windows-пользователя используются обычные каталоги, а не символические ссылки на каталоги Linux-пользователя.

Примечание: При удалении файлов из префикса они помещаются в «Корзину» Linux-пользователя.

winefile. Файловый менеджер Wine.

В некоторой степени является аналогом проводника Windows (explorer). Команда запуска:

WINEPREFIX="/home/$USER/.wine_new" wine winefile

Функционал схож с файловыми менеджерами в дистрибутивах Linux: Dolphin, Thunar и прочих. Можно создавать каталоги, запускать исполняемые файлы, подключать сетевые диски и так далее. На иллюстрации изображён случай без «изоляции» префикса, поэтому виден корневой каталог Linux (диск Z:). «Корзина» для префикса является «Корзиной» Linux-пользователя.

Далее по статье рассматривается установка программ из установочных Windows-файлов (exe, msi). Установку из этих файлов можно осуществить через файловый менеджер Wine, но в данном случае будет рассмотрен только вариант установки с использованием терминала.

Wine. Установка и запуск программ.

В обычном случае алгоритм установки программ следующий:

  1. Ищем запись о желаемой программе в базе Wine AppDB: https://appdb.winehq.org/
  2. Изучаем истории успешного запуска (или их отсутствие).
  3. Подготавливаем префикс по описанию. В зависимости от капризности программы, может потребоваться изменить версию Windows и установить те или иные пакеты расширений (С++ redistributable, .NET Framework, DirectX, Microsoft Media Foundation и прочие).
  4. Устанавливаем программу.

Примечание: Не рекомендуется запускать программы из разделов с файловой системой NTFS, так как могут быть проблемы с правами на запуск и в целом это менее безопасно.

Пример установки клиента Steam.

Находим информацию о нём в базе Wine AppDB: https://appdb.winehq.org/objectManager.php?sClass=version&iId=19444

Разворачиваем свиток «Test Results». В верхней половине будет отображён крайний отчёт пользователя, в котором он описывает свою историю запуска программы. Блок в нижней половине содержит в себе ссылки на отчёты других людей. Красной рамкой отмечена колонка, где можно переключать их.

Скачиваем клиент SteamSetup.exe.

Производим установку в конкретный ранее созданный префикс:
WINEPREFIX="/home/$USER/.wine" wine "/home/$USER/Downloads/SteamSetup.exe"

Разбор команды:

wine «/home/$USER/Downloads/SteamSetup.exe« — запускаем посредством /opt/wine-staging/bin/wine исполняемый файл SteamSetup.exe, который расположен в пользовательском каталоге Downloads. Запускать исполняемые файлы можно из любого каталога Linux-пользователя, но потребуется указывать абсолютный путь.

После запуска SteamSetup.exe появится окно типичного мастера установки Windows:

В правой части иллюстрации видно, что программа устанавливается в указанный префикс, считая его ОС Windows.

Wine умеет преобразовывать создание ярлыков рабочего стола для Windows в ярлыки для рабочего стола и меню Linux. Тем самым можно будет запускать с ярлыка установленную в префикс Windows-программу. Файл ярлыка будет храниться здесь:

~/.local/share/applications/wine/

Набор иконок здесь:

~/.local/share/icons/hicolor/

Пример запуска программы напрямую из конкретного префикса:

WINEPREFIX="/home/$USER/.wine" wine "/home/$USER/.wine/drive_c/Program Files (x86)/Steam/Steam.exe"

Примечание: Для той части пути, которая внути префикса, регистр не имеет значения.

Альтернативный вариант запуска:
WINEPREFIX="/home/$USER/.wine" wine "C:/Program Files (x86)/Steam/Steam.exe"

Wine позволяет сократить путь до относительно префикса, имитируя путь в ОС Windows. Причём, как видно в примере, Wine поддерживает косую черту «/», не смотря на то, что в путях в Windows допустима только обратная косая черта «».

Wine. Установка программы из .msi установочника.

О пакетах msi можно почитать здесь: https://ru.wikipedia.org/wiki/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D1%89%D0%B8%D0%BA_Windows

Установка msi-пакетов в префикс несколько отличается от установочника в виде .exe. Пример установки EpicInstaller-10.15.2-unrealtournament.msi:

WINEPREFIX="/home/$USER/.wine" wine msiexec /i "/home/$USER/.wine/drive_c/EpicInstaller-10.15.2-unrealtournament.msi"

Альтернативный вариант:

WINEPREFIX="/home/$USER/.wine" wine start /unix "/home/$USER/.wine/drive_c/EpicInstaller-10.15.2-unrealtournament.msi"

Wine. Запуск bat-файлов («батников»).

Их запуск отличается от запуска exe-файлов. Пример запуска script.bat:
WINEPREFIX="/home/$USER/.wine" wine start /unix "/home/$USER/.wine/drive_c/script.bat"

Wine. Удаление установленной Windows-программы.

Это можно сделать несколькими способами.

Удаление через Wine-программу uninstaller («Установка/удаление программ»):

WINEPREFIX="/home/$USER/.wine" wine uninstaller

В списке выбрать программу, которую нужно удалить, и нажать кнопку «Изменить/Удалить». Запустится мастер установки-удаления программы.

Удаление конкретной программы без использования GUI:
WINEPREFIX="/home/$USER/.wine" wine uninstaller --remove название_программы

Пример удаления программы Steam:

WINEPREFIX="/home/$USER/.wine" wine uninstaller --remove steam

Регистр имени программы не имеет значения.

Можно удалить напрямую через специальную программу для удаления, которая входит в комплект установленной программы:

WINEPREFIX="/home/$USER/.wine" wine "/home/$USER/.wine/drive_c/Program Files (x86)/Steam/uninstall.exe"

Альтернативный вариант через GUI. Метод тот же: удаление через программу «Установка/удаление программ», но через запуск из «Панели управления Wine». Для начала потребуется запустить «Панель управления Wine»:

WINEPREFIX="/home/$USER/.wine" wine control

Альтернативный способ запуска напрямую:

WINEPREFIX="/home/$USER/.wine" wine "/home/$USER/.wine/drive_c/windows/system32/control.exe"

В появившемся окне через ярлык запустить программу «Установка/удаление программ»:

Радикальным вариантом является удаление префикса целиком. Недостатком этого метода является то, что от программы останутся ярлыки и иконки. Придётся найти и зачистить их вручную.

~/.local/share/applications/wine/

~/.local/share/icons/hicolor/

Winetricks. Основы.

Руководство по использованию: https://wiki.winehq.org/Winetricks

winetricks — конфигурационный shell-скрипт, позволяющий быстро и просто настроить различные параметры Wine через терминал и установить Windows-библиотеки и компоненты, указав соответствующие имена пакетов. Тем самым winetricks в основном дублирует функционал winecfg, но имеет дополнительные полезные возможности.

Официальный репозиторий: https://github.com/Winetricks/winetricks

Тело скрипта (крайняя версия): https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks

Скачивание из официального репозитория в ~/.local/bin/:
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks -P ~/.local/bin/

Почему именно в ~/.local/bin/? Это каталог для скриптов и исполняемых файлов пользователя. Размещение скрипта в этом каталоге позволит запускать winetricks через терминал для любого префикса без указания абсолютного пути до winetricks.

Если до этого в каталоге не было никаких исполняемых файлов, то потребуется перезапустить сеанс или скрипт профиля пользователя:

source ~/.profile

После чего winetricks можно будет запускать через терминал, но перед этим потребуется разрешить его выполнение.

Рекомендую назначить такой уровень прав:
sudo chmod 700 ~/.local/bin/winetricks

Активный пользователь получит право на чтение, запись и запуск, его группа — всё запрещено, остальным — всё запрещено.

Вывести номер версии winetricks:
winetricks --version

Справка о winetricks:
winetricks --help

winetricks может самообновляться по команде:
winetricks --self-update

При этом будет сохранена резервная копия предыдущей версии.

Откатиться на предыдущую версию:

winetricks --update-rollback

Многие манипуляция с winetricks можно произвести в графическом режиме. Запуск winetricks в графическом режиме для конкретного префикса:
WINEPREFIX="/home/$USER/.wine" winetricks

Не смотря на видимую удобность, графическим режим имеет ряд нюансов. Немало опций являются устаревшими и рудиментарными, а наиболее часто используемые опции скрываются в меню, которое, как ни странно, появляется после выбора пункта «Выберите путь для wine по умолчанию»:

В этом меню ключевыми являются две опции: «Установить библиотеку DLL или компонент Windows» и «Установить шрифт».

Опция «Установить библиотеку DLL или компонент Windows».

Здесь перечислены все библиотеки и компоненты, которые winetricks может скачать и инициализировать установку. Например, можно установить в префикс DirectX или отдельные его библиотеки. Не всё из представленного актуально и работоспособно, поэтому нужно действовать внимательно. Стоит отметить, что в рекомендациях на https://appdb.winehq.org/ попадаются советы с перечислением целой вереницы пакетов к установке, тут нужно учитывать, что люди нередко предлагают устанавливать всякую всячину для «подстаховки», поэтому так лучше не делать и постараться установить только действительно необходимые пакеты.

Скачивание производится с сайтов поставщиков (преимущественно Microsoft), так как лицензия многих библиотек и компонентов для ОС Windows не позволяет помещать их в общественные репозитории. Без winetricks пришлось бы самостоятельно перейти на сайт поставщика, найти в его дебрях нужный пакет, найти кнопку скачать (нередко, эта задача то ещё приключение) и наконец заполучить заветный установщик. Таковы реалии Windows на момент 2020 года.

Так же winetircks предоставляет возможность установить библиотеки или компонент напрямую через терминал:

WINEPREFIX="/home/$USER/.wine" winetricks "название_пакета"

Пример установки Microsoft Media Foundation, который часто необходим для работоспособности видеороликов в играх на Unreal Engine 4:

WINEPREFIX="/home/$USER/.wine" winetricks mf

В этой простой операции есть нюанс. Для установки ряда пакетов потребуется распаковщик cab-архивов, которые довольно широко применяются в Windows:
sudo apt install cabextract

После этого установка Microsoft Media Foundation пройдёт успешно:

Можно установить несколько пакетов в одну команду:
WINEPREFIX="/home/$USER/.wine" winetricks d3dx9 vcrun2008 vcrun2010 vcrun2012 vcrun2013 vcrun2015

winetricks позволяет вывести список всех доступных для загрузки библиотек через терминал, что избавляет от необходимости искать в графическом интерфейсе:

winetricks dlls list

На иллюстрации видно, что в выводе присутствует описание пакетов. Это позволяет воспользоваться grep, чтобы показать только искомое, если известна часть его описания:

winetricks dlls list | grep -i "c++"

Опция «Установить шрифт».

Эта возможность требуется довольно часто. В префиксе не может быть шрифтов, которые защищены лицензией, но немало программ, которые требуют такие шрифты. К примеру, Arial и Times New Roman. Когда программа не находит в префиксе нужный шрифт и при этом не умеет использовать имеющиеся, то в ней попросту не будет отображаться текст. К примеру, это актуально для Epic Games Launcher.

Чаще всего требуется пакет шрифтов corefonts, в том числе для упомянутого Epic Games Launcher. В этот пакет как раз входят шрифты Arial, Courier и Times. Через терминал установка выглядит так:

WINEPREFIX="/home/$USER/.wine/" winetricks corefonts

В префиксе шрифты хранятся по следующему пути:

/home/$USER/.wine/drive_c/windows/Fonts/

В этот каталог можно вручную помещать шрифты в формате .ttf.

Куда winetricks скачивает пакеты перед их установкой?

Все скачанные с помощью winetricks пакеты складируются здесь:

~/.cache/winetricks/

Можно вывести весь список пакетов, которые находятся в кэше:

winetricks list-cached

Winetricks. Настройка префикса.

Вывести список настроек префикса:
winetricks settings listТоже самое в графическом режиме:

Из приведённого списка очевидно, что winecfg, который был рассмотрен ранее, предоставляет существенно более скромные возможности конфигурирования. Впрочем, многое из доступных опций не стоит трогать. Ниже рассмотрены часто применяемые и просто полезные.

Так как с графическим режимом всё понятно, далее речь пойдёт о настройке опций через терминал.

Переключить версию Windows:
WINEPREFIX="/home/$USER/.wine" winetricks win7
По аналогии: winxp, win8, win10

Через winetricks намного удобнее и проще осуществить «изоляцию» префикса, которая рассмотрена в первой половине статьи. Основной её целью является убрать прямой доступ из префикса к домашнему каталогу Linux-пользователя и к корню системы (диск Z:). Это осуществляется следующей командой:
WINEPREFIX="/home/$USER/.wine" winetricks sandbox

Это уберёт ассоциацию каталогов Windows-пользователя с домашними каталогами Linux-пользователя, а также удалит диск Z: (путь до корня Linux из префикса). Тем самым использование программ из такого «изолированного» префикса будет несколько более безопасным. При этом рабочие файлы Windows-программ будут сохраняться внутри префикса в соответствующих каталогах Windows-пользователя.

Углубление в функционал Wine.

wineserver.

Это специальный демон (служба, сервис), который выполняет роль ядра ОС Windows. Для каждого префикса запускается свой демон, что позволяет одновременно выполнять несколько программ из разных префиксов.

Справка:

man wineserver

Порой программа может зависнуть намертво, здесь поможет жёсткий перезапуск wineserver. Эффект схож с нажатием кнопки Reset. В этом случае произойдёт жёсткая перезагрузка префикса (Windows), но не основной системы (Linux). Команда выглядит так:

WINEPREFIX="/home/$USER/.wine" wineserver -k

wineboot.

Это программа, которая выполняет инициализацию, запуск и перезагрузку префикса. Так же она выполняет симуляцию завершения работы и перезапуска для программ, запущенных в префиксе.

Справка:

man wineboot

Мягкая перезагрузка префикса. Это полезно для программ, которые требуют перезагрузки ОС Windows после своей установки:
WINEPREFIX="/home/$USER/.wine" wineboot -r

Создание префикса через wineboot:

WINEPREFIX="/home/$USER/.wine-new-prefix" wineboot -i

-i — инициализировать префикс.

Альтернативный вариант:

WINEPREFIX="/home/$USER/.wine-new-prefix" wineboot -u

-u — обновить конфигурацию префикс.

taskmgr — «Диспетчер задач».

Программа «Диспетчер задач» является аналогом системного монитора (gnome system monitor и подобных):
WINEPREFIX="/home/$USER/.wine" wine taskmgr

Реестр Windows и его редактирование в Wine.

Файлы реестра system.reg, user.reg и userdef.reg создаются после конфигурирования префикса. Пример пути расположения:

/home/$USER/.wine/

Их можно редактировать любым текстовым редактором.

  • system.reg содержит ветвь HKEY_LOCAL_MACHINE.
  • user.reg — HKEY_CURRENT_USER.
  • userdef.reg — HKEY_HKEY_USERS.Default (содержит настройки Windows-пользователя по умолчанию).

Для более удобной работы с реестром в Wine реализован аналог редактора реестра Windows — regedit. Для его запуска нужно выполнить:
WINEPREFIX="/home/$USER/.wine" regedit
Альтернативный вариант:
WINEPREFIX="/home/$USER/.wine" wine /home/$USER/.wine/drive_c/windows/regedit.exe

Примечание: Импорт рееста (куста) непосредственно из ОС Windows сломает префикс Wine.

Настройки, которыми можно управлять через winecfg и winetricks, сохраняются в реестр, а именно в HKEY_CURRENT_USERSoftwareWine:

Подробно об этом рассказывается здесь: https://wiki.winehq.org/Useful_Registry_Keys

Виртуальный рабочий стол в Wine.

Имитирует рабочий стол Windows. Обычно используется для программ, которые плохо сворачиваются (Alt + Tab) или сбивают разрешение экрана для Linux. Причём сбивают так, что приходится выполнять команду xrandr -s 0 для восстановления исходного разрешения экрана. При использовании виртуального рабочего стола Wine после завершения программы разрешение экрана восстанавливается автоматически.

Рабочий стол можно включить через winecfg:

На иллюстрации выше в отмеченном поле можно настроить разрешение вирутального рабочего стола. Можно установить такое же разрешение, как в Linux или такое, какое максимально поддерживает запускаемая программа. К примеру, игра Diablo 2 поддерживает разрешение максимум 800×600, поэтому для виртуального рабочего стола такое разрешение будет оптимальным.

Виртуальный рабочий стол запустится после повторного запуска winecfg или любой другой программы в префиксе. При этом запущенная программа будет размещена в рамках виртуального рабочего стола:

Как можно было заметить на иллюстрации, виртуальный рабочий стол поддерживает ярлыки для программ, установленных в префикс.

Виртуальный рабочий стол можно запустить принудительно для программы в конкретном префиксе без настраивания через winecfg:

WINEPREFIX="/home/$USER/.wine" explorer /desktop="name_desktop",1920x1080 regedit

Разбор команды:

explorer — Wine-реализация проводника (файлового менеджера) Windows.

/desktop=»name_desktop»,1920×1080 regedit — создать рабочий стол с именем name_desktop и разрешением 1920×1080; запустить программу regedit — Wine-реализация программы редактирования реестра Windows.

Примечание: Можно запускать несколько виртуальных рабочих столов одновременно, но нужно дать им разные имена.

Так же вирутальным рабочим столом можно управлять через winetricks без использования winecfg.

Включение использования виртуального рабочего стола:
winetricks vd=1920x1080
Отключение:
winetricks vd=off

Если разрешение экрана всё-таки не восстановилось после завершения работы Windows-программы, то это исправит следующая команда:
xrandr -s 0

wineconsole.

Программа для работы с командной строкой в рамках префикса. Полезна для запуска программ и bat-скриптов так, как это было бы через интерпретатор командной строки Windows (cmd.exe), а так же для отладки.

Справка:

man wineconsole

Запуск командной строки Windows (cmd.exe) через wineconsole:

WINEPREFIX="/home/$USER/.wine" wineconsole cmd

Отладка.

Официальная документация:

https://wiki.winehq.org/Wine-Staging_Debug

https://wiki.winehq.org/Debug_Channels

Отключить показ диалога падения программы в Wine:
WINEPREFIX="/home/$USER/.wine" winetricks nocrashdialog

Ниже приведённые команды полезны для локализации проблем в работе программы. К примеру, по характерному выводу можно определить какой Windows-библиотеки не хватает для успешного запуска программы. Так же команды отладки необходимы для составления отчётов об ошибках, чтобы разработчики Wine знали о проблемах с той или иной программой.

Вывести ход выполнения программы game.exe в файл wine-log.txt, который будет сохранён в ~/:
WINEPREFIX="/home/$USER/.wine" wine "C:/games/my_game/game.exe" &> wine-log.txt

Вывести в файл wine-log.txt только ошибки и предупреждения в ходе выполнения программы:

WINEDEBUG=-all,+err,+warn WINEPREFIX="/home/$USER/.wine" wine "C:/games/my_game/game.exe" &> wine-log.txt

Вывести в файл wine-setup-log.txt ход установки программы из установочного файла setup.exe:
WINEDEBUG=+text,+file,+reg,+relay WINEPREFIX="/home/$USER/.wine" wine "C:/setup.exe" &> wine-setup-log.txt

Вывести в файл wine-dll-log.txt список Windows-библиотек (dll), используемых в процессе запуска программы:

WINEDEBUG=+loaddll WINEPREFIX="/home/$USER/.wine" wine notepad &> wine-dll-log.txt

builtin — встроенная библиотека Wine, то есть созданная разработчиками Wine.

native — «родная» библиотека Windows.

Практика.

Нюансы запуска S.T.A.L.K.E.R. на Linux — пример варианта указания рабочего каталога вручную.

Запуск CRYENGINE 5 на Linux.

Решение проблемы «Bad serial given in setup» в Arma через редактирование реестра в префиксе.

Монтирование виртуального CD-ROM для Wine.

Использование Wine и Proton для запуска игры и сервера Conan Exiles.

Запуск Epic Games Launcher посредством Wine.

Установка русификатора для игры из Steam.

В виду того, что Proton (Steam Play) представляет собой модифицированный Wine, они хорошо совместимы между собой. Поэтому для Proton-префикса можно использовать стандартные инструменты Wine. В примере будет рассмотрена установка русификатора для Borderlands GOTY Enhanced. С нюансами подготовки игры к запуску можно ознакомиться здесь: https://www.protondb.com/app/729040

Игра по умолчанию будет установлена сюда:

/home/$USER/.local/share/Steam/steamapps/common/BorderlandsGOTYEnhanced/

Чтобы префикс игры создался, её необходимо запустить и выключить. По умолчанию префикс будет располагаться здесь:

/home/$USER/.local/share/Steam/steamapps/compatdata/729040/pfx/

То есть игра находится вне префикса. В этом особенность Proton.

Для начала установки, необходимо запустить установочный файл русификатора — Borderlands_TTL.exe.

WINEPREFIX="/home/$USER/.local/share/Steam/steamapps/compatdata/729040/pfx" wine "/home/$USER/Downloads/Borderlands_TTL.exe"

Wine может предложить установить Mono и Gecko — отказываемся, для префикса игры это ни к чему.

Должно появиться окно мастера установки:

Мастер сообщит, что не может найти игру:

Это не удивительно, так как игра находится вне префикса. Здесь есть два варианта решения:

  1. Создать в префиксе символическую ссылку на каталог игры, тогда мастер сможет обнаружить игру и продожить установку. То есть создать символическую ссылку с именем BorderlandsGOTYEnhanced по пути /home/$USER/.local/share/Steam/steamapps/compatdata/729040/pfx/drive_c/Program Files/, которая будет ссылаться на каталог с установленной игрой /home/$USER/.local/share/Steam/steamapps/common/BorderlandsGOTYEnhanced/.
  2. Указать русификатору абсолютный путь до каталога игры. На иллюстрации виден тот самый «диск Z:», который является символической ссылкой на корневой каталог Linux. Через него можно указать желаемый катлог Linux-пользователя.

После завершения установки игра будет русифицирована.

Чуть-чуть хитростей.

Каждый раз прописывать путь до префикса и программы может быть довольно утомительно. Есть несколько способов это упростить.

  • Для упрощения запуска программы из префикса рекомендую использовать shell-скрипт (sh) с командой на запуск. Cкрипт оптимально разместить в ~/.local/bin/, что позволит осуществлять запуск через терминал по имени скрипта без указания абсолютного пути до него.
    • На скрипт можно создать кнопку для меню запуска и разместить её на рабочей панели.
  • Ещё одним вариантом является использование символических ссылок. Если префикс находится на другом разделе, то для него можно создать символическую ссылку и разместить её в домашнем каталоге пользователя, что позволит сократить путь в команде. К примеру, префикс находится в /mnt/my_second_hdd/games/wine-prefix, можно создать символическую ссылку и разместить её в /home/$USER/. Пример команды работы с префиксом через символическую ссылку: WINEPREFIX="/home/$USER/wine-prefix" winecfg

Почта для предложений и замечаний: feedback@noostyche.ru


Загрузить PDF


Загрузить PDF

Из этой статьи вы узнаете, как установить и запустить Wine на компьютере с Linux. Wine — это программа, которая позволяет запускать программы для Windows на компьютере под управлением другой (не Windows) операционной системы.

  1. Изображение с названием Use Wine on Linux Step 1

    1

    Откройте терминал. Выберите «Терминал» в системном меню или в списке установленных программ.

    • В большинстве дистрибутивов Linux можно нажать Ctrl+Alt+T, чтобы открыть терминал.
    • В некоторых дистрибутивах Linux строка терминала находится в верхней части экрана.
  2. Изображение с названием Use Wine on Linux Step 2

    2

    Активируйте 32-разрядную архитектуру. Если на компьютере установлен 64-разрядный процессор, активируйте 32-разрядный режим. Для этого:

    • введите sudo dpkg --add-architecture i386 в терминале и нажмите Enter;
    • введите пароль администратора и нажмите Enter.
  3. Изображение с названием Use Wine on Linux Step 3

    3

    Свяжите загрузчик компьютера с веб-сайтом Wine. Это позволит компьютеру найти правильные файлы для загрузки. Для этого:

    • введите wget -nc https://dl.winehq.org/wine-builds/Release.key и нажмите Enter;
    • введите sudo apt-key add Release.key и нажмите Enter;
    • введите пароль администратора.
  4. Изображение с названием Use Wine on Linux Step 4

    4

  5. Изображение с названием Use Wine on Linux Step 5

    5

    Обновите загруженные пакеты. Введите sudo apt-get update и нажмите Enter.

  6. Изображение с названием Use Wine on Linux Step 6

    6

    Выберите загрузку. По состоянию на март 2018 года стабильную версию Wine можно загрузить, если ввести sudo apt-get install --install-recommends winehq-stable и нажать Enter.[1]

    • Возможно, будущие версии Wine будут поддерживать несколько разных типов стабильной загрузки.
  7. Изображение с названием Use Wine on Linux Step 7

    7

    Подтвердите загрузку. Введите y и нажмите Enter, а затем введите пароль администратора (если будет предложено). Начнется загрузка и установка Wine на компьютере.

  8. Изображение с названием Use Wine on Linux Step 8

    8

    Подождите, пока Wine загрузится и установится. На это уйдет 10 минут.

    Реклама

  1. Изображение с названием Use Wine on Linux Step 9

    1

    Создайте домашний каталог Windows. Введите winecfg, нажмите Enter, а затем найдите подтверждающее сообщение «created the configuration directory ‘home/name/.wine» (создан каталог конфигурации home/name/.wine).

    • Если вам предлагается установить какие-либо недостающие пакеты, нажмите «Установить» и дождитесь, когда пакеты установятся.
  2. Изображение с названием Use Wine on Linux Step 10

    2

    Выберите версию Windows. Откройте меню «Версия Windows» внизу окна «Конфигурация Wine», а затем выберите версию Windows (например, «Windows 7»), которую вы хотите использовать.

    • Если данная опция неактивна, сначала нажмите на вкладку «Приложения» в верхней части окна.
  3. Изображение с названием Use Wine on Linux Step 11

    3

    Нажмите Применить. Эта кнопка находится в нижней части окна. Настройки будут сохранены.

  4. Изображение с названием Use Wine on Linux Step 12

    4

    Щелкните по OK. Эта кнопка находится в нижней части окна. Окно закроется.

  5. Изображение с названием Use Wine on Linux Step 13

    5

    Загрузите программу для Windows в формате EXE. Найдите EXE-файл нужной программы (например, 7-zip) и скачайте его. Теперь можно установить программу.

    • На веб-сайте Wine можно просмотреть полный список программ, совместимых с Wine.

    Реклама

  1. Изображение с названием Use Wine on Linux Step 14

    1

    Откройте папку «Downloads». Вы найдете ее в папке «Home». Также папку «Downloads» можно открыть из меню «Приложения».

  2. Изображение с названием Use Wine on Linux Step 15

    2

    Найдите загруженный EXE-файл. Для этого прокрутите содержимое папки «Downloads».

  3. Изображение с названием Use Wine on Linux Step 16

    3

    Щелкните по файлу правой кнопкой мыши. Откроется выпадающее меню.

  4. Изображение с названием Use Wine on Linux Step 17

    4

    Нажмите Открыть с помощью Wine. Эта опция находится в верхней части меню. Откроется окно установки.

  5. Изображение с названием Use Wine on Linux Step 18

    5

    Щелкните по Установить. Эта опция находится внизу окна установки. Запустится установка программы на компьютер.

    • Чтобы установить некоторые программы, нужно ввести дополнительные данные.
    • Чтобы изменить папку, в которую будет установлена программа, нажмите «⋯» в правой части окна, а затем выберите другую папку на компьютере.
  6. Изображение с названием Use Wine on Linux Step 19

    6

    Щелкните по Закрыть, когда появится запрос. Эта опция станет доступной, когда программа устновится.

  7. Изображение с названием Use Wine on Linux Step 20

    7

    Запустите программу. Сделайте это в разделе «Приложения» системного меню.

    Реклама

Советы

  • Также можно установить пользовательский интерфейс Wine под названием PlayOnLinux, который позволяет устанавливать, удалять и получать доступ к программам Wine. Для этого откройте терминал, когда установите Wine, введите sudo apt install playonlinux, введите пароль и подтвердите загрузку, введя y.
  • Регулярно проверяйте сайт Wine на наличие обновлений.

Реклама

Предупреждения

  • Wine является довольно совершенной программой, но в ней, как правило, нельзя запустить игры и мощные программы с нормальной частотой кадров.

Реклама

Об этой статье

Эту страницу просматривали 71 253 раза.

Была ли эта статья полезной?

Translation(s): English — Français — Português (Brasil) — Русский


WINE logo obtained from official website winehq.org - Logo by Joel Holdsworth, original image designed by Jon Parshall - GNU LGPL

Wine — (originally an acronym for «Wine Is Not an Emulator») is a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems, such as Linux, Mac OSX, & BSD. Instead of simulating internal Windows logic like a virtual machine or emulator, Wine translates Windows API calls into POSIX calls on-the-fly, eliminating the performance and memory penalties of other methods and allowing you to cleanly integrate Windows applications into your desktop.

Contents

  1. Available versions
  2. Attention!
  3. Installation on Debian Jessie and newer

    1. Step 1: Enable multiarch
    2. Step 2: Installation

      1. Standard installation
      2. Installation from Stretch backports
      3. Installation from WineHQ’s repo
    3. Optional Wine dependencies
    4. Mono and Gecko

      1. Mono
  4. Usage

    1. Command names (choosing between wine and wine-development)
    2. Configuring Wine
    3. Installing and removing Windows programs
    4. System integration
  5. Additional programs for Wine
  6. Alternatives
  7. Links

Available versions


Since Debian Jessie you can choose between two sets of Wine packages: wine and wine-development.

wine tracks the stable releases from winehq.org (e.g. version 5.0.1), and wine-development the development releases (e.g. version 5.12).

Despite its name wine-development is also intended to be used by regular users. Do not mix this up with the *-dev packages which contain the header files and development libraries.

You can either install both sets at the same time, or only one of them. If you install both sets, «wine» will take precedence unless you configure your system otherwise, see «Usage» below.

Attention!

This procedure works only if the following requirements are met:

1 — Packages migrated to new versions (stable-security) that modify the C libraries have not been installed.

2 — No packages from deb-multimedia have been installed.

Otherwise, dependency non-compliance issues will occur.

Installation on Debian Jessie and newer

Step 1: Enable multiarch


On 64-bit systems you should enable a 32-bit architecture for multiarch. This is needed for running 32-bit Windows applications (many modern apps are still 32-bit), but also for large parts of the Windows subsystem itself. If in doubt, you do need it!

You can identify your architecture with the following command:

dpkg --print-architecture

E.g. for amd64 (which most users have) you need i386. Enable it with the following command:

sudo dpkg --add-architecture i386 && sudo apt update

Step 2: Installation

  • You always need to install the wine (or wine-development) package. This should automatically install all other required packages if you already have enabled multiarch (step 1).

  • To run 32-bit Windows applications (this is the most common case, independently of your Debian architecture) make sure that wine32 (or wine32-development) is installed (requires step 1).

  • It’s quite easy to run into broken dependencies when installing Wine: The multiarch setup requires packages from e.g. amd64 and i386 to be in exactly the same version. Usually you already have most of the required amd64 library packages installed. These packages are the versions from your default release, e.g. Debian Stable or Testing. But if you install Wine from another suite (e.g. Debian Backports or Unstable) then some newly needed i386 packages might have another version, and you face broken dependencies. To solve this install the i386 package from the same suite as the already installed amd64 package (e.g. «sudo apt install libpulse0:i386/testing»), and then continue to install Wine.

Standard installation


  • Install wine on a 64-bit architecture (amd64 with i386 as foreign 32-bit architecture):

    sudo dpkg --add-architecture i386 && sudo apt update
    sudo apt install 
          wine 
          wine32 
          wine64 
          libwine 
          libwine:i386 
          fonts-wine

  • Install wine on a 32-bit architecture:

    sudo apt install 
          wine 
          wine32 
          libwine 
          fonts-wine

  • Install wine-development on a 64-bit architecture (amd64 with i386 as foreign 32-bit architecture):

    sudo dpkg --add-architecture i386 && sudo apt update
    sudo apt install 
          wine-development 
          wine32-development 
          wine64-development 
          libwine-development 
          libwine-development:i386 
          fonts-wine

  • Install wine-development on a 32-bit architecture:

    sudo apt install 
          wine-development 
          wine32-development 
          libwine-development 
          fonts-wine

Installation from Stretch backports


For Debian Stretch wine is available as backport. To enable stretch-backports add this line to your sources.list (or add a new file with the «.list» extension to /etc/apt/sources.list.d/):

deb http://deb.debian.org/debian stretch-backports main

and run

sudo apt update

Packages from backports are not installed automatically. But once they are installed you receive automatic updates. The following example commands make sure that all required packages are pulled from stretch-backports instead of stretch.

Do not simply use «apt install -t stretch-backports wine» instead of the following example commands. You’d end up with dependency packages installed unnecessarily from stretch-backports and have a high risk of «broken dependencies» because some new i386 dependency packages wouldn’t match the versions of their already installed amd64 counterparts.

  • Install wine on a 64-bit architecture (amd64 with i386 as foreign 32-bit architecture):

    sudo dpkg --add-architecture i386 && sudo apt update
    sudo apt install 
          wine/stretch-backports 
          wine32/stretch-backports 
          wine64/stretch-backports 
          libwine/stretch-backports 
          libwine:i386/stretch-backports 
          fonts-wine/stretch-backports

  • Install wine on a 32-bit architecture:

    sudo apt install 
          wine/stretch-backports 
          wine32/stretch-backports 
          libwine/stretch-backports 
          fonts-wine/stretch-backports

  • Install wine-development on a 64-bit architecture (amd64 with i386 as foreign 32-bit architecture):

    sudo dpkg --add-architecture i386 && sudo apt update
    sudo apt install 
          wine-development/stretch-backports 
          wine32-development/stretch-backports 
          wine64-development/stretch-backports 
          libwine-development/stretch-backports 
          libwine-development:i386/stretch-backports 
          fonts-wine/stretch-backports

  • Install wine-development on a 32-bit architecture:

    sudo apt install 
          wine-development/stretch-backports 
          wine32-development/stretch-backports 
          libwine-development/stretch-backports 
          fonts-wine/stretch-backports

Installation from WineHQ’s repo

WineHQ offers newer builds of wine for Bullseye and Bookworm. These packages are only available for the i386 and amd64 architectures. Installation instructions can be found here: WineHQ Debian

Optional Wine dependencies


wine and wine-development consist of a suite of packages. Some are optional and might not be installed automatically:

  • wine and wine-development each provide essential wrappers and convenience tools for the standard Wine components, and the alternatives system to provide the usual Wine command names.

  • wine32 and wine32-development each provide the binary loader for 32-bit Windows applications.

  • wine64 and wine64-development each provide the binary loader for 64-bit Windows applications.

  • wine32-preloader and wine32-development-preloader each provide the prelinked loader for 32-bit Windows applications.

  • wine64-preloader and wine64-development-preloader each provide the prelinked loader for 64-bit Windows applications.

  • wine32-tools and wine32-development-tools each provide the 32-bit Wine developer tools.

  • wine64-tools and wine64-development-tools each provide the 64-bit Wine developer tools (capable of generating both 32- and 64-bit results since Debian Stretch).

  • libwine and libwine-development each provide the Wine library (one package for each architecture, e.g. libwine:i386 and libwine:amd64).

  • libwine-dev and libwine-development-dev each provide Wine’s C header files and development libraries (one package for each architecture, e.g. libwine-dev:i386 and libwine-dev:amd64).

  • wine-binfmt provides support for launching Windows executables directly (shared between both suites since Debian Stretch).

  • fonts-wine provides the Wine fonts (shared between both suites, available since Debian Stretch, previously part of libwine).

  • Debug packages are available as <package>.dbgsym.

Users on a 64-bit system should make sure that both wine32 and wine64 (or wine32-development and wine64-development) are installed (see Step 1: Enable multiarch).

libwine and libwine-development recommend many other libraries needed for optional functionalities. These should be installed automatically, but if you don’t need them you may uninstall them. On amd64 remember that most times the i386 packages are the relevant ones.

Mono and Gecko


Windows software may require Mono for .NET, and Gecko for any HTML rendering. Debian has disabled these by default and do not provide packages.

Mono

The downloader for Wine Mono is intentionally disabled in the Debian packages. Unfortunately Wine Mono is not available in the official Debian archives.

You can find more information at: https://wiki.winehq.org/Mono

You can download the Wine Mono installer and copy them to one of the following locations:

  • /usr/share/wine-mono/
  • /usr/share/wine-development/mono/ (only if you are using wine-development)
  • /usr/share/wine/mono/
  • $XDG_CACHE_HOME/wine/
  • $HOME/.cache/wine/ (if XDG_CACHE_HOME is not set)

Usage

Command names (choosing between wine and wine-development)


wine and wine-development use the Debian alternatives system to provide /usr/bin/wine and other commands. If both packages are installed it defaults to use the commands provided by wine.

You may change this by running:

sudo update-alternatives --config wine

You may force a version at any time (as long as the wineserver isn’t running yet), by using the suffixed command names, e.g.:

wine-stable foo.exe
wine-development foo.exe
winecfg-stable
winecfg-development
winegcc-stable ...
winegcc-development ...

Configuring Wine


  • To open the Wine configuration window, enter the following command:

    winecfg

  • To open the Wine registry editor, enter the following command:

    regedit

Installing and removing Windows programs


In order to install a program, launch the Windows installation file (.exe/.msi) with the following command:

wine setup.exe

In order to remove a program, launch the wine uninstaller with the following command:

wine uninstaller

Wine uninstaller does not delete menu entries and desktop icons; therefore they must be removed manually.

System integration


If you want to start Windows applications directly (with the command ./foo.exe) you have to enable binfmt support. Have a look at the README.debian for details.

Additional programs for Wine


  • winetricks — is a helper script to download and install various redistributable runtime libraries needed to run some programs in Wine. These may include replacements for components of Wine using closed source libraries.

    To download and install, enter:

    sudo apt install winetricks

    If you have both wine and wine-development installed and want to use wine-development, you should execute the following commands before running winetricks:

    export WINE=/usr/bin/wine-development
    export WINESERVER=/usr/bin/wineserver-development

  • playonlinux — Frontend for Wine which helps to easily install Windows games and programs in Linux.

  • q4wine — Helps to manage wine prefixes and install applications.

  • gnome-exe-thumbnailer — Wine .exe and other executable thumbnailer for GNOME

  • winegame — Helps to easily install Windows games and programs in Linux.

Alternatives


  • Wine Staging: «Wine Staging is the testing area of winehq.org. It contains bug fixes and features, which have not been integrated into the development branch yet. The idea of Wine Staging is to provide experimental features faster to end users and to give developers the possibility to discuss and improve their patches before they are integrated into the main branch.»

  • An often easier and much less painful alternative to using and configuring Wine directly is the use of higher level tools that handle this automatically under the hood. For example, Lutris can be used to run Windows games via Wine using known working Wine versions and configurations. Lutris normally utilizes its own versions of Wine (although it still recommends the installation of a recent system version of Wine), but a popular alternative version of Wine for Lutris is Glorious Eggroll’s wine-ge-custom.

  • Wine-tkg: «Wine-tkg is a build-system aiming at easier custom wine builds creation. You can now easily get the «plain wine + pba + steam fix» build you’ve been dreaming about!» See its README for more information.

  • Crossover — CrossOver is developed by CodeWeavers and based on Wine, an open-source Windows compatibility layer. CrossOver lets you run thousands of Windows apps on your favorite Linux distro like Ubuntu, Mint, Fedora, Debian, RHEL and more.

Links


  • Wine official website

  • The Wine Application Database (AppDB): Information on application compatibility with Wine.

  • The Wine ArchWiki page

  • The Wine Gaming subreddit (r/wine_gaming): «This subreddit is for the discussion of using WINE to play video games.» (At the time of this edit, r/wine_gaming has many more members than r/winehq.)

  • The Wine HQ subreddit (r/winehq): «Here is the place to discuss about the success or failure of installing Windows games and applications. A place to ask questions to get something working or tips and tricks you learned to make something to work using Wine.»

  • README.debian


CategoryGame | CategoryNotNative | CategorySoftware

Состояние перевода: На этой странице представлен перевод статьи Wine. Дата последней синхронизации: 30 января 2015. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

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

  • Steam/Wine
  • CrossOver

Wine — свободная реализация программного интерфейса Microsoft Windows (WinAPI), позволяющая запускать приложения Windows в среде Unix-подобных операционных систем. Программы, запущенные в Wine, работают точно так же, как и в своей родной среде без снижения производительности, в отличие от запуска в эмуляторе. Более подробное описание Wine смотрите на домашней странице проекта и на вики-страницах Wine.

Contents

  • 1 Установка
  • 2 Настройка
    • 2.1 WINEPREFIX
    • 2.2 WINEARCH
    • 2.3 Графические драйверы
    • 2.4 Звук
      • 2.4.1 Поддержка MIDI
    • 2.5 Другие библиотеки
    • 2.6 Шрифты
    • 2.7 Значки запуска программ
      • 2.7.1 Создание пунктов меню для утилит Wine
      • 2.7.2 Удаление пунктов меню
      • 2.7.3 Неверный раздел в меню KDE 4
  • 3 Запуск приложений Windows
  • 4 Советы и рекомендации
    • 4.1 Сброс ассоциаций файлов Wine
    • 4.2 Два монитора с разными разрешениями
    • 4.3 exe-thumbnailer
    • 4.4 Патч CSMT
      • 4.4.1 Дополнительная информация о CSMT
    • 4.5 Изменение языка
    • 4.6 Установка Microsoft Office 2010
    • 4.7 Правильное монтирование образов компакт-дисков
    • 4.8 Запись на компакт-диски
    • 4.9 OpenGL
    • 4.10 Использование Wine как интерпретатор для исполняемых файлов Win16/Win32
    • 4.11 Wineconsole
    • 4.12 Winetricks
    • 4.13 Установка .NET framework 4.0
    • 4.14 Треск из колонок при использовании PulseAudio
    • 4.15 16-битные программы
  • 5 Сторонние оболочки
    • 5.1 CrossOver
    • 5.2 PlayOnLinux/PlayOnMac
    • 5.3 PyWinery
    • 5.4 Q4wine
  • 6 Смотрите также

Установка

Важно: Если у вас есть права для доступа к какому-либо файлу или ресурсу, то и запущенная вами программа в префиксе Wine тоже их получит. Префиксы Wine не являются так называемыми песочницами. Если важно обеспечение безопасности, используйте средства виртуализации.

Wine может быть установлен с пакетом wine, доступном в официальных репозиториях. Если вы используете 64-битную систему, первым делом не забудьте включить репозиторий Multilib.

Также вы можете установить пакеты wine_gecko и wine-mono для приложений, которые нуждаются в поддержке Internet Explorer и .NET, соответственно. Строго говоря, эти пакеты не обязательно устанавливать, так как Wine может загружать необходимые файлы самостоятельно по мере необходимости. Однако, если установить их сразу, это позволит затем работать без доступа к сети, так как Wine больше не будет загружать файлы для каждого префикса.

Архитектурные различия

Версия пакета Arch i686, используемая по умолчанию, содержит 32-битную сборку Wine, поэтому вы не сможете запускать в нем 64-битные приложения. Пакет Arch x86_64, однако, содержит сборку с флагом --enable-win64, которая включает в Wine подсистему WoW64.

  • В Windows эта сложная подсистема позволяет пользователям запускать 32-битные и 64-битные программы одновременно и даже в одном и том же каталоге.
  • В Wine пользователь должен создать отдельные префиксы или каталоги. Более подробную информацию смотрите в Wine64.

Если вы испытываете проблемы с winetricks или программами в 64-битном окружении, попробуйте создать новый 32-битный префикс. Смотрите раздел #WINEARCH. Использование пакета x86_64 с WINEARCH=win32 должно иметь тот же эффект, что и просто использование сборки из пакета i686.

Настройка

Настройка Wine обычно выполняется с помощью следующих инструментов:

  • winecfg — инструмент для настройки Wine с графическим интерфейсом. Вы можете запустить его из терминала, набрав $ winecfg, или, с указанием префикса: $ WINEPREFIX=~/.some_prefix winecfg.
  • control.exe — реализация Панели управления Windows в Wine, которую можно вызвать, выполнив $ wine control.
  • regedit — инструмент для редактирования реестра. Если winecfg или Панели управления недостаточно, смотрите эту статью на WineHQ, в которой перечислены полезные ключи реестра.

WINEPREFIX

По умолчанию, Wine хранит файлы настроек и установленные приложения Windows в каталоге ~/.wine. Этот каталог называется префиксом Wine (Wine prefix). Он создается и обновляется автоматически по необходимости при запуске программ Windows и программ настройки Wine, например winecfg. Каталог префикса также содержит стандартную структуру корневого раздела каталогов Windows, которая представляется программам Windows как диск C:.

Вы можете изменить место расположения префикса, создав переменную окружения WINEPREFIX с указанием нового пути. Это полезно, когда вам необходимо использовать различное окружение для разных приложений Windows. При запуске приложения Windows новый префикс будет автоматически создан на указанном в WINEPREFIX месте, если его до этого не существовало.

Для примера, если вы запускаете одно приложение с $ env WINEPREFIX=~/.win-a wine program-a.exe, а другое с $ env WINEPREFIX=~/.win-b wine program-b.exe, у каждой программы будет свой раздел C:, соответственно, своя копия всех настроек и реестра. Таким образом, обе программы будут запущены в полностью изолированных друг от друга средах.

Примечание: Тем не менее, префиксы Wine не являются песочницами. Программы, запущенные в Wine могут также получать доступ к оставшейся части системы (например, раздел Z: обычно соответствует корню файловой системы /).

Для создания префикса без запуска каких-либо средств настройки Wine или приложений Windows вы можете использовать команду:

$ env WINEPREFIX=~/.customprefix wineboot -u

WINEARCH

Информация в данном разделе применима только если вы используете 64-битную сборку Wine, поставляемую с версией пакета x86_64.

Если у вас 64-битная операционная система, по умолчанию будет запускаться 64-битная среда Wine. Вы можете изменить это поведение используя переменную окружения WINEARCH. При создании префикса передайте программе переменную окружения $ WINEARCH=win32. Например, чтобы создать новый 32-битный префикс на стандартном месте, переименуйте старый каталог ~/.wine и выполните $ WINEARCH=win32 winecfg. Будет создан новый 32-битный префикс Wine. Без указания $ WINEARCH=win32 на 64-битных системах создается 64-битный префикс.

Вы можете объединить эту переменную с WINEPREFIX для создания отдельных 32-битной и 64-битной сред:

$ WINEARCH=win32 WINEPREFIX=~/win32 winecfg
$ WINEPREFIX=~/win64 winecfg

Также вы можете использовать WINEARCH вместе с другими программами Wine, например с winetricks (Steam использован в качестве примера):

WINEARCH=win32 WINEPREFIX=~/.local/share/wineprefixes/steam winetricks steam

Вы можете добавить переменные окружения WINEPREFIX и WINEARCH в файл инициализации вашей командной оболочки, например ~/.bashrc или ~/.zshrc, чтобы не указывать их каждый раз при использовании Wine:

export WINEPREFIX=$HOME/.config/wine/
export WINEARCH=win32

Графические драйверы

Для большинства игр потребуются драйверы для графического ускорителя. Обычно это значит, что вам следует использовать проприетарные драйверы, такие как NVIDIA или AMD Catalyst. Открытые реализации драйверов, например ATI также все чаще используются c Wine. Драйверы Intel также должны в большинстве случаев нормально заработать «из коробки».

Смотрите статью Играем на Wine: хорошие и плохие графические драйверы для получения дополнительной информации.

Признаком того, что с вашими драйвером что-то не так, или они не настроен правильно, может служить такое сообщение Wine в окне терминала:

Direct rendering is disabled, most likely your OpenGL drivers have not been installed correctly

Для 64-разрядных систем потребуются дополнительные пакеты из репозитория multilib. Перечень необходимых пакетов вы можете найти в таблице на странице Xorg#Driver installation.

Примечание: Возможно, потребуется перезапустить X после установки пакетов.

Звук

Если возникли проблемы со звуком, первым делом убедитесь, что только одно звуковое устройство выбрано в winecfg. На данный момент драйвер Alsa наиболее предпочтителен.

Если вы хотите использовать драйвер Alsa в Wine на 64-битной системе, вам необходимо установить пакеты lib32-alsa-lib и lib32-alsa-plugins. Если вы используете PulseAudio, установите также lib32-libpulse.

Если вы хотите использовать драйвер OSS в Wine, вам нужно установить пакет lib32-alsa-oss. Драйвера OSS в ядре недостаточно для работы в Wine.

Если winecfg все еще не может обнаружить звуковой драйвер, выберите его вручную в реестре.

Игры, которые используют расширенные звуковые системы могут также потребовать установки lib32-openal.

Поддержка MIDI

MIDI была довольно популярной системой в видеоиграх 90-х годов. Если вы запускаете старые игры, скорее всего звук сразу не заработает как надо. Wine имеет отличную поддержку MIDI. Однако, первым делом вам необходимо заставить ее работать на основой системе. Смотрите страницу MIDI для получения дополнительной информации. В конечном итоге убедитесь, что Wine использует правильный звуковой выход MIDI. Подробнее об установке смотрите на странице MIDI на Wine wiki.

Другие библиотеки

  • Некоторые приложения (например, Office 2003/2007) требуют библиотеки MSXML для декодирования HTML и XML, в таких случаях установите lib32-libxml2.

  • Некоторые приложения, которые воспроизводят музыку нуждаются в lib32-mpg123.

  • Некоторые приложения, которые используют родные библиотеки преобразования изображений могут потребовать lib32-giflib и lib32-libpng.

  • Некоторые приложения, требующие поддержки средств шифрования потребуют установки lib32-gnutls.

Шрифты

Если в приложениях Wine плохие шрифты, вероятно, у вас не установлены шрифты TrueType от Microsoft. В этом случае обратитесь к статье Шрифты Microsoft. Если это не помогло, попробуйте выполнить winetricks allfonts.

После установки выйдите из всех приложений Wine и запустите winecfg. Шрифты должны стать лучше.

Если шрифты выглядят размыто, импортируйте следующий файл в реестр Wine с помощью regedit:

[HKEY_CURRENT_USERSoftwareWineX11 Driver]
"ClientSideWithRender"="N"

Смотрите также раздел Настройка шрифтов#Приложения без поддержки fontconfig.

Если у шрифтов приложений Wine отсутствует сглаживание, то самый простой способ его включить через winetricks:

$ winetricks fontsmooth-rgb
$ winetricks settings fontsmooth=rgb

Значки запуска программ

При установке приложений Windows в Wine должны создаваться соответствующие значки запуска программ в меню и на рабочем столе. Например, если программа установки (напр. setup.exe) создает обычные ярлыки Windows на рабочем столе и в меню «Пуск», то при их создании будут автоматически созданы соответствующие стандартные файлы .desktop для запуска программ в Wine.

Совет: Если знаки запуска не появляются при установке программ или куда-то пропали, вам сможет помочь утилита winemenubuilder.

Создание пунктов меню для утилит Wine

По умолчанию при установке Wine значки для запуска для программ, поставляемых с Wine (например для winecfg, winebrowser и пр.) не создаются на рабочем столе и в меню. В этом разделе описано, как создать их самостоятельно.

Первым делом, установите какое-нибудь приложение Windows для создания основного меню. После того, как основное меню создано, создайте следующие файлы в ~/.local/share/applications/wine/:

wine-browsedrive.desktop

[Desktop Entry]
Name=Диск C:
Comment=Запуск обозревателя в диске С:
Exec=wine winebrowser c:
Terminal=false
Type=Application
Icon=folder-wine
Categories=Wine;

wine-uninstaller.desktop

[Desktop Entry]
Name=Удаление приложений
Comment=Удаление приложений Windows, установленных в Wine
Exec=wine uninstaller
Terminal=false
Type=Application
Icon=wine-uninstaller
Categories=Wine;

wine-winecfg.desktop

[Desktop Entry]
Name=Настройка Wine
Comment=Изменение настроек Wine и отдельных приложений
Exec=winecfg
Terminal=false
Icon=wine-winecfg
Type=Application
Categories=Wine;

Также создайте следующий файл в ~/.config/menus/applications-merged/:

wine.menu

<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"[http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd](http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd)">
<Menu>
  <Name>Приложения</Name>
  <Menu>
    <Name>wine-wine</Name>
    <Directory>wine-wine.directory</Directory>
    <Include>
      <Category>Wine</Category>
    </Include>
  </Menu>
</Menu>

Если значки пунктов меню не отображаются или отображаются некорректно, вероятно, что они отсутствуют в текущем наборе значков. В таком случае, следует явно указать полный путь к желаемому значку в системе. Это можно сделать в панели настроек меню. Также вам может понравиться отличный набор иконок, который поддерживает используемые здесь значки, доступный на странице GNOME-colors.

Удаление пунктов меню

Пункты меню, создаваемые Wine располагаются в ~/.local/share/applications/wine/Programs/. Для удаления пункта меню просто удалите соответствующий файл .desktop.

Кстати, вы также можете удалить все нежелательные сопоставления расширений файлов, созданные Wine, удалив файлы по следующим путям (взято с сайта Wine):

$ rm ~/.local/share/mime/packages/x-wine*
$ rm ~/.local/share/applications/wine-extension*
$ rm ~/.local/share/icons/hicolor/*/*/application-x-wine-extension*
$ rm ~/.local/share/mime/application/x-wine-extension*

Неверный раздел в меню KDE 4

В KDE4 пункты меню Wine могут появляться в разделе меню «Lost & Found» вместо стандартного раздела Wine. Это происходит потому, что в kde-applications.menu отсутствует опция MergeDir.

Отредактируйте файл /etc/xdg/menus/kde-applications.menu, добавив в конец файла <MergeDir>applications-merged</MergeDir> после <DefaultMergeDirs/>:

<Menu>
        <Include>
                <And>
                        <Category>KDE</Category>
                        <Category>Core</Category>
                </And>
        </Include>
        <DefaultMergeDirs/>
        **<MergeDir>applications-merged</MergeDir>**
        <MergeFile>applications-kmenuedit.menu</MergeFile>
</Menu>

Также вы можете просто создать символическую ссылку на каталог, в который смотрит KDE:

$ ln -s ~/.config/menus/applications-merged ~/.config/menus/kde-applications-merged

Запуск приложений Windows

Важно: Не запускайте и не устанавливайте приложения в Wine с правами суперпользователя! На странице Running Wine as root вы можете найти официальное предупреждение.

Для запуска приложения Windows наберите:

Чтобы установить приложение с помощью установщика MSI, используйте встроенную утилиту msiexec:

$ msiexec /i *путь_до_msi*

Советы и рекомендации

Совет: В дополнение к ссылкам, предоставленным вначале статьи, следующие материалы могут также быть вам интересны:

  • The Wine Application Database (AppDB) — информация о запуске отдельных приложений Windows (известные неполадки, рейтинги, руководства и т. п.)
  • The WineHQ Forums — здесь вы можете получить помощь, если вы не смогли с чем-либо разобраться даже после прочтения FAQ и AppDB.

Сброс ассоциаций файлов Wine

Wine берет на себя роль приложения по умолчанию для многих форматов файлов. Некоторые (к примеру, vbs или chm) относятся только к Windows, однако более распространенные форматы (gif, jpeg, txt, js и т.д.) Wine пытается открыть в своих реализациях Internet Explorer или Notepad, что может реально надоедать.

Ассоциации файлов Wine задаются в файле ~/.local/share/applications/, а команда rm ~/.local/share/applications/mimeinfo.cache позволяет быстро восстановить предыдущие настройки. Также вы можете выборочно удалить отдельные файлы .desktop из этого каталога. Имейте ввиду, что обновления Wine могут восстановить любые удаленные файлы и все придется делать по новой.

Два монитора с разными разрешениями

Если у вас появились проблемы при использовании нескольких мониторов с разными разрешениями, вероятно дело в недостающем пакете lib32-libxrandr.

exe-thumbnailer

Эта небольшая надстройка будет отображать встроенные в исполняемые файлы .exe значки, когда они доступны, а также подскажет, что запуск программы будет осуществлен в Wine. Подробности вы можете найти на Wine wiki. Пакет gnome-exe-thumbnailer доступен в AUR.

Патч CSMT

В настоящий момент разработчики Wine экспериментируют с оптимизацией потоков ввода-вывода и потоков выполнения. Вы можете наблюдать значительное улучшение производительности, используя экспериментальную версию Wine. Множество игр могут запускаться также быстро, как на Windows или даже быстрее. Этот патч известен как CSMT и работает с графическими ускорителями NVidia и AMD.

Примечание: Так как это экспериментальная версия, не все может работать, как ожидается. Пожалуйста, сообщайте о своем удачном и неудачном опыте разработчикам для помощи в разработке новых версий.

Простой путь состоит в использовании playonlinux. После установки игры активируйте версию Wine 1.7.4-CSMT в меню Tools → Manage Wine Versions.

Скопируйте следующие настройки в секцию Miscellaneous/Command to exec before running the program файла конфигурации вашей игры:

export WINEDEBUG=-all
export LD_PRELOAD="libpthread.so.0 libGL.so.1"
export __GL_THREADED_OPTIMIZATIONS=0
export __GL_SYNC_TO_VBLANK=1
export __GL_YIELD="NOTHING"
export CSMT=enabled

Убедитесь, что опция StrictDrawOrdering выключена в ToolsGeneral.

Дополнительная информация о CSMT

обсуждение на форуме Phoronix с участием разработчика CSMT Стефана Дёсингера

презентация CSMT с бенчмарками

Здесь вы найдете игровые видео с демонстрацией возможностей CSMT.

Изменение языка

Некоторые программы могут не позволять выбирать язык, полагаясь на настройку системной локали. Wine передает параметры окружения (включая настройки локалей) приложению, поэтому все должно работать «из коробки». Если вы хотите принудительно заставить программу использовать другую локаль, вызовите Wine с переменной LC_ALL:

LC_ALL=*xx_XX.encoding* wine *путь/к/программе*

Например,

LC_ALL=it_IT.UTF-8 wine *путь/к/программе*

Установка Microsoft Office 2010

Примечание: К сожалению, Microsoft Office 2013 пока не запускается.

Microsoft Office 2010 работает без каких-либо проблем (проверено на Microsoft Office Home и Student 2010, Wine 1.5.27 и 1.7.5). Активация через Интернет также работает.

Начните с установки wine-mono, wine_gecko, samba, и lib32-libxml2.

$ export WINEPREFIX=~/.wine # Wine prefix to use
$ export WINEARCH=win32
$ wine /path/to/office_cd/setup.exe

Если вы не хотите устанавливать Office в стандартный префикс (~/.wine), создайте новый, как указано в разделе #WINEPREFIX. Вы также можете поместить указанные переменные окружения в файл инициализации вашей командной оболочки, о чем также написано в разделе.

Как только установка завершится, откройте Word или Excel для активации через Интернет. После активации закройте программу, запустите winecfg и установите riched20 (на вкладке Libraries) to (native,builtin). Это позволит работать PowerPoint.

Дополнительную информацию смотрите в этой статье на WineHQ.

Примечание: Чтобы заработал OneNote, запустите winetricks wininet и убедитесь, что для библиотеки wininet в winecfg установлено значение (native,builtin).

Примечание: Если активация через Интернет не заработала и вы хотите выполнить ее по телефону, убедитесь, что для библиотеки riched20 в winecfg установлено (native,builtin), иначе вы не сможете выбрать страну из списка.

Примечание: playonlinux дает возможность полностью установить Office 2003, 2007 и 2010 без каких-либо дополнительных действий. Вам будет необходимо лишь указать путь до setup.exe или установочного образа диска и процесс установки будет выполнен автоматически. Кроме того, установка Office 2010 из playonlinux исправляет некоторые проблемы, приводившие к появлению ошибок наподобие «Word cannot open the doument».

Правильное монтирование образов компакт-дисков

Некоторые приложения проверяют, что компакт-диск находится в дисководе. Они могут только лишь проверять данные, в таком случае может быть достаточно указать соответствующий путь в системе как привод CD-ROM в winecfg.

Однако, другие приложения могут проверять также метаданные, такие как имя диска или серийный номер, и в этом случае образ должен быть монтирован с указанием этих специальных параметров.

Инструменты создания виртуальных приводов CD-ROM, основанные на fuse не работают с метаданными (например, Acetoneiso). Программа CDEmu, в свою очередь, обрабатывает их правильно.

Запись на компакт-диски

Чтобы записать данные на CD и DVD, вам необходимо загрузить модуль ядра sg.

OpenGL

Множество игр и приложений имеют поддержку режима OpenGL, который может работать лучше чем стандартный режим DirectX. В то время, как способы включения рендеринга через OpenGL могут различаться от случая к случаю, многие игры просто принимают опцию -opengl:

$ wine /path/to/3d_game.exe -opengl

В общем случае, вам следует посмотреть документацию на ваше приложение, а также искать дополнительную информацию в базе приложений AppDB.

Использование Wine как интерпретатор для исполняемых файлов Win16/Win32

Чтобы указать ядру использовать Wine как интерпретатор для всех исполняемых файлов Win16/Win32, наберите:

echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register

Чтобы изменения сохранились после перезагрузки, создайте файл /etc/binfmt.d/wine.conf со следующим содержимым:

# start Wine for Windows executables
:DOSWin:M::MZ::/usr/bin/wine:

systemd автоматически монтирует файловую систему /proc/sys/fs/binfmt_misc используя proc-sys-fs-binfmt_misc.mount (и automount) и запускает файл службы systemd-binfmt.service чтобы загружать ваши настройки при старте системы.

Теперь попробуйте запустить программу Windows:

$ chmod +x *exefile.exe*
$ ./*exefile.exe*

Если все настроено правильно, программа exefile.exe будет запущена.

If all went well, exefile.exe should run.

Wineconsole

Бывает необходимо запускать файлы .exe для того, чтобы пропатчить файлы какую-либо игру. Например, мод для поддержки широкоэкранного формата изображения для какой-нибудь старой игры. Иногда при запуске файла .exe ничего не происходит. В этом случае, попробуйте запускать программу из консоли Wine:

Теперь перейдите к каталогу с .exe файлом и запустите его оттуда.

Winetricks

Winetricks — скрипт, который позволяет быстро устанавливать в префикс компоненты, необходимые для запуска приложений Windows. Такие компоненты включают библиотеки DirectX 9, MSXML (который необходим Microsoft Office 2007 и Internet Explorer), пакеты Visual C++ Redistributable и многое другое.

Последнюю версию Winetricks вы можете установить с пакетом winetricks. Пакет winetricks-svn предоставляет наиболее свежую версию, находящуюся в разработке.

После установки запустите Winetricks:

Установка .NET framework 4.0

Первым делом создайте новый 32-битный префикс, если вы используете 64-разрядную систему:

$ WINEARCH=win32 WINEPREFIX=~/win32 winecfg

Теперь используйте Winetricks для установки необходимых пакетов:

$ WINEARCH=win32 WINEPREFIX=~/win32 winetricks -q msxml3 dotnet40 corefonts

Треск из колонок при использовании PulseAudio

Если вы слышите треск в приложениях Wine при использовании PulseAudio, попробуйте раскомментировать строку ; default-fragment-size-msec = 25 в файле /etc/pulse/daemon.conf и установить значение 5 для этой опции:

default-fragment-size-msec = 5

Смотрите здесь для получения дополнительной информации.

16-битные программы

При запуске старых программ для Windows 9x programs, может возникнуть следующая ошибка:

modify_ldt: Invalid argument
err:winediag:build_module Failed to create module for "krnl386.exe",
16-bit LDT support may be missing.
err:module:attach_process_dlls "krnl386.exe16" failed to initialize,
aborting

В этом случае, следующая команда может помочь решить проблему:

echo 1 > /proc/sys/abi/ldt16

Смотрите также список рассылки Fedora.

Сторонние оболочки

Оболочки для запуска Wine не поддерживаются официально, однако могут быть полезны.

CrossOver

CrossOver имеет собственную страницу.

PlayOnLinux/PlayOnMac

PlayOnLinux является графической программой для управления приложениями Windows и DOS. Он использует специально создаваемые скрипты для настройки и запуска программ в раздельных префиксах и даже умеет использовать отдельные версий Wine для запуска каждого конкретного исполняемого файла (это вызвано проблемами с обратной совместимостью версий). Если вам нужно знать, какая версия Wine работает лучше всего для конкретной игры, обратитесь к Wine Application Database. Пакет playonlinux доступен в официальных репозиториях.

PyWinery

PyWinery — простая графическая утилита для управления префиксами, которая позволяет вам настраивать отдельные префиксы и запускать в них приложения. Вы можете установить PyWinery с пакетом pywinery из AUR.

Q4wine

Q4Wine — графический менеджер префиксов Wine, который также позволяет настраивать префиксы. Из достоинств следует отметить возможность экспорта тем Qt в конфигурацию Wine. Пакет q4wine доступен в официальных репозиториях.

Смотрите также

  • Официальный сайт Wine
  • Wine AppDB
  • Настройка графического адаптера и OpenGl в Wine и ускорение его работы
  • FileInfo — поиск заголовков PE/COFF в файлах exe/dll/ocx в Linux.
  • Wine на Gentoo’s Wiki

Понравилась статья? Поделить с друзьями:
  • Швейная машинка зингер 5805 с инструкция на русском
  • Руководство в доу занятия
  • Руководство по ремонту автомобиля тойота королла спасио
  • Как себя сдержать при руководстве
  • Монтелукаст инструкция по применению цена 5мг аналоги