Frage Wie kann ich verhindern, dass Wein Verzeichnisse in meinem Home-Verzeichnis erstellt?


Ich habe eine Weininstallation mit ein paar Spielen, von denen die meisten fabelhaft funktionieren. Wein schafft jedoch Verzeichnisse in meinem Haus für die Spielerdaten, spart, etc.

Gibt es einen Weg, diese in ~ / .winesaves oder etwas ähnliches zu haben? Ich würde den Wein lieber nicht in meinem Heimatverzeichnis finden.

(Wein: 1.5.27, Spiel war SCII und DE: IW)


edit um zu klären:

Alles in ~ / .wine ist gut und gut, aber ich möchte nicht, dass Anwendungen ~ / GameSaves oder Ähnliches erstellen.


4
2018-04-07 20:35


Ursprung


Sie könnten versuchen, sudo zu verwenden, um die Weinordner in das Home-Verzeichnis eines anderen Benutzers zu stellen.


Antworten:


Sie müssen möglicherweise mit dem experimentieren sandbox Option vorhanden in winetricks, die dir wie alle helfen können Wine Symlinks zu $HOME werden entfernt, wenn diese Einstellung auf den Standard-WINEPREFIX mit angewendet wird winetricks sandbox.

Jedoch, wine hat immer noch die Berechtigungen Ihres Benutzers im Home-Ordner, und oft kann bei der Installation eines neuen Programms eine Aktion in der Installation das Entfernen der Sandbox auslösen. Es ist also nicht wirklich eine echte "Sandbox", aber es kann für Ihren Anwendungsfall hilfreich sein.

Bei der offizielle Wein FAQ Es wird bemerkt, dass:

Winetricks hat ein Sandbox-Verb, das Wine-Programme zumindest teilweise vom Rest des Systems isoliert. Es schützt vor Fehlern statt vor Bosheit. Dies ist beispielsweise nützlich, wenn Sie verhindern möchten, dass Spiele ihre Einstellungen in zufälligen Unterverzeichnissen Ihres Home-Verzeichnisses speichern.

Auf der offizielle winetricks Seitees wird erklärt, dass

Wenn Sie eine App so isolieren möchten, dass sie nichts in Ihrem Home-Verzeichnis speichert, können Sie 'winetricks sandbox' ausprobieren. Dadurch werden die symbolischen Links zu Ihrem Home-Verzeichnis entfernt. Tun Sie dies, bevor Sie Daten speichern, oder Sie müssen alte gespeicherte Daten aus Ihrem Home-Verzeichnis in $ WINEPREFIX / drive_c / users / $ USERNAME kopieren.

Wichtige Notizen

  • Die Wein-Sandbox-Option muss wahrscheinlich wiederholt verwendet werden, d. H. Sie muss in ein laufendes Startprogramm aufgenommen werden winetricks sandbox und startet dann Ihr Spiel als eine Anzahl von Dingen in wine kann die Neuerstellung der Symlinks auslösen.

  • Der Speicherordner, den Sie bereits erstellt haben, muss auf Ihren WINEPREFIX verschoben werden, z /home/$USER/.wine/drive_c/users/$USER/"My Documents" damit du dein Spiel fortsetzen kannst. Ob wine hat gerade einen Ordner namens erstellt ~/gamesavesVerschieben Sie den Ordner einfach an den oben genannten Speicherort. Andernfalls beobachten Sie die Verzeichnisstruktur. wenn ein Spielspeicherordner ist ~/Documents/Syberia/save Stellen Sie sicher, dass Sie ein Äquivalent in erstellen /home/$USER/.wine/drive_c/users/$USER/"My Documents".

  • Wenn du ein Spiel in der Zukunft installierst, stelle sicher, dass du es spielst winetricks sandbox zu Beginn, damit das Spiel automatisch mit Ihrem WINEPREFIX als Speicherort und nicht mit einem Ordner in Ihrem starten wird $HOME.


7
2018-04-08 19:13



