Если вы считаете, что GIMP не ровня Photoshop, и не можете жить без офиса от Microsoft.
1. Wine
Название Wine расшифровывается как Wine Is Not an Emulator. Это своего рода прослойка между приложениями Windows и системой Linux. Он позволяет устанавливать и запускать многие популярные Windows-программы и работать с ними так, как будто это родные приложения Linux.
Чтобы установить Wine, воспользуйтесь соответствующей командой.
1. Ubuntu, Debian, Mint:
sudo dpkg --add-architecture i386
wget -nc https://dl.winehq.org/wine-builds/Release.key
sudo apt-key add Release.key
sudo add-apt-repository "deb https://dl.winehq.org/wine-builds/ubuntu/ artful main"
sudo apt-get update
sudo apt-get install --install-recommends winehq-stable
2. Fedora:
sudo dnf install winehq-stable
3. openSUSE:
sudo zypper install wine
4. Arch, Manjaro:
sudo pacman -S wine
Когда Wine установлен, откройте его через ваше меню приложений или с помощью команды winecfg
. При первом запуске Wine может попросить установить некоторые дополнительные пакеты — позвольте ему это сделать. После этого все Windows-программы формата EXE ассоциируются в системе с Wine.
Теперь скачайте установщик нужного вам приложения Windows, найдите папку с ним в вашем файловом менеджере и откройте файл. Либо введите команду wine путь_к_приложению
.
Windows-приложение запустится и будет работать так же, как и всегда. Если вы открыли установочный файл, начнётся установка приложения — как в Windows. Если программа не требует установки, вы сможете начать работать с ней немедленно.
Не все приложения могут быть установлены и запущены в Wine, хотя количество поддерживаемых впечатляет. Полный список можно посмотреть здесь.
2. Winetricks
Wine — неплохой инструмент, однако интерфейс у него оставляет желать лучшего. Если вы намучились с этой программой, но так и не добились результата, попробуйте Winetricks. У неё приятный графический интерфейс для установки и запуска Windows-приложений, в котором куда проще разобраться новичку.
Установить Winetricks можно так:
1. Ubuntu, Debian, Mint:
sudo apt-get install winetricks
2. Fedora:
sudo dnf install winetricks
3. openSUSE:
sudo zypper install winetricks
4. Arch, Manjaro:
sudo pacman -S winetricks
Winetricks позволяет установить различные версии Microsoft Office и Photoshop, плеер foobar2000 и множество других программ. Поддерживаются и такие популярные игры, как Call of Duty, Call of Duty 4, Call of Duty 5, Biohazard и Grand Theft Auto: Vice City. Некоторые программы загружаются автоматически, для других будет предложено вставить установочный носитель. И, естественно, вы можете открывать собственноручно скачанные файлы формата EXE.
3. PlayOnLinux
PlayOnLinux — ещё один удобный инструмент для запуска Windows-приложений в Linux. Как и Winetricks, он обладает простым графическим интерфейсом. Но, в отличие от него, PlayOnLinux позволяет вам выбирать конкретную версию Wine для того или иного приложения. Это полезно, если какая-то из нужных вам программ некорректно работает с новыми версиями Wine. В целом PlayOnLinux выглядит куда симпатичнее и практичнее, чем Winetricks.
Чтобы установить PlayOnLinux, выполните в терминале одну из следующих команд:
1. Ubuntu, Debian, Mint:
sudo apt-get install playonlinux
2. Fedora:
sudo dnf install playonlinux
3. OpenSUSE:
sudo zypper install playonlinux
4. Arch, Manjaro:
sudo pacman -S playonlinux
В меню установки PlayOnLinux можно найти множество предварительно сконфигурированных приложений и игр, которые вы можете загрузить и установить парой щелчков. Кроме того, PlayOnLinux можно скармливать собственные EXE-установщики. Приложение заботливо выберет за вас версию Wine и создаст значок установленной программы на рабочем столе.
4. Crossover
Изредка бесплатные PlayOnLinux и Winetricks не справляются с установкой какого-нибудь особенно привередливого приложения. В таком случае вам может помочь Crossover. Эта программа очень проста в использовании. Вам достаточно указать, какое приложение вы хотите установить, и подсунуть Crossover установочный файл. Всё остальное будет сделано за вас.
Лицензия Crossover на год стоит 39,95 доллара, но у программы есть и бесплатная пробная версия. Рекомендуется сначала установить необходимое вам приложение в ней, чтобы убедиться, что оно работает корректно.
Crossover →
5. VirtualBox
Если ваше приложение упорно отказывается запускаться в перечисленных выше программах, можно пойти на решительные меры и установить его в виртуальной машине. Учтите, что она отнимает гораздо больше системных ресурсов, поэтому использовать её стоит в крайних случаях.
Для запуска приложения в виртуалке вам понадобится установочный образ Windows в формате ISO. Загрузите и установите VirtualBox, создайте в нём виртуальную машину, укажите ей ISO с Windows, а затем просто установите систему как обычно.
Неоспоримый плюс виртуальной машины — в ней работает полноценная операционная система, а значит, запустится абсолютно всё. Минус — прожорливость в плане системных ресурсов, да и тратиться на лицензию Windows для виртуалки накладно.
VirtualBox →
Читайте также 🧐
- 6 задач, с которыми Linux справляется лучше, чем Windows
- Как реанимировать Windows и сохранить данные с помощью live-дистрибутива Linux
- Как обмениваться файлами по воздуху между Windows, macOS, Linux, iOS и Android
Поскольку вы находитесь здесь, я предположу, что вы пользователь Linux. И время от времени вы задаетесь вопросом: могу ли я запускать приложения windows в Linux?
Ответ на этот вопрос — да, вы можете запускать приложения Windows в Linux. Вот некоторые способы запуска программ Windows в Linux:
- Установка Windows на отдельный раздел жесткого диска
- Установка Windows в качестве виртуальной машины в Linux
Оба они работают просто отлично. Но они несколько требовательны к ресурсам.
Если вам нужно использовать только небольшое приложение Windows, установка Windows на отдельный раздел жесткого диска или в качестве виртуальной машины неэффективна. Более того, виртуальная машина не может использовать всю мощность вашей машины. Итак, каково же решение?
Не волнуйтесь, есть другой способ использовать программное обеспечение Windows в Linux. Он называется Wine. Если вы еще не знакомы с ним или являетесь новичком в мире Linux, эта статья для вас.
В этом руководстве для начинающих я покажу вам, что такое Wine и как использовать его для запуска программ Windows в Linux. Я использовал здесь Ubuntu, поскольку Ubuntu является одним из лучших дистрибутивов Linux для начинающих, но любой другой дистрибутив Linux будет иметь более или менее те же шаги (за исключением команд в дистрибутивах на базе Arch или Fedora).
Wine означает Wine Is Not an Emulator. И WINE на самом деле является акронимом этого слова. И, как уже говорилось ранее, это даже не виртуальная машина.
Скорее это уровень совместимости для запуска приложений Windows на UNIX-подобных или POSIX-совместимых операционных системах (например, Linux, Mac, BSD). В то время как виртуальная машина или эмулятор имитирует внутреннюю логику Windows, Wine переводит эту логику Windows в родную логику UNIX/POSIX-совместимости.
Говоря простыми и нетехническими терминами, Wine преобразует внутренние команды Windows в команды, которые ваша Linux-система может понимать как родные.
Установка Wine
Существуют различные способы установки Wine на вашу систему. Поскольку это руководство для начинающих, я опишу самый простой из них.
Почти все дистрибутивы Linux поставляются с Wine в репозитории пакетов. Чаще всего в репозитории пакетов доступна последняя стабильная версия Wine. Установить Wine на Ubuntu так же просто, как открыть терминал и выполнить следующие команды:
sudo apt update
sudo apt install wine
Однако если вы используете 64-разрядную установку Ubuntu, вам потребуется выполнить эти дополнительные команды:
sudo dpkg --add-architecture i386
Это добавит поддержку 32-разрядной архитектуры в ваш дистрибутив, что поможет вам при установке определенного программного обеспечения.
Какие приложения Windows поддерживаются Wine?
Существует большое количество приложений Windows, которые в настоящее время полностью поддерживаются Wine. Они будут работать без каких-либо проблем.
Однако каждый день разрабатываются новые приложения Windows. Многие из них не будут работать в Wine так, как мы хотим. Но темпы развития Wine также стремительны, поддержка новых приложений добавляется постоянно.
И для отслеживания этого существует специальная база данных.
База данных приложений Wine содержит почти 24 000 приложений, имеющих различные статусы в зависимости от того, насколько хорошо эти приложения работают в Wine. Если вы хотите быстро проверить рейтинг приложения, которое вы хотите использовать в Wine, вы можете заглянуть туда. Вот значение этих рейтингов:
- Platinum: Эти приложения устанавливаются и безупречно работают в «готовом» Wine.
- Gold: Эти приложения работают безупречно с некоторыми специальными настройками.
- Silver: Приложения с незначительными проблемами помечаются как Silver.
- Bronze: Бронзовые имеют серьезные проблемы, которые достаточно сильно влияют на использование.
- Garbage: Они просто не будут работать в Wine.
Отзывы, процедура установки, с какой версией Wine оно тестировалось и различные полезные данные также доступны для каждого приложения здесь.
Разумеется, база данных приложений Wine — это в основном пользовательские данные, поэтому вы всегда можете попробовать запустить приложение с другой версией Wine и поделиться своими результатами с остальными членами сообщества.
Поиск приложения в базе данных приложений Wine
Давайте посмотрим, как мы можем найти приложение в базе данных приложений Wine.
Перейдите в раздел База данных приложений Wine. Нажмите кнопку Browse Apps (Обзор приложений) на левой боковой панели.
Напишите имя приложения, которое вы хотите найти, в поле Имя.
Нажмите на ссылку-приложение из результата поиска.
Вы увидите описание приложения. Там будет список различных версий с рейтингом их совместимости с конкретной версией Wine.
Давайте нажмем на ссылку «Последняя версия».
Это главная страница, которую вам нужно проверить. Там будет подробная информация об этой конкретной версии.
Вы получите представление о том, что будет работать, а что нет. Также здесь будет приведена процедура установки, если для установки потребуются какие-либо дополнительные задачи.
Начало работы с Wine
Прежде чем приступить к установке и запуску приложений в Wine, мы должны иметь четкое представление о некоторых вещах и о том, как настроить Wine для использования:
WinePrefix
Приложениям Windows необходим диск C:. Wine использует для этой цели виртуальный диск C:. Каталог этого виртуального диска C: называется wineprefix. Прежде всего, нам нужно создать wineprefix. Для этого откройте терминал и введите следующую команду:
winecfg
Это создаст wineprefix и откроет окно конфигурации для Wine. Вы можете изменить параметры конфигурации, если хотите, или оставить все как есть и закрыть его. Теперь вы можете найти виртуальный диск C: по адресу
$HOME/.wine/c_drive
Общее правило — устанавливать каждое новое приложение в новый wineprefix. Мы можем создавать и поддерживать несколько wineprefix вручную. Но эта задача покажется довольно утомительной для новичков. Поэтому мы пока пропустим эту часть. Но позже я покажу, как можно легко выполнить эту часть.
Установка приложения с помощью Wine
Установка поддерживаемого приложения в Wine обычно не сложнее двойного щелчка по установочному файлу. Однако сейчас мы рассмотрим пошаговое руководство по установке 7-zip в Wine.
Прежде всего, проверьте рейтинг 7-zip в базе данных приложений Wine. Он имеет рейтинг Platinum, так что все готово. Откройте конфигурацию Wine ( winecfg ) и установите версию Windows на Windows 7.
Щелкните правой кнопкой мыши на установочном файле 7-zip и выберите Open With Wine Windows Program Loader.
Видите путь к конечной папке? Установка 7-zip распознала виртуальный диск C: из wineprefix.
Завершите установку и перейдите в каталог установки [ $HOME/.wine/drive_c/Program Files/7-zip/ ] из браузера файлов.
Щелкните правой кнопкой мыши на файле 7zFM.exe и выберите Свойства > Открыть с помощью.
Выберите Wine Windows Program Loader и закройте окно. Дважды щелкните на файле 7zFM.exe.
И вот, пожалуйста! Для создания ярлыка на рабочем столе щелкните правой кнопкой мыши на файле.
Теперь переместите ссылку на рабочий стол.
Теперь вы можете запускать 7-zip просто с рабочего стола. Все, что вам нужно сделать, это дважды щелкнуть по значку.
Если вы хотите получить доступ к своим файлам в Linux, они обычно находятся на диске Z:.
Вы можете использовать 7-zip так же, как и в Windows — для извлечения и создания архивов и тому подобного.
Давайте сделаем все (намного) проще
Вы могли заметить, что в Wine Application Database при обзоре каждой версии приложения упоминается конкретная версия Wine.
Это связано с быстрыми темпами развития Wine. Хотя приложение работает с текущей версией Wine, оно может не работать с будущей версией из-за внесенных изменений.
Кроме того, я упоминал об установке каждого приложения в свой собственный свежий wineprefix. Таким образом, у приложения нет шансов помешать другому. И делать все это вручную, как правило, из терминала, отнимает много времени, утомляет и порой сбивает с толку.
На помощь приходит PlayOnLinux. Он предоставляет удобный интерфейс для выполнения всех этих действий. Для установки PlayOnLinux на Ubuntu просто выполните эту команду:
sudo apt install playonlinux
С помощью PlayOnLinux вы можете легко выполнить любую задачу, связанную с Wine, используя красивый и интуитивно понятный графический интерфейс:
- Установка и удаление приложений.
- Создание, обновление и удаление wineprefixes.
- Поддерживать Wine различных архитектур и версий.
- Запуск и создание ярлыков для установленных приложений.
- И так далее…
Но все же вам нужно будет проверить базу данных приложений Wine на предмет отзывов, процедур установки и тому подобного.
Преимущества использования Wine
Когда речь идет о запуске приложений Windows в системе Linux, Wine предоставляет множество преимуществ по сравнению с использованием эмуляторов или виртуальных машин.
- Производительность: Wine не подвержен снижению производительности, которое в противном случае происходит при эмуляции.
- Нативный опыт: Нет необходимости открывать Wine перед запуском приложения Windows. Как именно работает Wine, станет более понятно из этой цитаты с официального сайта,
Wine можно рассматривать как эмулятор Windows примерно так же, как Windows Vista можно рассматривать как эмулятор Windows XP: оба позволяют запускать одни и те же приложения, переводя системные вызовы примерно одинаковым образом. Настройка Wine для имитации Windows XP мало чем отличается от настройки Vista для запуска приложения в режиме совместимости с XP.
Производные Wine
Существует довольно много проектов для запуска приложений Windows на других платформах, основанных на Wine:
- CrossOver: CrossOver разработан компанией CodeWeavers. Она основана непосредственно на Wine с некоторыми изменениями и собственными дополнениями. На самом деле, в CodeWeavers работает большая часть разработчиков Wine. В отличие от быстрых релизов Wine, релизы CrossOver более стабильны. Единственным и основным недостатком является то, что Crossover не является бесплатным.
- PlayOnLinux: PlayOnLinux полностью основан на Wine. Он обеспечивает более легкий путь для установки и управления приложениями с помощью Wine. PlayOnLinux бесплатен. Он также доступен для Mac как PlayOnMac.
- ReactOS: ReactOS — это совершенно другая операционная система с открытым исходным кодом для запуска приложений Windows. В ней повторно используется значительное количество кода из Wine. Однако этот проект находится в разработке уже более десяти лет, и я не стал бы его рекомендовать.
Дополнительные советы по использованию Wine
Winetricks
Это еще одна важная часть использования Wine. Winetricks — это вспомогательный скрипт для загрузки и установки различных перераспределяемых библиотек времени выполнения, необходимых для запуска некоторых приложений в Wine. Они могут включать замену компонентов Wine, использующих библиотеки с закрытым исходным кодом. Winetricks поставляется вместе с установкой Wine на Ubuntu.
Для запуска winetricks выполните эту команду:
winetricks
Существует множество вариантов помощи в решении различных задач.
Установка приложения с помощью Winetricks
Если вы установите приложение из winetricks, оно будет установлено в отдельный wineprefix. Давайте установим VLC:
После этого начнется загрузка установочных файлов VLC. А затем проведет вас через весь остальной процесс. Это довольно просто.
Установка DLL или компонентов Windows и другое
Вы можете выбрать wineprefix из winetricks и установить различные библиотеки и компоненты, необходимые для запуска приложения, а также выполнить другие операции.
Примечание: Если использование winetricks кажется вам сложным, это совершенно нормально. Я тоже так считаю. По этой причине я всегда использую PlayOnLinux. PlayOnLinux может делать все, что вам может понадобиться от winetricks.
Для получения дополнительной информации вы можете ознакомиться с FAQ и документацией по Wine.
Я надеюсь, что это руководство для начинающих по использованию Wine в Linux будет вам полезно. Теперь вы можете запускать программы Windows в Linux без установки виртуальной машины или двойной загрузки.
Сообщите нам, если у вас есть вопросы или мнения, в разделе комментариев ниже.
Содержание
Wine – приложение, являющееся слоем совместимости с Windows API, использующее библиотеки Windows для обеспечения работоспособности приложений, разработанных для ОС семейства Microsoft Windows в иной среде, например, в Ubuntu. Используя Wine, вы можете устанавливать и запускать различные программы так, как будто вы используете Windows.
Wine активно развивается. Ещё не все приложения достаточно стабильно работают в Wine, однако Wine уже используется несколькими миллионами пользователей по всему миру.
Название программы Wine (waɪn — между «уа́йн» и «ва́йн», рус. Вино) — рекурсивный акроним фразы «Wine Is Not an Emulator» — рус. «Wine — не эмулятор».
Установка Wine
Установка из PPA
В связи с тем, что Wine активно развивается, в репозиториях Ubuntu обычно содержится очень старая версия. Поэтому рекомендуется ставить последнюю версию из официального репозитория Wine.
Для последних версий wine и ubuntu 64 бита
sudo dpkg --add-architecture i386 sudo add-apt-repository ppa:wine/wine-builds && sudo apt-get update sudo apt-get install --install-recommends winehq-devel
И вообще не рекомендуется заполнять и настраивать wine самому. Работать с wine не совсем удобно.
Чтобы установить ту или иную программу придется облазить кучу форумов и блогов, чтобы понять какие пакеты нужно установить и какие библиотеки добавить. Затем следует длинный процесс решения проблем, установки пакетов через winetricks и ручной настройки реестра и так далее. Это все очень сложно даже для опытных пользователей, не говоря уже про новичков. Поэтому рекомендуется скачать настроенный префикс wine отсюда : http://forum.ubuntu.ru/index.php?topic=199897.0
Настройка
Перед использованием Wine для запуска приложений нужно запустить программу настройки, которая создаст в вашей домашней директории каталог ~/.wine с необходимыми для работы файлами. Для этого либо выберите пункт главного меню Приложения→Wine→Configure Wine, либо выполните в терминале команду:
winecfg
Ассоциирование файлов с программами wine
Чтобы прозрачно запускать файлы с помощью wine-программ, напишем небольшой скрипт. Допустим, нам надо открывать CAD-файлы Компасом и zwcad’ом.
#!/bin/bash # Определяем расширение файла dd=$1; razr=`echo ${dd:(-3)};` ff=`echo ${dd/'/'Z:}`; ff=`echo ""Z:"$ff"`; # В зависимости от расширение запускаем нужную программу case $razr in frw) env WINEPREFIX="/home/"$USER"/.wine" wine start "C:\Program Files\ASCON\KOMPAS-3D Viewer V9\Bin\kViewer.Exe" `echo $ff` & ;; cdw) env WINEPREFIX="/home/"$USER"/.wine" wine start "C:\Program Files\ASCON\KOMPAS-3D Viewer V9\Bin\kViewer.Exe" `echo $ff` & ;; dwg) env WINEPREFIX="/home/"$USER"/.wine" wine start "C:\Program Files\ZWCAD 2009 Eng\ZWCAD.exe" `echo $ff` & ;; dxf) env WINEPREFIX="/home/"$USER"/.wine" wine start "C:\Program Files\ZWCAD 2009 Eng\ZWCAD.exe" `echo $ff` & ;; # Тут можно добавить ещё расширений и программ esac
Не забудем сделать наш скрипт исполняемым
chmod +x wine_cad.sh
и ассоциируем в файловом менеджере чертежи со скриптом.
Запуск Windows приложений
Для того, что бы запустить приложение вам нужно открыть терминал и прописать в нем:
wine путь/к приложению/program.exe
Если у вас не запускается приложение или работает неправильно
На сайте wine есть список приложений с описанием, для начала рекомендую свериться с ним.
http://appdb.winehq.org/ — На сайте есть поле поиска.
Если у вас плохо с английским, то используйте переводчик http://translate.google.com/.
Также можно открыть папку с приложением, которое вам необходимо запустить при помощи файлового менеджера, затем щелкнуть правой кнопкой мыши по приложению и выбрать программу для запуска — Wine.
Приложениям, запущенным через Wine, которые работают с Веб-страницами необходим Gecko
Gecko – это свободный движок вывода веб-страниц для браузера при работе в интернете wine. Если wine не работает с интернетом и вы не запускаете windows exe браузер, то вам Gecko не нужен .Обычно при запуске приложения для работы с веб-страницами Wine автоматически ищет Gecko сперва в /usr/share/wine/gecko. Если Wine не находит архив с Gecko там, то оно автоматически загружает его из интернета, но некоторые приложения не любят ждать, пока загрузиться Gecko и зависают или вылетают. Gecko можно установить выполнив команду:
sudo apt-get install wine-gecko<версия>
где <версия>
надо заменить на версию установленного Wine.
Запуск через дискретную видеокарту
Для запуска через дискретную видеокарту надо прописать в терминале на свободных драйверах( или написать скрипт)
vblank_mode=0 DRI_PRIME=1 wine имя_файла.exe
vblank_mode=0 означает вертикальная синхронизация(Vsync). Если в настройках игры нет VSync, то необходимо стереть vblank_mode=0
Сохранить. Поместить в папку с игрой. Сделать исполняемым в свойствах. Поместить ссылку на скрипт на рабочий стол. Запускать ссылку вместо файла игры.
Для ещё большей производительности необходимо поставить закрытый поприетарный драйвер.
Winetricks
Winetricks – это скрипт для установки различных компонентов от Microsoft®, и некоторых других.
Для получения Winetricks в терминале введите:
sudo apt-get install winetricks
.
Winetricks содержит несколько десятков пакетов различных библиотек для wine. Например, чтобы установить DirectX™, введите:
winetricks d3dx9
Для просмотра списка всех пакетов, введите:
winetricks ?
Также, Winetricks имеет простой GUI. Для его запуска введите:
winetricks
Ссылки
Известные проблемы и их решение
Wine — набор библиотек и утилит для запуска Windows программ и игр внутри Linux.
История Wine
Первая версия Wine появилась в 1993 году и изначально была разработана для запуска 16-битных приложений Windows 3.1 внутри Linux.
Основателем проекта является Боб Амштадт (Bob Amstadt). С 1994 г проект перешел под управление программиста Александра Джуллиарда (Alexandre Julliard).
Название
Название Wine (W.I.N.E) является рекурсивным акронимом фразы «Wine Is Not an Emulator» — «Вайн это не эмулятор.»
Слово wine в переводе с английского означает вино. По этой причине в терминологии программы используется понятие бутылок (см. ниже). Бутылка (или префикс) — это директория (среда) внутри которой выполняется Windows программа.
Wine это не эмулятор
Wine работает не как эмулятор и не как виртуальная машина, он не эмулирует систему Windows, не создает имитацию Windows и не пытается реализовать ее логику. Вместо этого он на лету выполняет преобразование API-вызовов Windows в POSIX-совместимые вызовы.
То есть это что-то вроде прослойки между приложениями для Windows и системой Linux, которая позволяет Windows программам выполняться так, как если бы они были изначально написаны для Linux.
Wine не создает эмуляцию Windows, вместо этого приложения Windows запускаются прямо внутри текущей операционной системы.
Wine работает не только под Linux, но и под другие POSIX-совместимые операционные системы — macOS и *BSD.
Wine также работает под Windows. В Windows его обычно используют для того, чтобы запускать старые программы в современных версиях Windows.
Среда Wine
Для текущего пользователя Wine создает в его домашней директории каталог .wine, в котором создается структура директорий аналогичная Windows.
Внутри каталога drive_c содержатся директории Program Files, ProgramData, windows, users. Там же хранится реестр.
Внутри директории windows размещаются DLL файлы (библиотеки). Это не библиотеки из Windows. Они были написаны с нуля на основе документации к Windows API и фактически реализуют функции оригинальных библиотек, но для Linux.
При работе Windows приложениям могут потребоваться дополнительные DLL библиотеки, которые не предоставлены Wine. В таком случае могут использоваться оригинальные Windows-версии таких библиотек.
Директория .wine называется «префиксом» или «бутылкой». Для некоторых программ может потребоваться создание отдельного префикса, то есть для ее работы нужны будут какие-то специфические настройки и она будет работать в среде другой директории отличной от ~/.wine. Можно создавать сколько угодно префиксов (бутылок).
Как запускать программы Windows через Wine
Чтобы запустить программу, написанную для Windows, в простейшем случае достаточно выполнить команду:
wine program.exe
Через Wine также можно запускать установщики Windows приложений и устанавливать их прямо в Linux.
wine setup.exe
Список программ и игр, работающих через Wine
На официальном сайте Wine ведется база данных программ и игр, которые можно запустить через Wine: Wine Application Database (AppDB) — https://appdb.winehq.org.
Для каждого приложения можно получить информацию об особенностях установки, запуска и настройки данного приложения через Wine, о проблемах и багах, с которыми можно столкнуться.
База данных постоянно пополняется. В ней насчитывается более 26000 приложений. Введутся списки самых популярных приложений, они делятся на Платиновые, Золотые и Серебряные. Вот некоторые из самых популярных программ и игр, работающих через Wine (конкретную версию уточняйте в базе данных AppDB):
- Adobe Animate
- Adobe Photoshop
- Microsoft Office
- Total Commander
- Lingvo
- 1C:Предприятие
- Гарант
- КонсультантПлюс
- Final Fantasy XI Online
- StarCraft
- Warcraft III
- World of Warcraft
- Counter-Strike: Source
- EVE Online
- Half-Life 2
- Magic: The Gathering Online
- The Sims 3
- И многие многие другие…
Использование отдельных префиксов (бутылок)
Как было сказано выше, некоторые программы должны запускаться внутри своей среды, то есть должны быть изолированы от других приложений. Для этого им нужен отдельный префикс (отдельная директория среды, в которой они будут работать).
Префикс задается переменной WINEPREFIX.
Сначала создадим новый префикс. Выполняем команду:
WINEPREFIX="/home/pingvinus/.wine2/" winecfg
Теперь выполняем саму программу и указываем для нее новый префикс:
WINEPREFIX="/home/pingvinus/.wine2/" wine /путь/до/файла/setup.exe
Установка недостающих библиотек (утилита Winetricks)
Очень часто для работы программ требуются дополнительные компоненты (библиотеки, шрифты), которых нет в Wine. Их можно установить самостоятельно, но это может стать очень трудоемким процессом, так как придётся искать и устанавливать каждый компонент вручную.
Для автоматического поиска и установки библиотек была создана специальная вспомогательная утилита Winetricks.
Winetricks — это графическая утилита, которая умеет автоматически скачивать и устанавливать необходимые компоненты. Также, Winetricks поддерживает автоматическую загрузку и установку некоторых игр и программ (для некоторых требуется наличие оригинального диска).
Winetricks поддерживает установку более сотни различных компонентов. Среди них — .Net Framework, Mono, DirectX, DivX и XviD кодеки, шрифты Windows и многие другие.
Нужно понимать, что Winetricks не является таблеткой от всех проблем и всегда могут потребоваться компоненты, которые Winetricks не поддерживает.
При первом запуске Winetricks предложит установить некоторые из часто используемых компонентов.
Заключение
На нашем сайте вы также можете ознакомиться со следующими материалами:
- Аналоги программ Windows в Linux
- Игровые клиенты и сервисы (эмуляторы) для Linux
- Виртуальные машины и эмуляторы для Linux
Установка
Установка Wine в Ubuntu Linux и Linux Mint через PPA репозиторий
Wine есть в штатных репозиториях Ubuntu, но там может содержаться не самая свежая версия, поэтому рекомендуется устанавливать программу из PPA-репозитория, предлагаемого разработчиками.
Во время установки Wine дополнительно устанавливается довольно много других зависимостей (это может быть более 100 дополнительных компонентов).
Установка Wine из штатных репозиториев Ubuntu (не самая свежая версия)
Для установки Wine из штатных репозиториев Ubuntu, выполните команду:
sudo apt install wine-stable
Для установки Winetricks выполните команду:
sudo apt install winetricks
Установка Wine из PPA репозитория (рекомендуется)
Процесс установки Wine в Ubuntu Linux описан в официальном руководстве. Рассмотрим, как установить Wine в Ubuntu Linux, используя PPA репозиторий.
Если у вас 64-х битная версия системы, то нужно разрешить использование 32-х битной архитектуры. Выполняем команду:
sudo dpkg --add-architecture i386
Устанавливаем ключ для репозитория — выполняем команды:
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
Добавляем сам репозиторий. Выберите команду для вашего дистрибутива:
# Ubuntu 21.04
sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ hirsute main'
# Ubuntu 20.10
sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ groovy main'
# Ubuntu 20.04 Linux Mint 20.x
sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main'
# Ubuntu 18.10:
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ cosmic main'
# Ubuntu 18.04 и Linux Mint 19.x:
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'
Далее обновляем информацию о пакетах:
sudo apt update
Устанавливаем Wine. Для установки стабильной версии выполняем команду:
sudo apt install --install-recommends winehq-stable
Для установки самой свежей, но возможно не очень стабильной версии используется команда:
sudo apt install --install-recommends winehq-devel
Также можно установить Winetricks:
sudo apt install winetricks
Установка в Ubuntu (LinuxMint)
sudo apt install wine-stable
Установка в ArchLinux (Manjaro)
sudo pacman -S wine
Установка в Fedora
sudo dnf install wine
Установка в openSuse
sudo zypper install wine
Установка в Gentoo
sudo emerge -a virtual/wine
Разработка
Исходный код: |
|
Языки программирования: |
|
Программа кроссплатформенная
Работает в:
- BSD
- Linux
- MacOS
- Windows
Операционные системы семейства Linux имеют один существенный недостаток перед более популярной платформой от компании Microsoft — под них написано гораздо меньшее число программ. Однако это не повод отказаться от очень качественной и сбалансированной среды, поскольку существует несколько простых способов расширить поддержку Линуксом стороннего софта. Одним из таких способов является использование программного обеспечения Wine.
Что такое Wine?
Wine — это приложение, которое использует библиотеки Windows для запуска Windows-ориентированного софта в других операционных системах. Вопреки заблуждению, данная программа не является эмулятором, а представляет собой прослойку между интерфейсами Windows и системными вызовами UNIX-систем. Несмотря на то, что Wine не способна обеспечить стопроцентную совместимость сред для запуска большого ряда программ, данное ПО получило широкое распространение среди маководов и линуксоидов.
Установка Wine
В UNIX-подобных операционных системах Wine устанавливается из репозиториев. Поскольку программа активно развивается и постоянно получает обновления, репозитории Ubuntu обычно содержат устаревшую версию, поэтому лучше всего производить установку из официального репозитория Wine.
Чтобы получить свежую версию программы, необходимо ввести в терминале команду:
Далее следует обновить персональный архив пакетов (PPA):
Команда установки Wine:
Внизу представлен список команд, которые позволяют установить самую последнюю версию Wine для 64-битной Ubuntu:
Запуск Windows-ориентированного софта с помощью Wine
Запуск приложений в Wine осуществляется также через терминал Ubuntu посредством следующей команды:
wine путь/к приложению/program.exe
Как уже говорилось выше, различные программы, написанные для ОС Windows, работают под Wine с разным успехом. В официальной библиотеке Wine каждому из приложений в зависимости от качества его работы присвоен определенный статус — от Garbage («Мусор») до Platinum (наивысший).
Самую худшую продуктивность показывают современные «тяжелые» игры. По этой причине Wine покажется не самым хорошим средством для геймеров. Благо сегодня игровая индустрия заботится не только о пользователях Windows, но и о владельцах альтернативных ОС и старается адаптировать свои продукты для широких масс. Зато есть приятная новость для любителей азартных развлечений, в частности, онлайн-покера. Данный сегмент почему-то обошел стороной интересы линуксоидов, и в настоящее время удобоваримых и качественных приложений для Linux просто нет. Вот здесь то Wine и придется очень кстати.
Еще один простой способ запустить Windows-программы в Wine состоит в использовании файлового менеджера Nautilus. Необходимо отыскать в нем файл с расширением *exe, открыть контекстное меню и выбрать способ запуска — Wine.
Также Wine позволят установить специальные компоненты Microsoft — офисные программы, интерфейсы программирования и т.п. — через скрипт Winetricks. Данный скрипт содержит библиотеки Wine, чтобы их получить, необходимо ввести следующую команду:
Установка программ осуществляется посредством команды «winetricks — название компонента». Например, для установки DirectX нужно прописать:
Когда Linux был первоначально обнародован, в нем отсутствовали многие полезные приложения, которые успешно запускал основной конкурент -Microsoft Windows. Поэтому Linux создал слой совместимости под названием Wine, с помощью которого можно запускать приложения Windows в Linux. Изначально Wine мог запускать только несколько приложений Windows, но теперь он может поддерживать тысячи из них, что делает его очень мощным приложением для Linux.
В этой статье мы опишем, как установить и использовать Wine на Ubuntu для установки Windows-приложений.
Содержание
- Установка Wine на Ubuntu
- Поиск необходимого вам приложения Windows
- Загрузка и использование приложения Windows с помощью Wine
- Удаление Wine
Установка Wine на Ubuntu
В репозитории WineHQ есть набор стандартных пакетов Wine, которые вы можете загрузить и установить в своей системе. Для этого выполните следующие шаги:
1. Выполните следующую команду в Терминале для добавления архитектуры i386 перед установкой 64-битной версии Wine:
sudo dpkg --add-architecture i386
2. Выполните следующие действия, чтобы добавить ключ подписи WineHQ:
wget -qO- https://dl.winehq.org/wine-builds/Release.key | sudo apt-key add -
Вы можете скопировать эту команду из этого руководства вместо того, чтобы набирать ее в Терминале. Выберите и скопируйте эту команду отсюда, щелкните правой кнопкой мыши в приглашении Терминала и выберите в меню пункт Вставить. Вы также можете использовать сочетание клавиш Ctrl+Shift+V, чтобы вставить скопированный текст.
3. Теперь выполните следующую команду, чтобы добавить соответствующий репозиторий из WineHQ:
sudo apt-add-repository 'deb http://dl.winehq.org/wine-builds/ubuntu/ artful main'
Если в процессе получаем предупреждение
W: http://dl.winehq.org/wine-builds/ubuntu/dists/artful/InRelease:
Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
выполняем команду
apt-key export F987672F | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/winehq.gpg
apt-key export 5FCBF54A | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/winehq-packages.gpg
после чего
4. Здесь у вас есть два варианта, какой релиз Wine вы хотите установить: стабильную версию или версию для разработки.
WineHQ Stable: Это самая последняя и стабильная версия Wine. Для установки этой версии используйте следующую команду:
sudo apt-get install --install-recommends winehq-stable
Пожалуйста, введите Y, когда появится запрос на выбор y/n для установки. После этого стабильная версия Wine будет установлена в вашей системе.
WineHQ Development: Это самая последняя версия Wine, но она может быть не очень стабильной. Как разработчик, вы можете быть более заинтересованы в установке этой версии.
sudo apt-get install --install-recommends winehq-devel
Пожалуйста, введите Y, когда появится запрос на выбор Y/n для установки. После этого версия Wine для разработки будет установлена в вашей системе. Процесс может занять некоторое время в зависимости от скорости вашего интернета.
5. Для проверки установки и проверки того, какая версия установлена на вашей системе, выполните следующую команду:
Поиск необходимого вам приложения Windows
Важно, чтобы в вашей системе была установлена последняя версия Wine, поскольку разработчики Wine постоянно работают над добавлением поддержки все большего количества приложений Windows. На официальном сайте Wine поддерживается список всех приложений, которые в настоящее время поддерживаются Wine. Вот ссылка на сайт:
https://appdb.winehq.org/
Вы можете просмотреть список поддерживаемых приложений и узнать, насколько хорошо они будут работать в Wine. На это указывает значение рейтинга, который может варьироваться от Platinum (лучший), Gold, Silver, Bronze до Garbage (не будет работать в Wine). Кроме того, вы можете посмотреть, на какой версии Wine тестировались приложения.
На сайте WineHQ найдите ссылку Browse Apps, расположенную в левой части страницы.
В данном примере я ищу Notepad++, введя ключевые слова в фильтр Name. Результаты поиска отображают нужное мне приложение следующим образом?
Здесь я могу нажать на соответствующий результат поиска, чтобы просмотреть все версии искомого программного обеспечения, поддерживаемые Wine.
Описание, последняя оценка, последняя протестированная версия Wine, результаты тестирования и комментарии к версии могут помочь вам решить, какую версию программы вы хотите установить.
Если вы нажмете на номер версии, вы получите еще более подробную страницу о приложении.
Я бы выбрал версию 8.x, так как она лучше всего подходит для моих нужд, основываясь на рейтинге и последней протестированной версии wine.
Загрузка и использование приложения Windows с помощью Wine
На вышеуказанной странице приведен URL-адрес, с которого я могу свободно скачать необходимую версию Notepad++.
Я выбрал пакет загрузки в формате 7z. По умолчанию пакет загрузки будет сохранен в папке «Загрузки». Оттуда вы можете щелкнуть правой кнопкой мыши на файле 7z и выбрать в меню пункт «Extract here».
Вот содержимое извлеченной папки:
Щелкните правой кнопкой мыши на файле notepad++.exe и вы сможете увидеть опцию «Open With Wine Windows Program Loader», как показано ниже:
Выберите эту опцию, и вы сможете просматривать и использовать приложение Notepad++ следующим образом:
Удаление Wine
Если вы хотите удалить Wine из вашей системы, выполните следующую команду в терминале Ubuntu:
sudo apt-get purge winehq-stable
Вам также нужно будет выполнить следующие команды, чтобы полностью удалить установку и соответствующие папки:
rm ~/.config/wine/ -rf
rm -rf $HOME/.wine
rm -f $HOME/.config/menus/applications-merged/wine*
rm -rf $HOME/.local/share/applications/wine
rm -f $HOME/.local/share/desktop-directories/wine*
rm -f $HOME/.local/share/icons/????_*.xpm
Следуя той же процедуре, которая описана в этой статье для использования Notepad++, вы можете загрузить и использовать любое другое Windows-приложение с поддержкой Wine, которое иначе казалось невозможным запустить на Ubuntu.
Примечание: Статья предназначена для новичков, но, как минимум, потребуются базовые знания о Linux (структура файловой системы, права пользователей, навыки работы с терминалом).
Содержание.
- О Wine.
- Установка Wine в дистрибутивы на базе Ubuntu, включая Linux Mint 19.
- Удаление Wine.
- Использование Wine. Немного теории о префиксах (prefix).
- Использование Wine. Создание префиксов (prefix).
- Общая информация и ограничения префиксов.
- Конфигурирование Wine через GUI.
- winefile. Файловый менеджер Wine.
- Wine. Установка и запуск программ.
- Wine. Удаление установленной Windows-программы.
- Winetricks. Основы.
- Winetricks. Настройка префикса.
- Углубление в функционал Wine.
- Отладка.
- Практика.
- Чуть-чуть хитростей.
Почта для предложений и замечаний: 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. Установка и запуск программ.
В обычном случае алгоритм установки программ следующий:
- Ищем запись о желаемой программе в базе Wine AppDB: https://appdb.winehq.org/
- Изучаем истории успешного запуска (или их отсутствие).
- Подготавливаем префикс по описанию. В зависимости от капризности программы, может потребоваться изменить версию Windows и установить те или иные пакеты расширений (С++ redistributable, .NET Framework, DirectX, Microsoft Media Foundation и прочие).
- Устанавливаем программу.
Примечание: Не рекомендуется запускать программы из разделов с файловой системой 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 — отказываемся, для префикса игры это ни к чему.
Должно появиться окно мастера установки:
Мастер сообщит, что не может найти игру:
Это не удивительно, так как игра находится вне префикса. Здесь есть два варианта решения:
- Создать в префиксе символическую ссылку на каталог игры, тогда мастер сможет обнаружить игру и продожить установку. То есть создать символическую ссылку с именем BorderlandsGOTYEnhanced по пути /home/$USER/.local/share/Steam/steamapps/compatdata/729040/pfx/drive_c/Program Files/, которая будет ссылаться на каталог с установленной игрой /home/$USER/.local/share/Steam/steamapps/common/BorderlandsGOTYEnhanced/.
- Указать русификатору абсолютный путь до каталога игры. На иллюстрации виден тот самый «диск 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
Contents
- Introduction
-
Installing Wine
- Ubuntu versions of Wine (Recommended)
- Newer versions of Wine (Not Recommended)
- Initial Setup
- Installing Windows Applications With Wine
- To start/run Windows programs using Wine
- Uninstalling Wine Applications
-
Configuring Wine
- Adding CD and DVD drives to Wine
- Adding applications to the menu
-
Changing application specific settings
- Using Windows Themes/Skins In Wine
- Color Scheme
- Using Theme/Skins
- Fullscreen issues with overlapping Panel
- Instructions for using wine over remote X11 sessions
- Instructions for specific Windows programs
- Creating file associations
-
Troubleshooting
- Error: Cannot change screen BPP from 32 to XX
- ‘dhtmled.ocx’ is missing or invalid
- Screen flickers to black when starting an application
- 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:
- Open a terminal and run these commands:
-
wget https://dl.winehq.org/wine-builds/winehq.key
-
sudo apt-key add winehq.key
-
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:
- Download the Windows application from any source (e.g. download.com). Download the .EXE (executable).
- Place it in a convenient directory (e.g. the desktop, or home folder).
-
Open the terminal, and cd into the directory where the .EXE is located.
-
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:
-
Run
winecfg
-
Navigate to the drives tab
-
Click on Add…
-
In the path bar, type
/media/cdrom
-
Click Show Advanced button below the Browse… button and set the Type to
CD-ROM
-
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
-
Type this command into your terminal.
winecfg
-
Click on Add Application…
- Navigate to where the .exe is and choose that program
- 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:
- Start Wine’s Registry Editor.
- Navigate to «HKEY_CURRENT_USERSoftwareWineX11 Driver». You may need to create X11 Driver.
- 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.