Команда wine program.exe в терминале выдаёт ошибку вместо запуска приложения — с такой ситуацией сталкивается почти каждый, кто впервые пытается запустить Windows-программу в Linux. Причина обычно не в самой программе, а в неподготовленном окружении: отсутствующих библиотеках, неверной архитектуре префикса или устаревшей версии слоя совместимости.
Строго говоря, классического «эмулятора Windows» для Linux не существует — Wine (что расшифровывается как Wine Is Not an Emulator) не эмулирует систему, а транслирует вызовы Windows API в вызовы Linux. Именно поэтому он работает быстрее полноценной виртуализации, но требует аккуратной настройки. В этой статье разберём основные способы запуска Windows-приложений, их отличия и типичные проблемы.
Какие инструменты существуют для запуска Windows-программ
Выбор инструмента зависит от задачи: одно дело — запустить старую игру или офисный пакет, другое — корпоративный софт с драйверами и аппаратными ключами защиты. Ниже основные варианты.
- 🍷 Wine — базовый слой совместимости, бесплатный, с открытым кодом. Требует ручной настройки через
winecfgи winetricks. - 🎮 Steam Play (Proton) — форк Wine от Valve, оптимизированный для игр. Включается в настройках Steam.
- 🧩 PlayOnLinux / Lutris — графические оболочки над Wine с готовыми скриптами установки популярных программ.
- 💼 CrossOver — коммерческая версия Wine от CodeWeavers с технической поддержкой и упрощённой установкой.
- 🖥️ Виртуальные машины (VirtualBox, QEMU/KVM, VMware) — полноценная Windows внутри Linux, максимальная совместимость ценой производительности.
Если приложение критично и должно работать без сбоев — виртуальная машина надёжнее. Если важна скорость и интеграция с рабочим столом Linux — начинайте с Wine.
Сравнение популярных решений
| Инструмент | Тип | Стоимость | Подходит для |
|---|---|---|---|
| Wine | Слой совместимости | Бесплатно | Программы и старые игры |
| Proton (Steam) | Слой совместимости | Бесплатно | Игры из Steam |
| CrossOver | Слой совместимости | Платно | Офисные и бизнес-приложения |
| VirtualBox | Виртуализация | Бесплатно | Полноценная Windows |
| QEMU/KVM | Виртуализация | Бесплатно | Продвинутые сценарии, проброс GPU |
Обратите внимание: совместимость конкретной программы лучше проверять в базе WineHQ AppDB — там пользователи публикуют рейтинги работоспособности (Platinum, Gold, Silver и ниже) и рецепты настройки для конкретных версий приложений.
Установка и настройка Wine
Установка зависит от дистрибутива. В Ubuntu и производных базовая установка выглядит так:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install wine64 wine32
Поддержка 32-битной архитектуры (i386) обязательна: большинство Windows-программ, особенно старых, собраны под x86. Без неё установщик либо откажется ставить пакеты, либо приложения будут падать при запуске.
После установки создайте и настройте префикс — изолированное окружение с виртуальным диском C::
WINEPREFIX=~/.wine-myapp winecfg
В открывшемся окне выберите версию Windows, которую будет имитировать Wine (например, Windows 10). Для старых программ иногда помогает режим Windows XP или Windows 7 — это подбирается экспериментально.
☑️ Подготовка Wine к запуску программы
Типичные ошибки и их решение
Самая частая жалоба — программа молча закрывается или выдаёт окно с ошибкой при запуске. Порядок диагностики такой: сначала запустите приложение из терминала, чтобы увидеть вывод Wine, затем ищите в логе строки с err: и fixme:. Часто там прямо указано, какой библиотеки не хватает.
Недостающие компоненты удобно ставить через winetricks. Например, многим программам нужны Visual C++ Redistributable или .NET Framework:
winetricks vcrun2019
winetricks dotnet48
⚠️ Внимание: установка .NET Framework через winetricks может занять продолжительное время и потребовать нескольких перезапусков установщика. Не прерывайте процесс — прерванная установка часто «ломает» префикс, и его приходится создавать заново.
Проблемы со шрифтами (кракозябры вместо русского текста) обычно решаются установкой пакета шрифтов через winetricks corefonts и проверкой локали системы. Если интерфейс программы отображается без текста — проверьте, что в системе установлены базовые TTF-шрифты.
Игры: Proton и Lutris
Для игр настраивать Wine вручную уже необязательно. Proton встроен в Steam для Linux: достаточно в настройках клиента разрешить Steam Play для всех игр, и большинство Windows-тайтлов запустится автоматически. Уровень совместимости по конкретным играм удобно смотреть на независимых базах отчётов, где пользователи делятся конфигурациями.
Lutris закрывает игры вне Steam: он управляет префиксами Wine, версиями Proton-GE и эмуляторами консолей из одного интерфейса. Установщики для многих игр пишутся сообществом, что избавляет от ручной настройки.
Когда лучше выбрать виртуальную машину
Есть категории программ, с которыми Wine справляется плохо или не справляется вовсе: софт с аппаратными ключами защиты, приложения с античит-системами ядерного уровня, специализированные драйверы устройств. В таких случаях разумнее поднять полноценную Windows в VirtualBox или QEMU/KVM.
⚠️ Внимание: для установки Windows в виртуальную машину потребуется лицензионный образ и ключ активации. Использование нелицензионных копий нарушает условия соглашения Microsoft независимо от того, запущена система на «железе» или в виртуальной среде.
Из плюсов виртуализации — гарантированная совместимость и изоляция. Из минусов — расход оперативной памяти и дискового пространства, а также слабая 3D-производительность без проброса видеокарты (GPU passthrough), который требует поддержки IOMMU и отдельной настройки.
Что такое проброс GPU и кому он нужен
Проброс видеокарты (GPU passthrough) — это передача физической видеокарты под полный контроль виртуальной машины. Технология требует поддержки IOMMU (VT-d у Intel, AMD-Vi у AMD), двух видеокарт (или встроенной + дискретной) и ручной настройки QEMU/KVM. Применяется, когда в виртуальной Windows нужно играть или работать с 3D-графикой без потери производительности.
Безопасность и ограничения
Распространено заблуждение, будто Windows-вирусы безопасны в Wine. Это не совсем так: вредоносный код, запущенный через Wine, получает доступ к домашнему каталогу пользователя, если тот примонтирован в префиксе (а по умолчанию диски Z: и другие часто указывают на корень файловой системы). Ограничьте доступ, убрав лишние привязки дисков в winecfg на вкладке «Диски».
⚠️ Внимание: не запускайте через Wine программы из непроверенных источников «для проверки» — слой совместимости не является песочницей и не изолирует систему от вредоносного кода.
Также учитывайте: некоторые программы проверяют подлинность окружения и отказываются работать под Wine. Это не баг, а осознанное ограничение разработчика — обойти его легальными средствами обычно нельзя.
Часто задаваемые вопросы
Можно ли запустить любую Windows-программу через Wine?
Нет. Совместимость зависит от конкретного приложения: простые утилиты и старые программы обычно работают хорошо, а софт с защитой от копирования, античитами или специфическими драйверами — часто нет. Проверяйте базу WineHQ AppDB перед установкой.
Что лучше для игр — Wine или Proton?
Для игр из Steam проще всего Proton: он уже интегрирован в клиент и регулярно обновляется. Для игр из других источников удобен Lutris, который умеет использовать как Wine, так и сборки Proton-GE.
Нужна ли лицензия Windows для Wine?
Нет. Wine не содержит кода Windows и не устанавливает саму систему — это независимая реализация Windows API. Лицензия потребуется только при установке настоящей Windows в виртуальную машину.
Почему программа под Wine видит не все файлы?
Wine показывает приложению только те пути, которые привязаны как диски в настройках префикса. Откройте winecfg, вкладку «Диски», и проверьте, какие каталоги смонтированы. Добавьте нужный путь или скопируйте файлы внутрь префикса.
Есть ли аналог Wine для запуска на ARM-устройствах?
На ARM-системах (например, одноплатных компьютерах) ситуация сложнее: Wine сам по себе не транслирует инструкции процессора x86. Нужны дополнительные инструменты эмуляции архитектуры (например, Box86/Box64 в связке с Wine). Производительность и совместимость при этом заметно ниже, чем на обычном ПК.