2.7.5 Работа с Wine
Установка Wine
Установка программ в Wine
Запуск программы
Префиксы Wine
Настройка префикса
winefile - файловый менеджер Wine
Удаление программ в Wine
Работа с реестром
Установка Winetricks
Установка дополнительных пакетов
Пакет Dotnet
Пакет Mono
Установка Gecko
Виртуальный рабочий стол в Wine
Углубление в функционал Wine
Wine — свободное программное обеспечение, позволяющее пользователям ОС на базе ядра Linux исполнять 32- и 64- битные приложения созданные исключительно для Microsoft Windows. Название W.I.N.E. расшифровывается как «Wine Is Not an Emulator» — «W.I.N.E. — это не эмулятор». Имеется в виду, что Wine не является эмулятором компьютера или виртуальной машиной, как, например, qemu, VirtualBox и другие подобные им. Wine — это свободная реализация Windows API.
Смотрите видеоролик о работе с WINE в РЕД ОС на нашем официальном YouTube-канале.
Установка Wine
Для установки необходимо открыть терминал, войти под суперпользователем root и начать установку:
# dnf install wine
После установки запустите команду от имени обычного пользователя, чтобы увидеть конфигурацию Wine:
winecfg
При первом запуске команды winecfg создается префикс .wine 64-х разрядный по умолчанию.
Установка программ в Wine
Для легковесных программ достаточно команды:
wine filename.exe
Но чаще всего перед установкой программы в wine требуется настройка префикса.
Если при установке префикс не указывается, программа ставится в префикс по умолчанию.
Если установщик программы запускается файлом с расширением .msi, используем команду:
wine msiexec /i filename.msi
Установка в префикс не по умолчанию, например .wine_prefix, осуществляется следующим образом:
WINEPREFIX="/home/$USER/.wine_prefix" wine "/home/$USER/Downloads/filename.exe"
Запуск программы
Чтобы запустить программу, необходимо указать полный путь к исполняемой программе или имени программы, как показано в примере ниже:
wine /<путь_к_файлу>/program.exe
Первый запуск программы может длиться достаточно долгое время.
Запуск bat-файлов осуществляется командой:
wine start filename.bat
Префиксы Wine
Для разных программ могут потребоваться разные дополнительные компоненты, разные настройки Wine и т. п. Для этого существуют префиксы Wine. Используя для каждой программы свой префикс, вы можете обеспечить им индивидуальное окружение.
Для примера создадим и сконфигурируем 64-х разрядный префикс с именем .wine_prefix в домашнем каталоге пользователя:
WINEARCH=win64 WINEPREFIX="/home/$USER/.wine_prefix" winecfg
где WINEARCH=win64 — указывает, что префикс создается под архитектуру amd64, что позволит запускать в нем 64-разрядные программы, а также 32-разрядные. Для создания 32-разрядного префикса необходимо заменить 64 на 32.
WINEPREFIX="/home/$USER/.wine_prefix" — указывает путь расположения создаваемого префикса.
Кавычки используются в случаях, если в имени папок содержится пробел, например "/home/user/Рабочий стол".
Для запуска программ с префиксом каждый раз указывать архитектуру не требуется, поэтому после создания параметр WINEARCH=win64 прописывать не нужно.
Пример запуска программы internet explorer с префиксом:
WINEPREFIX=/home/$USER/.wine_prefix wine /home/$USER/.wine/drive_c/Program\Files/Internet\ Explorer/iexplore.exe
Настройка префикса
Версия Windows позволяет выбирать режим запуска с необходимой версией Windows (Windows 7 - по умолчанию).
Вкладка «Диски» позволяет управлять виртуальными и физическими разделами. В стандартной конфигурации подключено 2 раздела: C и Z.
C — является системным каталогом префикса;
Z — ведет в корень файловой системы Linux, в некоторых случаях такое поведение нежелательно, поэтому данный диск рекомендуется удалить, тем самым изолировав префикс от основной системы.
Вредоносные программы для Windows потенциально способны нанести вред Linux-системе.
В префиксе стандартные каталоги Windows-пользователя располагаются по пути /home/user/.wine_prefix/drive_c/users/$USER/.
Ссылки в данном случае указывают на домашние каталоги Linux-пользователя, который создал префикс.
Остальные вкладки подробно описаны и интуитивно понятны.
winefile - файловый менеджер Wine
Winefile является аналогом проводника Windows.
Запуск winefile осуществляется командой:
WINEPREFIX="/home/$USER/.wine_prefix" wine winefile
Удаление программ в Wine
Для удаления программ необходимо использовать команду:
wine uninstaller
или удаление из префикса:
WINEPREFIX="/home/$USER/.wine" wine uninstaller
После этого откроется окно «Установка/удаление программ», где следует выбрать нужную программу и нажать кнопку «Удалить».
При помощи wine uninstaller можно устанавливать программы, нажав на кнопку «Установить» и выбрав необходимую для установки программу.
Удаление программы без использования GUI осуществляется следующим образом:
wine uninstaller --remove <название_программы>
или из префикса:
WINEPREFIX="/home/$USER/.wine_prefix" wine uninstaller --remove <название_программы>
Также есть возможность удалить программу, используя ее собственную программу удаления:
wine /<путь_к_папке_с_программой>/uninstall.exe
Работа с реестром
Для открытия реестра используется инструмент regedit:
wine regedit
Чтобы перемещаться по реестру, кликните на ключах в левой части панели, чтобы перейти на следующий уровень глубины.
Чтобы удалить ключ, кликните на нем и в меню Edit выберите «Delete».
Чтобы добавить ключ или значение, определите место, где вы хотите поместить его, и выберите «New» из меню «Edit».
Чтобы изменить существующий ключ, выделите его в правой панели и выберите «Modify» из меню «Edit». Другой способ проделать то же самое, это щелчок правой кнопкой мыши на ключе или значении.
Файлы реестра располагаются в папке префикса, например:
/home/$USER/.wine_prefix/
system.reg — содержит ветвь HKEY_LOCAL_MACHINE;
user.reg — HKEY_CURRENT_USER;
userdef.reg — HKEY_HKEY_USERS\.Default (содержит настройки Windows пользователя по умолчанию).
Установка Winetricks
Winetricks - вспомогательный скрипт для загрузки и установки различных распространяемых библиотек, необходимых для запуска некоторых программ в Wine, а также настройки окружения.
Для установки winetricks требуются права администратора:
# dnf install winetricks
Чтобы открыть диалоговое окно программы для работы в графическом режиме, необходимо вызвать команду:
winetricks
При выборе пункта меню, установленного по умолчанию, открывается следующее окно, которое содержит список доступных над wine-префиксом операций, где можно доустановить библиотеки, шрифты, вызвать редактор реестра или окошко настроек wine (winecfg).
Есть возможность установить пакеты напрямую через терминал:
winetricks <название_пакета>
Чтобы отобразить все установленные пакеты введите команду:
winetricks dlls list
Установка дополнительных пакетов
Пакет Dotnet
Для установки пакета в графическом режиме необходимо запустить winetricks.
При открытии окна выбрать пункт меню, установленный по умолчанию, затем необходимо выбрать пункт «Установить библиотеку DLL или компонент Windows». В списке приложений следует выбрать пакет для установки в зависимости от того, какая версия необходима, и нажать «ОК».
Затем откроется окно установки программы, где необходимо изучить и принять условия лицензионного соглашения и следовать инструкциям по установке.
Для полуавтоматической установки (название и описание компонентов выводятся по ключу -help):
winetricks "components names"
Пример установки NET Framework 4.5:
winetricks -q dotnet45
Пакет Mono
Mono — программная платформа, позволяющая разработчикам достаточно просто создавать развитые кроссплатформенные приложения.
В базовом варианте Mono состоит из нескольких компонентов:
- Компилятор языка C#;
- Среда исполнения Mono — состоит из среды исполнения (CLI) непосредственно, компилятора среды исполнения (Just-In-Time, JIT), генератора машинного кода (Ahead-Of-Time, AOT), загрузчика сборок, сборщика мусора, подсистемы управления многопоточностью и компонентов поддержки взаимодействия между сборками и COM (или аналогами в Linux, например XCOM);
- Базовая библиотека классов — набор стандартных классов, совместимых с классами Microsoft .NET Framework;
- Библиотека классов Mono — набор классов, поддерживающих дополнительные функции для разработки Linux-приложений. Например, классы для поддержки Zip, OpenGL, Cairo, Gtk+.
Данный пакет ставится автоматически при установке Wine из репозитория версии 4.4.
Установка Gecko
Gecko – это свободный движок вывода веб-страниц для браузера при работе в интернете wine. Если wine не работает с интернетом и вы не запускаете windows.exe браузер, то вам Gecko не нужен.
Обычно при запуске приложения для работы с веб-страницами Wine автоматически ищет Gecko сперва в /usr/share/wine/gecko. Если Wine не находит архив с Gecko там, то он автоматически загружает его из интернета, но некоторые приложения не любят ждать, пока загрузиться Gecko и зависают или вылетают.
Данный пакет ставится автоматически при установке Wine из репозитория версии 4.4.
Виртуальный рабочий стол в Wine
Имитация рабочего стола Windows в wine необходима для решения проблем, связанных с разрешением экрана, а также при сворачивании программ в wine.
Рабочий стол можно включить через winecfg.
Запущенная программа размещается в рамках виртуального рабочего стола.
Также есть возможность запустить рабочий стол, не используя интерфейс:
wine explorer /desktop="desk",800x600 regedit
explorer — проводник Windows;
- /desktop="desk",800x600 regedit — создать рабочий стол с именем desk и разрешением 800х600, затем запустить программу regedit (редактор реестра).
Углубление в функционал Wine
Wineconsole — позволяет запускать консоль windows, в основном используется для отладки.
wineconsole cmd
Wineserver — служба, исполняющая роль ядра Windows. Для каждого префикса запускается своя служба, что позволяет выполнять одновременно несколько программ из разных префиксов.
В случаях, когда программа зависла, поможет перезапуск winserver (жесткая перезагрузка):
wineserver -k
или с префиксом:
WINEPREFIX="/home/$USER/.wine_prefix" wineserver -k
- wineserver -d[n]: — выводит отладочную информацию, имеет 3 уровня:
0 — не выводит информацию;
1 — выводит основную информацию;
2 — выводит полную информацию.
wineserver -f: — выводит сервер на передний план для упрощения отладки;
wineserver -p[n]: — определяет время до остановки сервера, когда все клиентские процессы завершились, что позволяет быстрее запускать приложения, по умолчанию 3 секунды, если значение n не указано, сервер будет работать вечно;
wineserver -w: — ожидает завершения предыдущей сессии ядра для корректного старта новой сессии.
Wineboot - выполняет инициализацию, запуск и перезагрузку префикса. Также выполняет симуляцию перезапуска и завершения работы программ (мягкая перезагрузка).
wineboot -r
Создание префикса через wineboot:
WINEPREFIX="/home/$USER/.wine_prefix" wineboot -i
-i — инициализировать префикс.
Дата последнего изменения: 18.09.2023
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.