diff --git a/README.md b/README.md index 59d1802234bc191581bf95a4790d63f8491aa5e3..8fde3a3cb4fc3d20f10e1803c920bc52ad84235d 100644 --- a/README.md +++ b/README.md @@ -76,6 +76,8 @@ newer libstdc++. This is not yet implemented. ### Protecting `$HOME` +(This feature is not being actively developed right now.) + If we change the meaning of `/home` for a game to be a fake app-specific directory, then the game can't write random files in unknown subdirectories of $HOME, and we can be reasonably sure that uninstalling @@ -435,11 +437,7 @@ interactive shell). - `--steam-app-id=70 --unshare-home` (when running from Steam you can use `--steam-app-id=${SteamAppId}`, which is the default) - Unchecking "Share real home directory" in the GUI launcher is the - same as `--unshare-home` on the command-line. It is an error to do - this without telling `pressure-vessel-wrap` what to use for the home - directory, either via `--fake-home`, `--freedesktop-app-id`, - `--steam-app-id`, or having the `SteamAppId` environment variable. + This feature is not being actively developed right now. Steam integration ----------------- @@ -548,6 +546,8 @@ increasingly long "adverb" command around the command to be run. ### Unsharing the home directory +(This feature is not being actively developed right now.) + Each game gets a private home directory in `~/.var/app`, the same as Flatpak apps do. The name of the private home directory follows the [naming recommendations from the freedesktop.org Desktop Entry diff --git a/pressure-vessel-test-ui b/pressure-vessel-test-ui index 7b241e452d48e0ce337075065864f8a6c8cf79be..31bc7ba37a31d7c5962db1850dbc4a24a069023a 100755 --- a/pressure-vessel-test-ui +++ b/pressure-vessel-test-ui @@ -43,6 +43,10 @@ from gi.repository import Gtk logger = logging.getLogger('pressure-vessel-test-ui') +# This doesn't fully work yet. Hack at own risk. +CAN_UNSHARE_HOME = False + + class Gui: def __init__(self): # type: (...) -> None @@ -104,13 +108,16 @@ class Gui: row += 1 - self.share_home_check = Gtk.CheckButton.new_with_label( - 'Share real home directory' - ) - self.share_home_check.set_active(True) - self.grid.attach(self.share_home_check, 1, row, 1, 1) + if CAN_UNSHARE_HOME: + self.share_home_check = Gtk.CheckButton.new_with_label( + 'Share real home directory' + ) + self.share_home_check.set_active(True) + self.grid.attach(self.share_home_check, 1, row, 1, 1) - row += 1 + row += 1 + else: + self.share_home_check = None self.xterm_check = Gtk.CheckButton.new_with_label('Run in an xterm') self.xterm_check.set_active(False) @@ -255,7 +262,7 @@ class Gui: argv.append('--runtime') argv.append(os.path.join(id, 'files')) - if self.share_home_check.get_active(): + if self.share_home_check is None or self.share_home_check.get_active(): argv.append('--share-home') else: argv.append('--unshare-home')