Distrobox appreciation post - eviltoast

Distrobox is underappreciated as hell, no surprise that vanillaOS, and alikes are getting so popular right now.

I have a laptop with opensuse, great, great distro, performance is awesome, very stable and resilient, running the latest KDE, for most apps, I have flatpak in user mode, so I don’t write anything in my root directory, nothing runs as sudo.

But opensuse has a fatal flaw, it’s not arch linux, software availability is not exceptional, sometimes you miss a thing, or the software you relie on, doesn’t work, or it’s broken because it won’t support suse properly. That’s where distrobox comes in, using it you can create a container distro and have you software in there, hell, you could even make multiple containers for different uses, like a development container with vs code, and the gazillion libraries and dev packages inside without having to worry about bloating the main system, or a gaming container with lutris, wine, all it’s 32 bit libraries and dependencies without mixing them with the host system, like I do, or perhaps you can have a container with davinci resolve, or other program that still has a windows-like installer that either works, or breaks your entire system every time you try it on a new distro, possibilities and almost endless! And even better, no performance penalty!

The coolest thing about distrobox is for sure the container-userland integration, for example, if your app inside distrobox is able to use xdg desktop portal, you can do cool stuff like screen capture, file picking, and actually having the right theming(if you have a copy of your theme under your home of course), all with the Host’s portal! Even fonts sync with the host!

Sadly, distrobox is not flowless, you can’t really use it with things that depend on deeper system integration, for example, waydroid, which needs to have a service running as root on the kernel for it to actually work, so using it on distros like opensuse or your average independent Linux based operating system, [insert cool, or clever word]OS that you and other 6 people on the entire globe love (for some reason) remains impossible without proper support.

  • throwawayish@lemmy.ml
    link
    fedilink
    arrow-up
    16
    ·
    edit-2
    1 year ago

    I wouldn’t call a project with over 6k upvotes (and counting) on Github underappreciated. Perhaps what you tried to convey is that -surprisingly enough- the community is split on how they view Distrobox within the grand scheme of things. I simply can’t fathom anyone to be unappreciative of what it achieves and how. However, there are those that might regard it as one of the rising stars that represent a big upcoming change that might even be -in their eyes- an existential threat to Linux. They fear that containers, immutable distros and all of that ‘mumbo jumbo’ will threaten the freedom in which they interact with their systems. They don’t see them as (potential) solutions to long-held problems, but instead they are viewed as invasive to Linux and an attempt to <insert proprietary OS>-ify Linux and thus as an assault to Linux’ uniquely strong qualities. I wonder if if this might be somehow philosophically rooted in how some people lean towards conservatism, while others lean towards progressivism instead.

    But yeah, Distrobox is excellent.

  • lfromanini@feddit.nl
    link
    fedilink
    arrow-up
    7
    ·
    1 year ago

    Just a honest question: if I install Thunderbird using distrobox, can I define it as my default browser? If I click in a mailto link will it work?

  • ebits21@lemmy.ca
    link
    fedilink
    English
    arrow-up
    7
    ·
    1 year ago

    Have you checked out the recently added distrobox-assemble feature?

    You can define the container (or multiple containers) and what software to add (and very soon what apps and bins to export to the host) in a single config file declaratively.

    It’s the killer app for me to live alongside my Silverblue install!

  • richardisaguy@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    1 year ago

    Just don’t forget to run distrobox-export from inside the container after your install something, distrobox-export --app for apps, and distrobox-export --bin with the absolute path of your binary from inside the container ex:/bin/neofetch

    • j4k3@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Yeah, but what if the app is more complicated, like it needs to run in a conda container and may have extra flags passed to it? (I’m double dipping in the container sauce for hacking mods to AI stuff)

      • richardisaguy@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        1 year ago

        You can modify the .desktop file or the local binary genereted on the host and pass those those to it, you can also do it manually, locations are ~/.local/bin and ~/.local/share/applications