Its even worse when you force Firefox to use wayland its icon doesn’t even show.

Edit: Oh since everyone now is confused; I only have the flatpak version of Firefox installed yet it doesn’t use the pinned icon and doesn’t even use the firefox icon under wayland at all.

  • @Intralexical
    link
    5
    edit-2
    1 year ago

    bwrap is so much better without Flatpak.

    To start you off: $ bwrap --dev-bind / / --tmpfs ~ bash

    This basically gives you a shell in a clean virtual home directory (but no meaningful security improvement yet). You can test new builds of software as if you have only the default settings. If you need to access files, move them to /tmp/.

    To see the clean virtual home directory, replace --tmpfs ~ with --bind "$(mktemp -d)" ~. You can browse it where mktemp puts it (usually /tmp/*).

    To start to lock down security, replace the --dev-bind with --ro-bind, and add various --new-session, --uid/--gid, and --unshare-all/--unshare-* flags. You can run untrusted and semi-trusted/less-trusted applications with less security risk this way (as long as you’re aware of pitfalls, such as the /tmp/.X11-unix/X0 socket and other possible avenues of escape).

    To block network access, use --unshare-net or --unshare-all. To virtualize /dev and /proc, use --dev /dev and --proc /proc.

    Some programs might need --dev-bind /dev/dri /dev/dri for graphics driver access, or similar constructs.

    EDIT: …I actually created a way to create completely portable application executables for Linux by using bwrap (or proot, as a fallback) to virtualize a Nix root from inside an AppImage, earlier this year. bwrap offers a lot of granularity in modifying and containing the virtual environment, to the degree that you can basically emulate an entire guest OS/distro on top of the host distro, without even needing root privileges— And without even needing bwrap itself to be installed, since it can work using entirely standard Linux kernel features.