TL;DR: It’s basically a WSL for Linux. Linux subsystem for Linux if you will.
It let’s you install and use pretty much any software ever written for Linux, including AUR packages and graphical apps, on any distro you want. You should all give it a try!


Distrobox is probably the best thing ever.
If bread existed in the Linux world, Distrobox would be the equivalent, or better than sliced bread.
It just solves many of the problems that plagued us in the past!


I’m just sick of answering so many comments or posts where people either

  • almost dislocate their joints in trying to get some software working on their distro, where it isn’t officially supported;
  • or choose/ leave a particular distro based on the amount of available packages, e.g. Arch.

**The answer is simple: use fucking containers. **

Before I turned into a weird “immutable distro”-user, I slapped every random install onto my host OS.
After all this shit building up over years, and cluttering my system, it turned against me. Repos not being available, packages conflicting, weird icons popping up, and more. It was a mess!

If one did that on a server, he would probably get slapped by the Selfhosted-community.
If there’s Docker, Podman and more, especially for servers, why don’t we use it for desktop too?

Some guy probably thought the same and made Distrobox.
You can just download BoxBuddy as Flatpak and/ or install it via package manager.
BoxBuddy is a graphical frontend, that helps you manage and use your containers. It’s pretty new tho and is still in heavy development.
Traditionally, Distrobox is CLI-only, but I can see that changing in the near future.


“Why not just use a VM?”

Those containers aren’t isolated and barely draw additional resources. Actually, they’re somewhat comparable to Flatpaks.
They provide themselves with their stuff they need, but aren’t virtualized. The main difference between Flatpaks and DB-containers for myself is that Flatpaks have permissions.

They can and will interact with your host. For example, if I plug in my phone, I can access it via ADB in my Arch container. Or my Nextcloud-client can open my browser and auto start on boot.


Who needs that?

Everyone. Well, maybe. Depends.

Image distros

Certainly users of image based (“immutable”) distros like Fedora Silverblue and other variants of this family, like uBlue (Bazzite, etc.).
While we actually could install every package from the Fedora repo traditionally on our host, this should be avoided.
Steam Deck users would benefit strongly too, since they can only use Flatpaks atm.

People who can’t get some packages with their distro

One of the main arguments, why so many users go or stay on Arch, is the AUR.

Often, they have a love-hate-relationship with it. It might break easily if you do something wrong, which is easily done for many users. At the same time, it gives them their niche software they need.

What if I told you, that you can enjoy this huge plus point for Arch on every other distro too, while benefiting from the comfort of your favourite distro?

You can even install an Ubuntu container and use Snaps there if you enjoy using them.

Developers

On the stock Fedora Silverblue, there’s Toolbx pre-installed, which does something very similar, but not as good. It’s a RedHead product.
On uBlue on the other hand, Distrobox is the default, which is better.

Toolbx’ main use case is programming. For devs working with different Python-versions for example and don’t wanna risk breaking their OS.

DB does the same, but more.


But why is it so powerful?

You can also export your software to your host.
E.g., the Flatpak version of Nextcloud didn’t work well for me. The Arch package on the other hand is less buggy and looks properly. It’s perfectly integrated in my system and I don’t notice it at all that it hasn’t been installed natively.

This even extends to DEs and TWMs! You could, for example, create an Arch container only for Hyprland, which you basically can’t install on other distros.
And then, you can use said example, or the beta-version of the new Plasma, on OpenSuse Leap.

On uBlue at least, all my containers update themselves too.

Another great thing is the modularity.
You can, for example, just delete the Arch container if it breaks randomly or due to user error, without worrying about losing access to your PC or having to troubleshoot for hours.


All in all, just try it. Trust me.

  • woelkchen@lemmy.world
    link
    fedilink
    arrow-up
    18
    arrow-down
    4
    ·
    10 months ago

    Distrobox: If AppImage isn’t already enough overhead for you, just install an entire Linux distribution for each application.

    • Guenther_Amanita@feddit.deOP
      link
      fedilink
      arrow-up
      15
      arrow-down
      2
      ·
      edit-2
      10 months ago

      The “entire Linux distribution” is very small. It’s only like a few hundred MBs.
      I have absolutely crappy internet, pretty much the worst in Europe to be precise, and it only took 30 seconds or so with 5 mb/s speed to download.

      And you don’t install a new distro for every app, you do that for every task.

      E.g., I have an Arch container for every CLI-related (installing custom ROMs on my phone, server administration, etc.) and one Ubuntu/ Fedora one for everything else if I need it.
      The latter one is basically unused btw.

      • woelkchen@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        10 months ago

        I’m not sure what the hard-on is for containerization.

        Bazzite uses Steam in an Arch-based Distrobox container. The FAQ doesn’t address what the benefits of that over just using Flatpak are.

        • Guenther_Amanita@feddit.deOP
          link
          fedilink
          arrow-up
          4
          ·
          10 months ago

          I also thought about installing Steam in DB instead of Flatpak.

          The Flatpak has some weird permission problems for example. If I want to give it access to my application folder via Flatseal, it just doesn’t want to start anymore. Therefore, I have to live with it not being able to create menu entries and not having access to other drives except if I grant it that.

          On the other hand, I’m glad it is that restricted, and I want to keep it that way.

          • woelkchen@lemmy.world
            link
            fedilink
            arrow-up
            3
            ·
            10 months ago

            The Flatpak has some weird permission problems for example. If I want to give it access to my application folder via Flatseal, it just doesn’t want to start anymore.

            You’re already providing better information than the official FAQ but that doesn’t explain why it’s an Arch container of all things, considering that Steam on Linux runs off the home directory and the binary from the package manager is just the first-time download manager. And if a container was to be used why Arch, given that officially only supports Ubuntu LTS, SteamOS as shipped on Steam Deck, and whatever container guest Steam on ChromeOS uses, not “plain” Arch.

            • Guenther_Amanita@feddit.deOP
              link
              fedilink
              arrow-up
              1
              ·
              10 months ago

              Could you give me a link to their GitHub?
              I’ll suggest them another description and explanation if you think that I should :)

        • quarterlife@lemmy.sdf.org
          link
          fedilink
          arrow-up
          1
          ·
          10 months ago

          We stopped doing this a few versions ago, main reason was inconsistency between the deck and desktop branches, since deck needs to be properly layered due to it essentially being a desktop environment.

          Additionally, we’re not able to offer HDR or steam input with Wayland through distrobox. That being said, bazzite-arch remains a distrobox image with real utility for other use cases and we continue to maintain it.

          • woelkchen@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            10 months ago

            We stopped doing this a few versions ago

            And how are you deploying Steam now? Any chance for easily discoverable documentation about such things?

              • woelkchen@lemmy.world
                link
                fedilink
                arrow-up
                1
                ·
                edit-2
                10 months ago

                It’s layered into the image like any other rpm. Standard steam package you’d install in Workstation.

                Good, considering Steam updates itself anyway.