У меня есть вина с несколькими играми, большинство из которых работают сказочно. Однако, вино создает каталоги в моем доме для данных игрока, сохраняет и т. Д.
Есть ли способ иметь их в ~ / .winesaves или что-то подобное? Я хотел бы, чтобы вино не засоряло мой домашний каталог.
(вино: 1.5.27, игра рассматривалась как SCII и DE: IW)
edit to уточните:
Все в ~ / .wine отлично и хорошо, но я не хочу, чтобы приложения создавали ~ / GameSave или понравилось.
Возможно, вам придется экспериментировать с опцией sandbox, присутствующей в winetricks, что может помочь вам, поскольку все символические ссылки Wine на $HOME удаляются, когда этот параметр применяется к WINPREFIX по умолчанию с winetricks sandbox ,
Однако wine все еще имеет разрешения пользователя в домашней папке, и часто при установке новой программы действие в установке может привести к удалению изолированной изолированной панели. Таким образом, это не настоящая «песочница», но она может быть полезна для вашего случая использования.
В официальном визовом FAQ отмечается:
У Winetricks есть глагол песочницы, который выполняет хотя бы частичную работу по изоляции программ Wine от остальной части вашей системы. Он защищает от ошибок, а не от злости. Это полезно, например, для сохранения сохраненных игр в случайных подкаталогах вашего домашнего каталога.В официальном номере FAQ объясняется, что
У Winetricks есть глагол sandbox, который выполняет хотя бы частичную работу по изоляции Wine программ из остальной части вашей системы. Он защищает от ошибок, а не от злости. Это полезно, например, для сохранения сохраненных игр в случайных подкаталогах вашего домашнего каталога.
Если вы хотите изолировать приложение, чтобы оно ничего не сохраняло в вашем домашнем каталоге, вы можете попробовать «песочницу winetricks». Это приведет к удалению символических ссылок в ваш домашний каталог. Сделайте это, прежде чем сохранять какие-либо данные, или вам придется скопировать старые сохраненные данные из вашего домашнего каталога в $ WINEPREFIX / drive_c / users / $ USERNAME.
Вероятность использования опции «песочница», возможно, потребуется использовать повторно, то есть включить ее в сценарий запуска, который запускает winetricks sandbox, а затем запускает вашу игру, так как ряд вещей в wine может вызвать перестройку символических ссылок. Папка сэкономленных вами сохраненных файлов должна быть перенесена в ваш WINEPREFIX, например /home/$USER/.wine/drive_c/users/$USER/"My Documents", чтобы вы могли возобновить игру. Если wine только что создал папку с именем ~/gamesaves, просто переместите эту папку в указанное выше место. В противном случае обратите внимание на структуру каталогов; если папка сохранения игры ~/Documents/Syberia/save убедитесь, что вы создали эквивалент в /home/$USER/.wine/drive_c/users/$USER/"My Documents". Когда вы установите игру в будущем, убедитесь, что вы запускаете winetricks sandbox в начале, так что игра автоматически начнет использовать ваш WINEPREFIX в качестве места сохранения, а не папку в вашем $HOME.Что сработало для меня, было создать обертку вокруг wine, которая запустила wine с другим HOME. Например. вы можете создать свой собственный ~/bin/wine (предполагая, что ~/bin находится в вашем PATH), который устанавливает:
#!/bin/sh
export "HOME=$HOME/.wine/home"
exec /usr/bin/wine "$@"
С пустым WINEPREFIX (~/.wine/), Wine создаст символические ссылки на собственный частный домашний каталог в ~/.wine/home/.
Вы можете расширить это до нескольких оболочек для разных префикс Wine (например, для 32-разрядных и 64-битных).
Если у вас установлен bubblewrap, вы можете использовать его механизмы для ограничения доступа к файловой системе.
Example1. Вы хотите, чтобы вино имело доступ к ~/.wine, ~/Downloads, но больше ничего. Вы можете использовать эту команду тогда:
bwrap --dev-bind / / --tmpfs ~ --bind ~/.wine ~/.wine --bind ~/Downloads ~/Downloads --new-session wine ~/.wine/path-to-your-program
В приведенной выше команде мы создаем новое пространство имен, свяжем корневой файл /, привязываем файловую систему в памяти к [ f6] и привязать две директории над ~. Любые изменения, сделанные за пределами этих 2-х директорий, перейдут в tmpfs и будут потеряны после выхода из пузыря (и вашей программы).
Example1. Вам не нужны сложные иерархии, вы просто хочу, чтобы все связанные с вином вещи жили в ~/.bubblewrap-wine-container. И нигде больше. В этом случае вы можете использовать:
bwrap --dev-bind / / --bind ~/.bubblewrap-wine-container ~ --new-session wine path-to-your-program-relative-to-this-directory
Если вы хотите запретить доступ в Интернет для любого из этих примеров, добавьте аргумент --unshare-net. Или, может быть, даже --unshare-all, чтобы увидеть, будет ли он запускаться. Дополнительную информацию см. В документации к пузырьковой ловушке.
Wine сохраняет свою структуру каталогов в ~ / .wine для эмуляции структуры каталогов Windows, поэтому программы, запущенные под вином, не могут получить доступ к верхним уровням иерархии по умолчанию. Это зависит от конечного приложения (или игры), где он хранит свои данные. Вы можете сделать символическую ссылку для размещения каталога .wine в другом месте. Что-то вроде:
cd ~; sudo -s
mv .wine /var/cache/wine && ln -s /var/cache/wine ~/.wine
Объяснение этих команд: 1. Перейдите в свой домашний каталог. Станьте пользователем root 2. Переместите каталог .wine в нужное место (в этом примере это / var / cache / wine, если успех делает мягким (символическое [я советую вам прочитать ссылку «man ln») из / var / cache / wine to you_home_dir / .wine.