Как установить Wine в Arch Linux/BlackArch. Что такое и как подключить репозиторий Multilib

Для установки Wine в Arch Linux и его производные необходимо включить подключить репозиторий multilib.
Что такое и для чего нужен multilib
Репозиторий multilib – это официальный репозиторий, который позволяет пользователю запускать и собирать 32-битные приложения на 64-битной версии Arch Linux.
Как включить multilib
Чтобы включить multilib, откройте текстовый файл /etc/pacman.conf:
sudo gedit /etc/pacman.conf
В нём найдите и раскомментируйте строки (убедитесь, что раскомментировали обе строки, иначе изменения не вступят в силу):
[multilib] Include = /etc/pacman.d/mirrorlist
Обновите информацию о пакетах:
sudo pacman -Sy
pacman -Sl multilib
чтобы вывести список всех пакетов репозитория multilib. Имена 32-битных пакетов библиотек начинаются с lib32-.
Как отключить multilib
Для возврата к чистой 64-битной системе:
Выполните следующую команду, для удаления всех пакетов, которые были установлены из multilib:
sudo pacman -R $(paclist multilib | cut -f1 -d' ')
Если у вас есть конфликты с gcc-libs, переустановить пакет gcc-libs и группу base-devel.
Закомментируйте секцию [multilib] в /etc/pacman.conf:
#[multilib] #Include = /etc/pacman.d/mirrorlist
Обновите информацию о пакетах:
sudo pacman -Sy
Как установить Wine в Arch Linux/BlackArch
После включения репозитория Multilib можно установить Wine. Имеется две версии Wine: wine (стабильная) и wine-staging (тестирование). Wine Staging – это патченная версия Wine, которая имеет исправления ошибок и функции (к примеру CSMT патч), которые ещё не были интегрированы в стабильную ветку.
Также рекомендуется установить wine_gecko и wine-mono для приложений, которые зависят, соответственно, от Internet Explorer и .NET. Эти пакеты необязательны, поскольку при необходимости Wine загрузит соответствующие файлы. Тем не менее, заранее имя эти файлы, вы сможете работать офлайн, а также Wine не будет загружать эти файлы для каждого Wine prefix’а, в котором они нужны.
Итак, установка Wine в Arch Linux/BlackArch выполняется следующей командой:
sudo pacman -S wine wine_gecko wine-mono
Также рекомендуется установить пакеты библиотек lib32-mpg123 и lib32-gnutls, поскольку почти наверняка они понадобятся при работе Wine и он будет выдавать сообщения, что не найдены необходимые файлы:
sudo pacman -S lib32-mpg123 lib32-gnutls
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
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 с более надёжной службой поддержки пользователей.
- icoextract — Генерирует эскизы для исполняемых файлов Windows (.exe и .dll).
- Lutris — Игровой лончер для всех типов игр, в том числе игр Wine (с управлением префиксами), игр Linux и эмуляторов.
- PlayOnLinux — Графический префикс менеджер для Wine. Включает скрипты для помощи в установке и настройке программ.
- Proton — Иструмент совместимости для Steam на основе Wine и дополнительных компонентов. На странице ProtonDB можно найти список совместимости.
- PyWinery — Простой графический префикс менеджер для Wine.
- Q4Wine — Графический префикс менеджер для Wine. Может экспортировать темы Qt в конфигурацию Wine для лучшей интеграции.
- Bottles — Графический менеджер префиксов и запуска программ для Wine на основе GTK.
Настройка
Настройка 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 $/drive_c/windows/Fonts && for i in /usr/share/fonts/**/*.; 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_USER\Software\Wine\X11 Driver] "ClientSideWithRender"="N"
Для мониторов с высоким разрешением значения dpi можно задать в winecfg.
Сглаживаение шрифтов
Хороший способ улучшить рендеринг шрифтов в Wine — включить сглаживание ClearType. Следующий скрипт включит режим «Subpixel smoothing (ClearType) RGB»:
cat /tmp/fontsmoothing REGEDIT4 [HKEY_CURRENT_USER\Control Panel\Desktop] "FontSmoothing"="2" "FontSmoothingOrientation"=dword:00000001 "FontSmoothingType"=dword:00000002 "FontSmoothingGamma"=dword:00000578 EOF WINE=$ WINEPREFIX=$ $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-installer AUR или wine-installer-git AUR (у последнего есть дополнительные зависимости) или следуйте инструкциям ниже.
Во-первых, установите любую программу 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
Если с этими настройками иконки выглядят уродливо (или не появились вовсе), то их нет среди доступных. Необходимо заменить настройки явным указанием расположения желаемых иконок. Того же можно добиться правым кликом по иконке и изменением настроек. Большой набор иконок для ярлыков можно найти в 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
Графический интерфейс можно установить с пакетом 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-bin AUR . Команда ниже активирует его для указанного префикса (по умолчанию ~/.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_USER\Software\Wine\FileOpenAssociations
Сначала необходимо создать ключ FileOpenAssociations !
Если вы хотите, чтобы эти настройки автоматически применялись к новым префиксам, отредактируйте файл /usr/share/wine/wine.inf , добавив следующую строку в раздел [Services] :
HKCU,"Software\Wine\FileOpenAssociations","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'
Неявный запуск бинарников 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
Затем переключитесь в другую виртуальную консоль и запустите оконный менеджер или окружение рабочего стола (или прото читайте дальше).
Примечание: Описанный подход работает только в Xorg с доступом к root. Подробнее о запуске команды xhost от обычного пользователя см. Xorg#Использование Xorg без прав суперпользователя.
Чтобы теперь запускать 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
Retrieved from «https://wiki.archlinux.org/index.php?title=Wine_(Русский)&oldid=782565»
- Emulation (Русский)
- Gaming (Русский)
Как установить WINE на Arch Linux
WINE — это бесплатный адаптируемый слой с открытым исходным кодом. Основное внимание уделяется обеспечению бесперебойной работы прикладного программного обеспечения и компьютерных игр, разработанных для Microsoft Windows, в Unix-подобных операционных системах.
Теперь вы можете задаться вопросом, что такое UNIX? UNIX — простая операционная система. С 1970-х годов эта ОС все больше и больше модифицировалась. Таким образом, UNIX-подобная операционная система — это та, которая действует аналогично системе UNIX, но не обязательно ведет себя точно так же. Уровень с открытым исходным кодом — это совместимый уровень, который позволяет исходному коду сделать его доступным, чтобы он был легко доступен для любых корректировок или улучшений. Можно также использовать его для повторного использования.
Библиотеки среды выполнения Wine поставляются оснасткой, называемой средой выполнения, которая связана с платформой WINE. Время выполнения предусмотрено для следующих разновидностей снапов:
- [Стабильный]
- [Развитие]
Здесь также необходима базовая привязка. Это один специальный тип, который обеспечивает среду выполнения. Это достигается путем предоставления номинального набора библиотек обычно большинству приложений. Многие другие снимки обеспечиваются необходимостью базы времени выполнения. И эта конкретная среда выполнения обеспечивается привязкой через интерфейс контента. Таким образом, используя этот метод, разработчики и производители всех оснасток WINE могут использовать эту базовую привязку. Затем становится возможным подключение к снапам WINE.
Функции
WINE был адаптирован для поддержки всех новейших функций. Лучшие функции WINE со временем становятся все более стабильными. И он продолжает становиться еще лучше, предоставляя инновационный пользовательский интерфейс, и все это при переносе на другие операционные системы. За прошедшие годы многие приложения расширились и трансформировались, и WINE среди них. Удивительные и впечатляющие функции дает WINE snap. Снап, который предоставляет отличные библиотеки времени выполнения WINE, может использоваться многими другими снэпами для расширения их возможностей.
Ниже приведен список других моментальных снимков, в которых используются библиотеки времени выполнения WINE, любезно предоставленные файлом «Primary Snap. Библиотеки времени выполнения WINE можно использовать с помощью следующих четырех моментальных снимков, предоставляемых оснасткой:
Wine-платформа-3-стабильная
Тот, что представлен выше, здесь самый крутой.
Wine-платформа-4-стабильная
Это на самом деле самое крутое.
Wine-платформа-4-разработка
Это просто хорошо.
Wine-платформа-4-постановка
Это превосходит все.
Перечисленные ниже привязки могут оказаться мощными при использовании этой привязки. Следующая оснастка включает в себя:
- анифлекс
- ирфанвью
- ресурсхакер
- торрент
- Лига Легенд
- жить для скорости
- cncra2yr
- пспад
- анитунер
- блокнот3
- многоцелевой
Примечание. Этот моментальный снимок не может запускать приложение WIN самостоятельно. Используются только библиотеки и ПУТИ выпуска pkg, представленные в интерфейсе содержимого.
Расширение возможностей снимков в Arch Linux и знакомство с Wine-Stage Runtime
Snap — это приложения, которые связаны с набором условий для запуска многих известных приложений Linux из одной сборки. Они обновляются автоматически, самостоятельно, а также без особых усилий возвращаются обратно.
Snap Store — это магазин приложений со многими клиентами, который предоставляет доступ к установке Snap.
Расширение возможностей
Snapd — это инструмент, необходимый для использования snap в вашей системе. Вы можете установить оснастку с помощью пользовательского репозитория Arch (AUR). Сборка вручную — это поддерживаемая Arch стратегия внедрения пакетов AUR, и все необходимое должно быть установлено, прежде чем вы сможете внедрить какой-либо пакет AUR в свою систему. Вы можете получить снап с помощью следующей команды:
How to Install Wine on Arch Linux

This document explains how to install a recent version of Wine Development or Wine Staging. Wine Stable is not available. Additional information that may be of interest can be found in the ArchWiki Wine article at wiki.archlinux.org/title/Wine .
An Arch Linux installation including a desktop is expected, in which case Wine should just work. For possibly enhanced graphics, see Graphics drivers in the Arch Wiki. Sound issues, if any, can be addressed through the settings panel that opens when winecfg is executed or by referring to the Arch Wiki information on Wine Sound .
Enable the multilib repository
The multilib repository enables 32-bit apps to run on 64-bit installations. Many Windows apps are 32-bit or have 32-bit components, and even 64-bit apps often have installation .exe files that are 32-bit. Without the ability to run 32-bit apps, Wine would have limited value.
To enable multilib, use your favorite command line editor (nano, vim, emacs) to uncomment the [multilib] section of /etc/pacman.conf . If using nano, execute
$ sudo nano /etc/pacman.conf
and remove the leading # characters from the two lines of the [multilib] section, yielding
When finished, save the file and exit.
Do a full system upgrade
Before updating your system, you are advised to check the latest news on the Arch Linux home page . After verifying no special handling should be expected, execute the following to update your system.
$ sudo pacman -Syu
If there are conflicts with gcc-libs, consult the multilib section in the Arch Linux Wiki.
Install Wine
The next command will install Wine Development. If you prefer Wine Staging, replace wine with wine-staging .
(But leave wine-mono and wine-gecko as they are.)
$ sudo pacman -S wine wine-mono wine-gecko
Verify the installation succeeded
Optional dependencies
Wine has many optional dependencies that give Wine additional functionality. My preference is an essentially complete Wine installation, which means installing all optional dependencies except those that are known to be not needed (sane, cups, and dosbox, for example).
Here are two ways to install optional dependencies: Straight-forward and Easy.
Straight-forward The straight-forward way to install optional dependencies also allows you to select which dependencies you want. Refer to the list of optional dependencies displayed by pacman during the installation, and note which were not installed, or execute this command, which will display all of Wine’s optional dependencies.
If you installed wine-staging , replace wine by wine-staging .
Then make a list containing the packages you want to install, and install them with a command like the next one. —asdeps causes the packages to be marked as dependencies, and —needed prevents packages that are already installed from being reinstalled.
If you want to know what a specific optional dependency does, you can search for it among the Arch Linux packages at archlinux.org/packages/ .
$ sudo pacman -S —asdeps —needed list-of-optional-dependencies-to-install
Easy This command – which is thanks to Jay Ta’ala – will install all uninstalled optional dependencies. Just Copy/Paste it into a Terminal prompt and execute it.
If you installed wine-staging , replace wine by wine-staging .
$ sudo pacman -S —asdeps —needed $(pacman -Si wine | sed -n ‘/^Opt/,/^Conf/p’ | sed ‘$d’ | sed ‘s/^Opt.*://g’ | sed ‘s/^\s*//g’ | tr ‘\n’ ‘ ‘)
By way of explanation, executing the next command displays the optional dependencies on the Terminal screen. The previous command uses the same code to create a list of the dependencies and then passes that list to pacman for installation.
$ echo $(pacman -Si wine | sed -n ‘/^Opt/,/^Conf/p’ | sed ‘$d’ | sed ‘s/^Opt.*://g’ | sed ‘s/^\s*//g’ | tr ‘\n’ ‘ ‘)
Configure Wine
To bring up Wine’s configuration panel, open a Terminal window and execute winecfg .
When prompted, set your preferred version of Windows. Windows 10 may be preferred for most applications.
If you are creating custom Wine prefixes, this configuration must be repeated for each prefix.
Two simple tests
Just for fun, or to see Wine in action …
Display a simple clock
Run Wine’s builtin web browser
The first of the next two commands ensures that optional dependencies required by iexplore are installed. The second command runs Wine’s web browser.
If installing gecko is offered, accept the offer.
$ sudo pacman -S —needed samba gnutls lib32-gnutls
How to install a Windows app
Wine is a Terminal application. Even after installing Wine, you will not find it listed with the desktop apps that came with your Linux distribution. Wine is invoked using Terminal commands.
As an example of installing a Windows app with Wine, consider Abcdef , a fictitious Windows application which is installed by Abcdef_Setup.exe . To install your own Windows app, replace Abcdef_Setup.exe with the filename of your app’s installer.
The first step is to download Abcdef_Setup.exe and store it in ~/Downloads .
After doing that, execute winecfg (if you haven’t already).
The command to execute Abcdef_Setup.exe must be issued from the directory where Abcdef_Setup.exe is located, so execute
The next command starts the installation. Respond to the installer’s prompts just as you would in Windows.
Here is a real example. It installs version 8.6 of the text editor Notepad++. The file name of the Notepad++ installation program is npp.8.6.Installer.x64.exe
When installation is complete, look for an Abcdef launcher on your desktop. There may also be an entry named Wine in your distribution’s Applications. Launchers may require you to confirm execution of your app is safe.
More about installing Windows apps
- The installer does not need to be in ~/Downloads . Any directory is fine, as long as you issue the wine command from that directory.
- If the installer is a Windows .msi file instead of an .exe, use the wine msiexec /i command instead of wine .
- Not all Windows apps can run under Wine. Consulting the Wine Application Database may be helpful.
- For more information, search for online tutorials on using Wine. One that includes basic information plus some advanced techniques is Installing Windows Apps on Linux
Did you find this page helpful? Have constructive feedback? Wisdom to share?
Send email to Email Address