Как сохранить вино от создания каталогов в моем домашнем каталоге?

У меня есть вина с несколькими играми, большинство из которых работают сказочно. Однако, вино создает каталоги в моем доме для данных игрока, сохраняет и т. Д.

Есть ли способ иметь их в ~ / .winesaves или что-то подобное? Я хотел бы, чтобы вино не засоряло мой домашний каталог.

(вино: 1.5.27, игра рассматривалась как SCII и DE: IW)

edit to уточните:

Все в ~ / .wine отлично и хорошо, но я не хочу, чтобы приложения создавали ~ / GameSave или понравилось.

1
задан 8 April 2013 в 02:08

4 ответа

Возможно, вам придется экспериментировать с опцией 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.
7
ответ дан 24 May 2018 в 23:47
  • 1
    Очень хорошо, спасибо! Просто небольшая коррекция: Переместите ~ / * в /home/$USER/.wine/drive_c/users/$USER/*My документы * – Michael Schubert 9 April 2013 в 01:13
  • 2
    @ user538603 Спасибо, быстро отредактировано. – user 9 April 2013 в 01:16

Что сработало для меня, было создать обертку вокруг 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-битных).

0
ответ дан 24 May 2018 в 23:47

Если у вас установлен 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, чтобы увидеть, будет ли он запускаться. Дополнительную информацию см. В документации к пузырьковой ловушке.

0
ответ дан 24 May 2018 в 23:47

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.

-3
ответ дан 24 May 2018 в 23:47
  • 1
    Я не вижу, как это заставило приложения создавать каталоги в ~ (я доволен тем, что вино делает то, что ему нравится в ~ / .wine). – Michael Schubert 8 April 2013 в 02:06
  • 2
    Программы @Kwinto под Wine могут получать доступ к верхним уровням иерархии. / установлен в Wine как Z:\ . Кроме того, некоторые каталоги в C:\ сопоставляются с каталогами вне .wine, такими как каталоги, которые являются частью профиля пользователя. Вероятно, именно эти файлы создаются для OP. – Eliah Kagan 8 April 2013 в 02:06
  • 3
    @ user538603 Они не будут создавать вспомогательные каталоги в ~ / .wine, но в / var / cache / wine. Если вы имеете в виду подкаталоги в ~ то, вы также можете создавать для них мягкие ссылки. – Kwinto 8 April 2013 в 02:12

Другие вопросы по тегам:

Похожие вопросы: