Отдельные директории в Wine

Опубликовано 25 Июня, 2008 под тегами Wine, Soft

Иногда оказывается нужно установить какое-либо приложение отдельно от остальных. Например, если требуются особые настройки аудио, или установка большого числа пакетов от M$ (что может нарушить работоспособность других приложений).

Для этой цели раньше существовала утилитка wineprefixcreate. Сейчас она по-прежнему существует, но является неподдерживаемой и хранится только для обратной совместимости.

Вместо этого, всю структуру создает winecfg, ориентируясь на переменную окружения WINEPREFIX.

Рассмотрим пример. Скажем, вы хотите установить отдельно от всего остального пакет M$ Office. Логично будет назвать новый префикс, например, так: .office

Есть, строго говоря, два спозоба задания переменных окружения. Первый - это export в bash или setenv в tcsh:

$ export WINEPREFIX="/home/user/.office"
$ setenv WINEPREFIX "/home/user/.office"

Он хорош многим, однако стоит помнить, что переменная хранится в текущей сессии оболочки (или, проще говоря, в одном открытом окне терминала). Таким образом, скажем, в одной сессии можно сделать так:

$ export WINEPREFIX="/home/user/.office"
$ winecfg
$ wine /media/cdrom/setup.exe

После установки все будет неплохо работать. Однако, если из терминала запускать просто

$ wine "C:\Program Files\Office\Word.exe"

то wine будет искать ворд в стандартном префиксе /home/user/.wine, где, естественно, ничего не найдет. Чтобы не мучиться с export, существует команда env. В контексте используем так:

$ env WINEPREFIX="/home/user/.office" wine "C:\Program Files\Office\Word.exe"

И вуаля, все работает.

См. также man env, man wineprefixcreate