MyTetra Share
Делитесь знаниями!
Что такое WINEPREFIX? Как пользоваться WINEPREFIX в Wine?
Время создания: 19.02.2012 22:01
Текстовые метки: linux, windows, wine, wineprefix
Раздел: Компьютер - Linux - Виртуализация и эмуляция - Wine
Запись: xintrea/mytetra_syncro/master/base/1329678072f05gnt9i8x/text.html на raw.github.com

Что такое WINEPREFIX?


WINEPREFIX - это переменная окружения, которая содержит путь к каталогу, в котором разворачиваются файлы ОС Windows и файлы программы, которая должна запускаться под Wine. Обычно для каждой Windows-программы создается отдельный "префикс" - то есть отдельный каталог, с которым работает Wine. Это необходимо из-за того, что зачастую приходится тонко настраивать Wine для каждой программы в отдельности.



Примечание: название WINEPREFIX (префикс) - очень неудачное и путает пользователя. Гораздо правильнее было бы называть данную сущность профилем. Тогда можно было бы говорить, что каждый профиль Wine со своей программой - это отдельный каталог. Такая формулировка гораздо проще для понимания.



Обычно, любая консольная команда, запускающая программу wine и другие программы из этого пакета, строится по следующему шаблону:



WINEPREFIX=путь/к/префиксу wine [опции]



Здесь используется тот факт, что шелл bash позволяет создавать переменные окружения прямо в исполняемой команде, помещая их перед именем бинарника.


Вот реальные примеры:



WINEPREFIX=$HOME/wine-wow/ wine "C:\Program Files\WoW\WoW.exe" -opengl

WINEARCH=win64 WINEPREFIX=/opt/msoffice2017 wineboot -u

WINEPREFIX=/opt/msoffice2017 winetricks -q msxml6

WINEPREFIX=/opt/msoffice2017 wine64 setup.exe



Что находится в каталоге WINEPREFIX?


Каталог WINEPREFIX содержит файлы настроек wine и подкаталог диска C:. Типичное содержимое каталога-префикса следующее:



(Если WINEPREFIX=/opt/msoffice2017, тогда)


$ cd /opt/msoffice2017

$ ls -la

drwxr-xr-x [DIR] 4096 янв 26 10:37 dosdevices

drwxr-xr-x [DIR] 4096 янв 26 10:38 drive_c

-rw-r--r-- 3181994 янв 26 11:02 system.reg

-rw-r--r-- 12 янв 26 10:07 .update-timestamp

-rw-r--r-- 3602 янв 26 10:07 userdef.reg

-rw-r--r-- 145291 янв 26 10:41 user.reg

-rw-r--r-- 84 янв 26 10:20 winetricks.log



В подкаталоге /drive_c будут находиться знакомые Windows-пользователям папки:



$ cd /opt/msoffice2017/drive_c

$ ls -la

drwxr-xr-x [DIR] 4096 янв 26 10:36 install

drwx------ [DIR] 4096 янв 26 10:38 MSOCache

drwxr-xr-x [DIR] 4096 янв 26 10:38 ProgramData

drwxr-xr-x [DIR] 4096 янв 26 10:38 'Program Files'

drwxr-xr-x [DIR] 4096 янв 26 10:07 users

drwxr-xr-x [DIR] 4096 янв 26 11:02 windows



По сути, каталог /drive_c - это диск C: эмулируемой системы. Как видно, содержимое каталога C: не похоже на полноценную установку WIndows. Почему так? Потому что wine эмулирует минимальную и достаточную вариацию Windows. Плюс, если какого-то системного файла нет в глубинах подкаталога /drive_c, этот файл будет взят из "внутренностей" Wine (если он, конечно, там есть).



Как создать WINEPREFIX для устанавливаемой программы?


Для создания каталога WINEPREFIX и его первичного наполнения используется следующая команда (на примере /opt/msoffice2017):



WINEARCH=win32 WINEPREFIX=/opt/msoffice2017 wineboot -u



Или для создания префикса под 64-bit:



WINEARCH=win64 WINEPREFIX=/opt/msoffice2017 wineboot -u



После создания префикса информация о битности запоминается где-то в глубинах файла /opt/msoffice2017/system.reg, и при последующих запусках wine или других утилит, достаточно указывать только WINEPREFIX.


 
MyTetra Share v.0.59
Яндекс индекс цитирования