И Windows, и Linux имеют свои собственные API, но поскольку эти две операционные системы сильно отличаются между собой, их API не могут взаимодействовать друг с другом. Это означает, что приложения Windows не могут работать в Linux, по крайней мере, без слоя совместимости. И это именно то, чем является Wine… слой совместимости.
Что такое Wine?
Wine (акроним «Wine Is Not an Emulator») — это слой совместимости, который упрощает запуск нужных вам Windows-приложений в Linux-системах. Wine не эмулирует Windows.
Чтобы начать пользоваться Wine, сначала вы должны установить его на свой компьютер с Linux. После этого, при помощи терминала и соответствующих команд вы можете скачать нужные вам приложения Windows. Если рассматриваемое приложение поддерживается Wine, то у вас не должно возникнуть проблем с его запуском.
При наличии Wine вызов API Windows-приложения на лету преобразуется в соответствующий вызов Linux API. Конечно, речь идет не только об API. Для правильной работы Windows-приложения в значительной степени полагаются на файлы динамически подключаемых библиотек (сокр. «DLL» от «Dynamic Link Library»). К счастью, Wine предоставляет свои собственные версии различных DLL-файлов Windows.
Единственное, чего не может сделать Wine, — это напрямую обратиться к ядру Windows. В таких случаях Wine передает соответствующий вызов ядру Linux. Если программе нужно сделать что-то, чего не может ядро Linux, Wine преобразует вызов во что-то, с чем может работать Linux.
Какие Windows-приложения поддерживаются Wine?
В настоящее время существует большое количество Windows-приложений, которые полностью поддерживаются Wine и работающие на нем без каких-либо проблем. Тем не менее, каждый день появляются все новые приложения для Windows. Многие из них не будут работать в связке с Wine так, как этого хотелось бы. Но стоит отметить, что темпы развития Wine довольно стремительны, постоянно добавляется поддержка новых приложений. Отслеживать изменения можно с помощью базы данных совместимых приложений.
База данных приложений Wine насчитывает почти 24 000 программ различного статуса совместимости (или скорее даже рейтинга) в зависимости от того, насколько хорошо эти приложения работают в Wine. Вот значения этих рейтингов:
Platinum — данные приложения устанавливаются и безупречно работают в стандартном Wine.
Gold — данные приложения работают с некоторой дополнительной конфигурацией Wine.
Silver — приложения с незначительными проблемами.
Bronze — есть серьезные проблемы, которые влияют на использование.
Garbage — приложения, которые просто не будут работать в Wine.
Для поиска приложений в базе Wine на официальном сайте используется пункт меню Browse Apps (слева на боковой панели):
Также в этом разделе доступна и другая информация, а именно: обзоры программ, процедуры установки, с какой версией Wine программа была протестирована, а также различные полезные данные для каждого приложения.
Конечно, база данных приложений Wine в основном состоит из пользовательских данных, но вы всегда можете попробовать запустить приложение с другой версией Wine и поделиться своим результатом с остальным сообществом.
Установка Wine
Установка Wine не является сложной задачей. Мы рассмотрим установку Wine в Ubuntu, Debian и Fedora.
Установка Wine в Ubuntu
Примечание: В примере используется Ubuntu Desktop 21.10.
Шаг №1: Откройте терминал и установите Wine с помощью следующей команды:
sudo apt install wine -y
Примечание: Вы можете получить сообщение об ошибке типа: «Package ‘wine’ has no installation candidate». В этом случае попробуйте использовать следующую команду:
sudo apt-get install wine-stable -y
Чтобы установить самую свежую версию Wine, введите команду:
sudo apt install wine-development -y
Шаг №2: При появлении запроса введите свой пароль.
Шаг №3: Дождитесь окончания установки (Wine имеет большое количество зависимостей).
Готово! Теперь Wine готов к работе!
Установка Wine в Debian
Установка Wine в Debian Linux очень похожа на установку в Ubuntu, но с одним небольшим отличием. По умолчанию в Linux устанавливаются пакеты только той архитектуры (разрядности), которая соответствует архитектуре центрального процессора (на данный момент, это почти всегда 64 бита). Ubuntu, вне зависимости от разрядности ОС, автоматически устанавливает все необходимые библиотеки Wine (как 32-битные, так и 64-битные). А вот в 64-битном Debian для установки 32-битных пакетов Wine необходимо вручную активировать поддержку соответствующей архитектуры (i386):
sudo dpkg --add-architecture i386
Установка Wine в Debian Linux очень похожа на установку в Ubuntu. Для этого введите следующие команды:
sudo apt install wine wine32
Установка Wine в Fedora
Примечание: В примере используется Fedora 35.
Для установки Wine в Fedora выполните следующую команду:
sudo dnf install wine
Настройка Wine
Следующим шагом нужно будет убедиться, что окружение Wine настроено должным образом. Нас интересует наличие каталога (он создается по умолчанию), который будет «обманывать» установщики программ, заставляя их думать, что приложения установлены в стандартном каталоге Windows.
Шаг №1: Введите в терминале следующую команду:
winecfg
Примечание: Если перед этим моментом вы не установили Wine, то ваша Linux-система может попросить вас установить дополнительное ПО (а именно, зависимости).
Шаг №2: Когда откроется окно настроек winecfg, перейдите на вкладку Диски и убедитесь, что у вас в диске C:
указан путь ../drive_c
:
Шаг №3: Оставьте оба окна (терминал и «Настройка Wine») открытыми.
Установка Windows-приложений с помощью Wine
Установку Windows-приложений можно произвести из командной строки. Но сначала нужно убедиться, что у Wine есть вся необходимая информация об устанавливаемом ПО.
Примечание: В качестве примера мы установим программу Notepad++.
Для этого скачайте установочный файл Notepad++. Затем в окне настроек Wine перейдите на вкладку "Приложения"
и нажмите кнопку "Добавить приложение…"
:
Щелкните стрелку раскрывающегося списка пункта "Искать в"
> выберите свое имя пользователя > "Downloads"
:
Выберите файл установки Notepad++ (в моем случае это npp.8.1.9.2.Installer.exe) и нажмите "Открыть"
:
Затем в раскрывающемся списке "Версия Windows"
выберите пункт "Использовать по умолчанию"
и нажмите "ОК"
:
Теперь перейдем к непосредственной установке программы Notepad++.
Откройте терминал и перейдите в каталог Загрузки (или Downloads):
cd ~/Загрузки
Выполните установку Notepad++:
wine npp.8.1.9.2.Installer.exe
Выберите язык и нажмите "OK"
:
Затем нажмите кнопку "Далее >"
:
Примите лицензионное соглашение:
Еще раз нажмите кнопку "Далее >"
:
Затем поставьте галочки возле тех компонентов, которые вам нужны. Если не знаете, что выбрать, то просто нажмите кнопку "Далее >"
:
Нажмите кнопку "Установить"
:
Дождитесь окончания установки и нажмите кнопку "Готово"
:
После этого откроется окно программы Notepad++:
Поздравляю вас! Вы только что установили с помощью Wine свое первое Windows-приложение в Linux.
Запуск приложений в Wine
Вместе с Wine устанавливается Файловый менеджер Wine. С его помощью вы можете перейти в каталог, в котором находится установленное приложение, и запустить его. Для этого введите в терминале следующую команду:
winefile
Затем перейдите в каталог C:\Program Files\Notepad++ и дважды щелкните по notepad++.exe:
Теперь вы можете использовать приложение!
Когда вы закончите использовать приложение, закройте его как обычно. Когда оно вам снова понадобится, откройте Файловый менеджер Wine и запустите его.
Альтернативные способы установки приложений с помощью Wine
Возможно, вы заметили, что в базе данных приложений Wine при просмотре каждой версии приложения упоминается конкретная версия Wine. Это происходит из-за быстрых темпов развития Wine. Приложение, отлично работающее с текущей версией Wine, может не работать с будущей версией из-за внесенных изменений.
Кроме того, я уже упоминал, что ручная установка приложений из окна терминала отнимает много времени, утомительна и порой сбивает с толку. В качестве решения могут применяться другие «дочерние» Wine программы.
PlayOnLinux
PlayOnLinux — полностью основан на Wine. Обеспечивает более простой способ установки и управления приложениями с помощью Wine. PlayOnLinux является бесплатным. Он также доступен для macOS (как PlayOnMac).
Установка PlayOnLinux в Debian 11 выполняется следующим образом:
sudo apt install playonlinux
Вы можете легко выполнять все связанные с Wine задачи при помощи красивого и интуитивно понятного графического интерфейса PlayOnLinux:
Установка и удаление приложений.
Поддержка различных архитектур и версий Wine.
Создание ярлыков для установленных приложений и их запуск.
И так далее…
Lutris
Lutris — это менеджер библиотеки игр для Linux, который позволяет автоматически устанавливать Windows-игры на Linux, используя последние версии Wine (в том числе специально адаптированные для определенных игр). С помощью Lutris вы сможете устанавливать Windows-игры в Linux почти так же легко, как и в Windows, без необходимости что-либо настраивать, не беспокоясь о том, что они будут конфликтовать друг с другом.
Crossover
Crossover — разработан компанией CodeWeavers. Фактически это тот же самый Wine, но с несколькими изменениями и фирменными дополнениями. Также в CodeWeavers работает большая часть разработчиков Wine. В отличие от частых выпусков Wine, релизы Crossover более стабильны, но стоит учесть, что Crossover является платным продуктом.
Удаление Wine
Рассмотрим удаление Wine в системах Ubuntu, Debian и Fedora.
Удаление Wine в Ubuntu
Чтобы удалить Wine в Ubuntu, достаточно ввести следующую команду:
sudo apt purge wine
Удаление Wine в Debian
Та же самая команда, что и для Ubuntu. Только еще добавляется пакет wine32, который мы установили ранее:
sudo apt purge wine wine32
Удаление Wine в Fedora
Для удаления Wine в Fedora используется следующая команда:
sudo dnf erase wine