Документ описывает порядок установки и первичной настройки Wine в ОС Astra Linux для запуска Windows-приложений (например, ПО «Хромос»). Предполагается, что ОС Astra Linux уже установлена и обновлена (см. документ astrainstall.md).
Wine не является эмулятором: он реализует слой совместимости, транслирующий вызовы Windows API в вызовы Linux. Состояние каждого Windows-окружения хранится в отдельном каталоге — Wine-префиксе (WINEPREFIX), который содержит виртуальный диск C:, реестр и сопоставление устройств.
| Параметр | Значение |
|---|---|
| Операционная система | Astra Linux (с установленными обновлениями) |
| Архитектура префикса | win32 (32-бит) либо win64 (64-бит) |
| Каталог префикса (пример) | ~/.local/share/wineprefixes/win32 |
| Дополнительно | winetricks, wine-gecko, wine-mono |
Включить поддержку 32-битной архитектуры (необходима для win32-приложений и многих библиотек):
sudo dpkg --add-architecture i386
Обновить список доступных пакетов:
sudo apt update
Установить Wine и вспомогательную утилиту winetricks:
sudo apt install wine winetricks
При необходимости 32-битных библиотек дополнительно устанавливается ia32-libs (если доступен в репозитории).
Установить компоненты Gecko (движок отображения HTML) и Mono (среда .NET), требуемые многими приложениями для корректной работы интерфейса:
sudo apt install wine-gecko wine-mono
Проверить версию установленного Wine:
wine --version
Префикс — это изолированное Windows-окружение. Для разных приложений можно создавать отдельные префиксы, что исключает их взаимное влияние.
Задать архитектуру и путь префикса и инициализировать его:
export WINEARCH=win32 export WINEPREFIX=$HOME/.local/share/wineprefixes/win32 wineboot --init
Замечание. Архитектура префикса (WINEARCH) задаётся только при его создании и не может быть изменена впоследствии. Для 32-битных приложений используется win32.
Структура созданного префикса:
Рисунок 2 — Структура Wine-префикса
drive_c — виртуальный системный диск C: (каталоги Program Files, windows);
dosdevices — сопоставление дисков и устройств (в т. ч. проброс COM-портов, см. документ serialport.md);
system.reg, user.reg — файлы реестра Windows.
Запустить конфигуратор для нужного префикса:
WINEPREFIX=$HOME/.local/share/wineprefixes/win32 winecfg
Основные параметры:
| Вкладка | Назначение |
|---|---|
| Приложения | Версия эмулируемой Windows (например, Windows 7/10) |
| Библиотеки | Переопределение DLL (native/builtin) |
| Диски | Подключение дополнительных дисков и проверка устройств |
| Графика | Разрешение, режим виртуального рабочего стола, DPI |
| Аудио | Выбор звуковой подсистемы |
При необходимости установить дополнительные компоненты через winetricks (шрифты, библиотеки Visual C++ и пр.):<HTML></p></HTML>
WINEPREFIX=$HOME/.local/share/wineprefixes/win32 winetricks
Запустить установщик приложения в нужном префиксе:
WINEPREFIX=$HOME/.local/share/wineprefixes/win32 wine setup.exe
После установки запустить приложение:
WINEPREFIX=$HOME/.local/share/wineprefixes/win32 wine "C:\\Program Files\\App\\app.exe"
Проверить корректность запуска и работу интерфейса.
| Признак | Возможная причина | Действие |
|---|---|---|
| Не запускается установщик 32-бит | Не включена архитектура i386 | Выполнить п. 3 (dpkg --add-architecture i386) |
| Не отображается HTML/интерфейс | Не установлены Gecko/Mono | Установить wine-gecko, wine-mono (п. 4) |
| Приложение не видит COM-порт | Порт не проброшен в префикс | См. документ serialport.md |
| Ошибки с .NET-компонентами | Отсутствуют библиотеки | Доустановить через winetricks (п. 6) |
| Конфликт настроек приложений | Общий префикс на разные программы | Создать отдельный WINEPREFIX (п. 5) |
wine, winetricks, wine-gecko, wine-mono (раздел 4).winecfg (раздел 6).serialport.md).