Questão Como manter o vinho de criar diretórios no meu diretório home?


Eu tenho uma installtion de vinho com um par de jogos, a maioria dos quais trabalho fabulosamente. No entanto, o vinho cria diretórios em minha casa para os dados do player, salva, etc.

Existe uma maneira de ter aqueles em ~ / .winesaves ou algo similar? Eu preferiria que o vinho não jogasse lixo no meu diretório pessoal.

(vinho: 1.5.27, jogo em questão foi SCII e DE: IW)


editar para esclarecer:

Tudo em ~ / .wine é bom e bom, mas eu não quero que os aplicativos criem ~ / GameSaves ou os gostos.


4
2018-04-07 20:35


origem


Você pode tentar usar o sudo para colocar as pastas de vinho no diretório inicial do usuário.


Respostas:


Você pode precisar experimentar com o sandbox opção presente em winetricks, que pode ajudá-lo como todo o Wine links simbólicos para $HOME são removidos quando essa configuração é aplicada ao WINEPREFIX padrão com winetricks sandbox.

Contudo, wine ainda tem as permissões do usuário na pasta base e, freqüentemente, ao instalar um novo programa, uma ação na instalação pode acionar a área de segurança a ser removida. Portanto, não é realmente uma verdadeira "sandbox", mas pode ser útil para o seu caso de uso.

No FAQ oficial do vinho Percebe-se que:

Winetricks tem um verbo sandbox que faz pelo menos um trabalho parcial de isolar os programas Wine do resto do seu sistema. Protege contra erros em vez de malícia. É útil para, por exemplo, impedir que os jogos salvem suas configurações em subdiretórios aleatórios do seu diretório pessoal.

No página oficial do winetricks, explica-se que

Se você quiser isolar um aplicativo para que ele não salve nada no seu diretório pessoal, você pode tentar o "sandbox winetricks". Isso removerá os links simbólicos para o seu diretório pessoal. Faça isso antes de salvar qualquer dado, ou você terá que copiar os dados salvos antigos de seu diretório pessoal para $ WINEPREFIX / drive_c / users / $ USERNAME.

Anotações importantes

  • A opção sandbox do wine provavelmente precisará ser usada repetidamente, ou seja, inclua-a em um script de inicialização que seja executado winetricks sandbox e, em seguida, lança o seu jogo, como uma série de coisas em wine pode acionar a reconstrução dos links simbólicos.

  • A pasta de salvamentos que você já gerou precisará ser movida para o seu WINEPREFIX, por exemplo /home/$USER/.wine/drive_c/users/$USER/"My Documents" para você retomar seu jogo. E se wine acaba de criar uma pasta chamada ~/gamesaves, simplesmente mova essa pasta para o local mencionado acima. Caso contrário, observe a estrutura de diretórios; se uma pasta de salvar jogos for ~/Documents/Syberia/save certifique-se de criar um equivalente em /home/$USER/.wine/drive_c/users/$USER/"My Documents".

  • Quando você instalar um jogo no futuro, certifique-se de executar winetricks sandbox no início, para que o jogo comece automaticamente a usar seu WINEPREFIX como o local de salvamento, e não uma pasta em seu $HOME.


7
2018-04-08 19:13



Muito legal, obrigada! Apenas uma pequena correção: mova ~ / * para /home/$USER/.wine/drive_c/users/$USER/*Meus documentos * - Michael Schubert
@ user538603 Obrigado, edição rápida feita.


O que funcionou para mim foi criar um wrapper wine que lançou wine com um diferente HOME. Por exemplo. você pode criar seu próprio ~/bin/wine (assumindo ~/bin está no seu PATH), que define:

#!/bin/sh
export "HOME=$HOME/.wine/home"
exec /usr/bin/wine "$@"

Com um vazio WINEPREFIX (~/.wine/), O Wine criará os links simbólicos para seu próprio diretório pessoal ~/.wine/home/.

Você pode expandir isso ainda mais para vários wrappers para diferentes prefixos do Wine (por exemplo, para 32 bits versus 64 bits).


0
2017-12-19 13:53





Se você tem bubblewrap instalado, você pode usar seus mecanismos para limitar o acesso ao sistema de arquivos.

Exemplo 1. Você quer que o vinho tenha acesso a ~/.wine , ~/Downloadsmas nada mais. Você pode usar este comando então:

bwrap --dev-bind / / --tmpfs ~ --bind ~/.wine ~/.wine --bind ~/Downloads ~/Downloads --new-session wine ~/.wine/path-to-your-program

No comando acima, criamos um novo namespace, ligamos a raiz /, ligue um sistema de arquivos na memória para ~e ligar dois diretórios acima do ~. Quaisquer mudanças feitas fora desses dois diretórios irão para o tmpfs e serão perdidas quando o bubblewrap (e seu programa) for encerrado.

Example2 Você não quer hierarquias complexas, você só quer que todas as coisas relacionadas ao vinho vivam ~/.bubblewrap-wine-container. E em nenhum outro lugar. Nesse caso, você pode usar:

bwrap --dev-bind / / --bind ~/.bubblewrap-wine-container ~ --new-session wine path-to-your-program-relative-to-this-directory

Se você quiser proibir o acesso à internet para qualquer um desses exemplos, adicione --unshare-net argumento. Ou talvez até --unshare-all para ver se vai lançar. Consulte a documentação do bubblewrap para mais detalhes.


0
2017-10-11 16:28





O Wine mantém sua estrutura de diretórios em ~ / .wine para emular a estrutura de diretório do Windows, portanto, programas executados sob wine não podem acessar os níveis superiores da hierarquia por padrão. Depende do aplicativo final (ou jogo), onde armazena seus dados. Você pode criar um link simbólico para colocar o diretório .wine em outro lugar. Algo como:

cd ~; sudo -s
mv .wine /var/cache/wine && ln -s /var/cache/wine ~/.wine

Explicação destes comandos: 1. Vá para o seu diretório pessoal. Torne-se usuário root 2. Mova o diretório .wine para o local desejado (neste exemplo é / var / cache / wine, se o sucesso fizer um link simbólico [aconselho você a ler o 'man ln') de / var / cache / wine para you_home_dir /.vinho.


-3
2018-04-07 21:03



Não vejo como isso impediria os aplicativos de criar diretórios em ~ (estou feliz com o vinho fazendo o que quiser em ~ / .wine). - Michael Schubert
@Kwinto Programas no Wine posso acessar os níveis superiores da hierarquia. / é montado em vinho como Z:\ . Além disso, alguns diretórios sob C:\  mapear para diretórios fora .wine, como diretórios que fazem parte do perfil do usuário. Provavelmente é como esses arquivos estão sendo criados para o OP. - Eliah Kagan
@ user538603 Eles não criarão subdiretórios em ~ / .wine, mas em / var / cache / wine. Se você quer dizer subdiretórios em ~ então você pode fazer links suaves para eles também. - Kwinto