Sehr Schön. Danke! Nur eine kleine Korrektur: Verschieben Sie ~ / * nach /home/$USER/.wine/drive_c/users/$USER/*My Documents * - Michael Schubert
@ user538603 Danke, schnelle Bearbeitung erledigt.


Was für mich funktionierte, war einen Wrapper zu erstellen wine das startete wine mit einem anderen HOME. Z.B. Sie können Ihre eigenen erstellen ~/bin/wine (angenommen ~/bin ist in dir PATH), die setzt:

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

Mit einem leeren WINEPREFIX (~/.wine/) Erstellt Wine die symbolischen Links zu seinem eigenen privaten Home - Verzeichnis in ~/.wine/home/.

Sie können dies weiter auf mehrere Wrapper für verschiedene Wine-Präfixe erweitern (z. B. für 32-Bit im Vergleich zu 64-Bit).


0
2017-12-19 13:53





Wenn Sie haben bubblewrap installiert ist, können Sie seine Mechanismen verwenden, um den Dateisystemzugriff einzuschränken.

Beispiel 1. Du willst, dass Wein Zugang hat ~/.wine , ~/Downloads, aber nichts anderes. Sie können diesen Befehl dann verwenden:

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

Im obigen Befehl erstellen wir einen neuen Namespace, binden den Root /, binden Sie ein In-Memory-Dateisystem an ~, und binden Sie zwei Verzeichnisse über dem ~. Alle Änderungen, die außerhalb dieser 2 Verzeichnisse vorgenommen werden, gehen in tmpfs und gehen verloren, sobald bubblewrap (und Ihr Programm) beendet wird.

Beispiel2. Sie wollen keine komplexen Hierarchien, Sie wollen nur alles, was mit Wein zu tun hat ~/.bubblewrap-wine-container. Und nirgendwo sonst. In diesem Fall können Sie Folgendes verwenden:

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

Wenn du möchtest verbieten Internetzugang Für jedes dieser Beispiele fügen Sie hinzu --unshare-net Streit. Oder vielleicht sogar --unshare-all um zu sehen, ob es startet. Weitere Informationen finden Sie in der Dokumentation zu Blasenverpackungen.


0
2017-10-11 16:28





Wine behält seine Verzeichnisstruktur in ~ / .wine bei, um die Windows-Verzeichnisstruktur zu emulieren, sodass Programme, die unter "wine" ausgeführt werden, standardmäßig nicht auf die oberen Hierarchieebenen zugreifen können. Es hängt von der End-App (oder dem Spiel) ab, wo sie ihre Daten speichert. Sie können eine symbolische Verbindung herstellen, um das .wine-Verzeichnis an anderer Stelle zu platzieren. Etwas wie:

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

Erklärung dieser Befehle: 1. Gehen Sie zu Ihrem Home-Verzeichnis. Werde root-Benutzer 2. Verschiebe das .wine-Verzeichnis an den gewünschten Ort (in diesem Beispiel ist es / var / cache / wine, wenn der Erfolg einen weichen (symbolischen [Ich rate dir zum Lesen von 'man ln]) Link von / var / cache / wine zu you_home_dir macht /.Wein.


-3
2018-04-07 21:03



Ich sehe nicht, wie dies Anwendungen davon abhalten würde, Verzeichnisse in ~ zu erstellen (ich bin froh, dass Wein macht, was er in ~ / .wine mag). - Michael Schubert
@Kwinto Programme unter Wein kann Zugriff auf die oberen Hierarchieebenen. / ist in Wein als montiert Z:\ . Außerdem einige Verzeichnisse unter C:\  Zu Verzeichnissen außerhalb zuordnen .wineB. Verzeichnisse, die Teil des Benutzerprofils sind. Wahrscheinlich werden diese Dateien für das OP erstellt. - Eliah Kagan
@ user538603 Sie erstellen keine Unterverzeichnisse in ~ / .wine, sondern in / var / cache / wine. Wenn Sie Unterverzeichnisse in ~ meinen, können Sie auch weiche Links für sie erstellen. - Kwinto