.
Оглавление |
---|
Информация | ||
---|---|---|
| ||
Информация | ||
---|---|---|
| ||
|
Предупреждение | ||
---|---|---|
| ||
Wine, как и иное программное обеспечение из расширенного репозитория, является сторонним по отношению к Astra Linux, не дорабатывается с точки зрения выполнения требований по безопасности информации и не проверяется при сертификации. При использовании программного обеспечения расширенного репозитория рекомендуется для дополнительной изоляции процессов осуществлять их запуск в изолированной программной среде (контейнере) [п. 7.2 РукКСЗ1]. При использовании для этих целей Docker-контейнеров их запуск целесообразно осуществлять от имени непривилегированного пользователя в rootless-режиме, а при включенном мандатном контроле целостности (МКЦ) с применением технологии запуска контейнеров на пониженном [п. 7.2.1] или выделенном [п. 7.2.7] уровне МКЦ. |
Аннотация
Hide If | ||
---|---|---|
| ||
|
Установка Wine на Astra Linux
Общая информация о Wine
Принцип работы Wine
- Перехват вызовов API: Когда приложение для Microsoft Windows выполняет вызов API, этот вызов перехватывается Wine.
- Трансляция вызовов: Wine переводит вызовы API в эквивалентные вызовы для Unix-подобной операционной системы.
- Исполнение и обратная связь: Unix-подобная операционная система выполняет соответствующие действия и возвращает результаты обратно в запущенное с помощью Wine приложение.
Особенности Wine
- Wine не эмулирует всю операционную систему, а реализует API для запускаемых приложений и обеспечивает совместимость на уровне исходного кода без необходимости в эмуляции или виртуализации;
- Для работы с Wine не требуется лицензия на Microsoft Windows;
- Разработчиками не гарантируется работоспособность части функций запускаемых приложений;
- Существуют как 32-битные, так и 64-битные версии Wine. 64-битная версия может запускать 32-битные приложения.
Виды сборок и актуальные версии Wine для ОС Astra Linux
Вид сборки | Описание | Актуальная версия | ||
---|---|---|---|---|
stable | Стабильная ветка | 4.0 и 7.0.x | ||
devel | Разрабатываемая ветка | 7.13 | ||
staging | Экспериментальная ветка. Содержит набор нестабильных исправлений и функциональных возможностей. Не рекомендуется для использования без конкретных целей. | 7.13 | ||
cpro | Разрабатываемая ветка с поддержкой СКЗИ КриптоПРО
| 7.0 | ||
Специализированные сборки под конкретное программное изделие | Адаптируются под конкретное изделие. Примеры: T-Flex CAD, Справки БК, InnovaSystem LIS. | Зависит от конкретного программного изделия и его версии |
Функционал Wine
winefile
— аналог Проводника Microsoft Windows, запуск:Command winefile
wineconsole
— аналог консоли Microsoft Windows, запуск:
Command wineconsole cmd
wineserver
— служба, выполняющая роль ядра ОС Windows. Для каждого префикса запускается своя служба, что позволяет одновременно выполнять несколько программ из разных префиксов.
Основные опции:- Ожидание завершения всех процессов перед остановкой сервера. Позволяет стандартно останавливать работу приложений:
Command wineserver -w
- Принудительный перезапуск службы:
Command wineserver -k
- Принудительный перезапуск для префикса:
Command WINEPREFIX="/home/$USER/.wine_prefix" wineserver -k
- Режим отладки:
Command wineserver -d[n]
Где значение
n
— режим вывода информации:0 — без вывода;
1 — выводить основную информацию;
2 или выше — выводить более полную информацию.
Допустим ввод значений в диапазоне от 0 до 99. - Запуск сервера на переднем плане, используется для отладки приложений:
Command wineserver -f
- Справка по командам:
Command wineserver -h
- Ожидание завершения всех процессов перед остановкой сервера. Позволяет стандартно останавливать работу приложений:
wineboot
— служба, выполняющая инициализацию, запуск и перезагрузку префикса. Так же она выполняет симуляцию завершения работы и перезапуска для программ, запущенных в префиксе.
Основные опции:Завершение текущего сеанса пользователя:
Command wineboot -e
- Завершение текущего сеанса пользователя и запуск нового сеанса. Используется при измениях в приложениях, не требующих полной перезагрузки:
Command wineboot -u
- Принудительное завершение всех процессов:
Command wineboot -f
- Принудительное завершение всех процессов и завершение работы Wine. Имитирует выключение компьютера:
Command wineboot -k
regedit
— аналог редактора реестра Windows. Настройки, которыми можно управлять черезwinecfg
иwinetricks
, сохраняются в ветку реестраHKEY_CURRENT_USER\Software\Wine
, запуск:Command wine regedit
Информация Если в реестр нужно добавить запись для 64-битных приложений, нужно использовать команду
wine64
Для импорта в реестр
.reg
файла выполнить:Command wine regedit <имя_файла>.reg
winecfg
— программа для настройки префикса, запуск:Command winecfg
Основные вкладки:- Приложения — выбор того, под какую версию Windows будет адаптирован префикс:
- Библиотеки — управление библиотеками, подключение сторонних DLL:
- Диски — подключение виртуальных и физических разделов, DVD-приводов, сетевых дисков. При создании префикса по умолчанию подключено два виртуальных диска — C: и Z:. Диск C: является системным каталогом префикса, а диск Z: ведет в корень файловой системы Astra Linux:
- Приложения — выбор того, под какую версию Windows будет адаптирован префикс:
Узнать версию Wine:
Command |
---|
|
Вывести справку для Wine:
Command |
---|
|
или:
Command |
---|
|
Ресурсы Wine
Получить список файлов установленного Wine :
Command |
---|
dpkg -L wine-<вид_сборки> |
Для сборки staging команда будет:
Command |
---|
|
Отдельно следует отметить служебные каталоги:
- Для Wine 7.0.x, установленного из репозитория Astra Linux Special Edition 1.7 или из deb-пакета используется каталог
/usr/share/wine
. Исполняемые файлы располагаются в каталоге/usr/bin/;
- Для Wine, установленного из сторонних источников, используется каталог
/opt/<установленная_версия_wine> (библиотеки)
Исполняемые файлы располагаются в каталоге/opt/<установленная_версия_wine>/bin/
. Таким образом, каждая версия устанавливается в отдельный каталог, что позволяет установить одновременно несколько версий и позволяет использовать использовать.
Пользовательские файлы Wine располагаются в пользовательских каталогах в так называемых префиксах - см. Что такое префикс? Что располагается в префиксе?.
Hide If | |||||
---|---|---|---|---|---|
| |||||
|
Якорь | ||||
---|---|---|---|---|
|
Префиксы - подкаталоги в домашнем каталоге пользователя. В префиксы Wine помещает все файлы, относящиеся к приложениям Windows, установленным пользователем: ПО Windows, библиотеки, реестр. В том числе:
dosdevices
— каталог, в котором перечислены виртуальные диски. В Windows разделы блочных устройств представлены в виде абстрактных дисков (томов), каждый из которых обозначается буквой. К примеру, системный диск по умолчанию называется "C:";drive_c
— виртуальный диск C:, на котором располагаются компоненты Windows;update-timestamp
— метка времени;system.reg
,user.reg
иuserdef.reg
— файлы реестра Windows, которые являются централизованным древовидным хранилищем настроек Windows-программ,
заменяют — HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER и HKEY_HKEY_USERS\.Default соответственно;winetricks.log
— файл, содержащий список команд использованных при настройке префикса черезwinetricks
.
Префикс общего назначения имеет название .wine
. Для некоторых приложений могут создаваться свои префиксы, например для Internet Explorer — .wine-IE8
. Используемый по умолчанию префикс можно задать в переменной окружения WINEPREFIX:
Command |
---|
export WINEPREFIX=~/.wine |
Префикс также можно указать при запуске программы, переопределив переменную окружения. Например, для запуска Internet Explorer в префиксе .wine-IE8
:
Command |
---|
WINEPREFIX=~/.wine-IE8 /opt/wine-7.13/bin/wine ~/.wine-IE8/drive_c/Program\ Files/Internet\ Explorer/iexplore.exe |
Информация |
---|
Если в имени папок содержится пробел, путь к файлу следует указывать в кавычках, например |
Указание префиксов и архитектур через переменные окружения
Как указано в предыдущем разделе, префикс может быть задан значением переменной окружения WINEPREFIX. Аналогично могут использоваться следующие переменные окружения:
WINE — путь к исполняемому файлу
wine
. Например:Command export WINE=/opt/wine-7.13/bin/wine
WINEARCH — используемая архитектура префикса. Допустимые значения: win32 и win64. Например:
Command export WINEARCH=win32
Информация В 64-битной версии Wine по умолчанию используется 64-битная архитектура.
Значения переменных окружения, заданные с помощью команды export
, сохраняются до выхода из пользовательской сессии и применяются глобально ко всем командам. По необходимости для отдельных команд можно переопределить значения переменных. Например, если одновременно используются Internet Explorer и iexplore, имеющие разные префиксы и архитектуры, то команды для их запуска могут быть такими:
Internet Explorer (префикс - wine-IE8, архитектура - win32):
Command WINEPREFIX=~/.wine-IE8 WINEARCH=win32 $WINE ~/.wine-IE8/drive_c/Program\ Files/Internet\ Explorer/iexplore.exe iexplore (префикс - wine, архитектура - win64):
Command WINEPREFIX=~/.wine WINEARCH=win64 $WINE iexplore
Для того, чтобы удалить ранее заданную переменную окружения, можно использовать команду unset
:
Command |
---|
unset WINEARCH |
Якорь | ||||
---|---|---|---|---|
|
Для создания префикса с 32-разрядной архитектурой выполнить следующие команды:
Создать переменную окружения с указанием архитектуры:
Command export WINEARCH=win32
После задания переменной окружения префиксы, которые будут создаваться в текущем сеансе терминала Fly, будут иметь 32-разрядную архитектуру.
Выполнить команду для создания префикса:
Command wineboot
Команду wineboot
можно не выполнять, а вместо нее сразу выполнить команду winetricks
с установкой необходимых пакетов из Winetricks <СДЕЛАТЬ ССЫЛКУ>. Нужный префикс (.wine
) при этом будет создан автоматически.
Запуск приложений
Запуск файлов в Wine в форматах .exe, .msi, .msp, .bat, .application
Информация |
---|
Wine, доступный в расширенном репозитории Astra Linux Special Edition 1.7, поддерживает только 64-разрядную архитектуру. |
.exe:
Command wine <имя_файла>.exe
.msi:
Command wine msiexec /i <имя_файла>.msi
.msp:
Command wine msiexec /p <имя_файла>.msp
.bat:
Command wine start <имя_файла>.application
.application (для запуска требуется компонент .NET):
Command winetricks -q <имя_компонента>
wine start <имя_файла>.application
Запуск Wine от имени суперпользователя
Предупреждение | ||
---|---|---|
Запускать Wine в сессии суперпользователя ( Если ранее осуществлялся запуск Wine с использованием
Если префикс был создан в сессии суперпользователя ( |
Удаление приложений в Wine
- Запуск графического инструмента Wine для удаления приложений:
Command wine uninstaller
- Чтобы удалить приложение из префикса нужно выполнить:
Command WINEPREFIX="/home/$USER/.wine" wine uninstaller
Информация Графический инструмент позволяет устанавливать приложения, для этого необходимо нажать на кнопку Установить в окне графического инструмента и указать путь к установочному файлу в открывшемся диалоговом окне
- Чтобы удалить приложение без графического инструмента Wine необходимо выполнить:
Command wine uninstaller --remove <название_программы>
- Wine позволяет удалять установленные в нем приложения средствами самого приложения, для этого нужно запустить деинсталятор как обычный файл с расширением .
exe
:Command wine /<путь_к_папке_с_программой>/uninstall.exe
Запуск ПО 32-разрядной архитектуры в Wine в Astra Linux Special Edition РУСБ.10015-01 и РУСБ.10015-10 (очередное обновление 1.7)
Для запуска 32-разрядных приложений в Astra Linux Special Edition 1.7 требуется:
- Использовать Wine версии 7.0.1, который можно скачать по ссылке: wine_7.0.1-0-astra-se17_lsb_amd64.deb;
- Создать 32-разрядный префикс.
Internet Explorer и iexplore
Internet Explorer и iexplore - это два разных Web-браузера, которые можно использовать в среде Wine:
- Internet Explorer (IE, IE8) — приложение Microsoft Windows, которое может быть установлено и запущено в 32-битной среде Wine;
- iexplore — приложение Wine, которое устанавливается вместе с Wine работает в 64-битном префиксе.
Запуск iexplore в Wine
Для запуска iexplore:
- УстановитьWine (см.Установка wine на Astra Linux) и настроить переменные окружения;
Выполнить команду:
Command $WINE iexplore Предполагается, что в переменной окружения
wine
сохранен путь к исполняемому файлу Wine.
Установка и запуск Internet Explorer (IE) в Wine
Информация |
---|
Версии IE выше версии 8 в Wine не работоспособны. Версия 8 (IE8) работает стабильно с Wine версий 7.0.1 и 7.13. Далее рассматривается работа с версий 7.13. |
Для установки IE8 требуется:
Проверить, включена ли блокировка трассировки
ptrace
:Command sudo astra-ptrace-lock status
если блокировка включена (активна), то отключить блокировку:
Command sudo astra-ptrace-lock disable
и перезагрузить компьютер;
Загрузить и установить Wine 7.13. См. Установка wine на Astra Linux;
Установить пакет
cabextract
:Command sudo apt install cabextract
Создать 32-разрядный префикс Wine и установить приложение:
Command export WINEPREFIX=~/.wine-IE8
export WINEARCH=win32
export WINE=/opt/wine-7.13/bin/wine
winetricks ie8
winetricks -q msxml6 win2kПри выполнении команд будет задан вопрос про необходимость установки компонента Mono. Для использования IE8 этот компонент не требуется, и от его установки можно отказаться.
Запуск IE8 осуществляется командой:
Command |
---|
$WINE ~/.wine-IE8/drive_c/Program\ Files/Internet\ Explorer/iexplore.exe |
Удаление Wine
Способ удаления Wine зависит от того, каким образом был установлен инструмент: через пакетный менеджер или вручную в каталог /opt/
.
- При установке через пакетный менеджер удалить:
- Основной пакет:
Command sudo apt remove purge wine
- Конфигурационные файлы:
Command sudo apt autoremove
sudo apt clean
- Пользовательские данные (опционально):
Command rm -rf ~/.wine
- Удалить дополнительный пакет
winetricks
(если он был установлен изначально):Command sudo apt remove --purge winetricks
- Основной пакет:
- Удаление Wine, установленного в
/opt/
:- Удалить каталог, в который был установлен Wine. Например, если Wine установлен в
/opt/wine-9.6
:Command sudo rm -rf /opt/wine-9.6
- Удалить пользовательские данные для
WINEPREFIX
(опционально):Command rm -rf ~/wineprefixes
- Удалить каталог, в который был установлен Wine. Например, если Wine установлен в
После выполнения шагов по удалению Wine, убедиться, что wine
больше не доступен в системе:
Command | ||
---|---|---|
| ||
|
...