 So today I'm going to be showing you the coolest thing I've ever found on Linux and if that doesn't entice you I don't know what will because I found a lot of really cool things on Linux over the years And I've shared a lot of them with you But today I think takes the cake today. I'm going to be talking about Disturbox now you've probably heard of Disturbox before a lot of youtubers have made videos on this before and I Kind of got left in the dust because I heard the term container and I was like yeah You know, I don't really care about containers. I'm not a developer What could I possibly need a can container before because I hear container? I think Kubernetes and podman and and all these words that I just what do they even mean? You know, I don't know what a container is outside of flat packs. I couldn't tell you I can barely even spell the word that's not true, but you get the idea, right? I don't I don't know anything about containers other than the but you know bait the most basic idea of them And beyond that, I don't really have a need for containers, right? I just have never truly thought that I did But I was a fool okay, you know, I Have been missing out on Disturbox and it is a shame because Disturbox is really really freaking cool Now today I'm going to be taking you through a couple of the features of Disturbox And when I say a couple what I mean is just a couple because there are so many more things that you can do With Disturbox than the few things that I'm going to show you today I highly recommend after you watch this video and give it a thumbs up I highly recommend you head on over to the website, which I'll link to in the video description right below the like button Damn it Matt. Stop that You should head on over to their website and give the documentation a look because the documentation is fantastic And it really does tell you a lot about the things that you can do With Disturbox that I'm not going to cover today, but I'm gonna show you a few things so First what is Disturbox? Why am I going crazy over it? Well, the idea here is that it is a container that allows you to run a Linux distribution inside of it basic idea, although I'm sure the technology Technology stuff behind it is very complicated well beyond me, but the idea is fairly simple. You can run a Contained environment usually with a Linux distribution inside of it on top of another bare metal Linux distro So that's the idea. So for example, I'm on Debian on my main machine right now If I wanted to I could use Disturbox to create an arch Linux container and run arch inside of that container now At that level if we just stopped right there, that's cool enough But what would I use it for right? Why do I need access to arch on top of Debian? I could just create a virtual machine for that Well, Disturbox creates many different advantages over a virtual machine first of all and the biggest one probably is Shared hardware support. So if you wanted to have access to your USB stuff You could have access to your USB right inside of the container without doing anything, right? You don't have to do anything special like you would if you were wanting to do so in a virtual machine and the big one And I can't even begin to tell you how big this is is GPU pass through if you've ever tried to pass a GPU from your host machine to a virtual machine You'll know that it is a pain in the ass It is not an easy process and it gets harder when you're talking about, you know, multiple different GPUs and all this stuff It's not an easy process with Disturbox all that stuff is automatic now It's automatic when you have an AMD or an Intel GPU if you have an Nvidia There are a couple extra things that you have to do Unfortunately, I don't have an Nvidia card so I can't show you those things But the documentation again is very very good and it's from what I've read really not all that difficult in order to set it up So it's just a couple extra steps So if you wanted to pass your GPU through if you have a Nvidia when you do those extra steps If not and you have an AMD or Intel It's automatic and what that means is that if you wanted to you could install say steam or One of the other game launchers inside of your Disturbox and run games from it using your dedicated hardware Now why you'd want to do that? I'm not actually sure Because probably your host machine would run it just fine. Anyways, but let's just say for whatever reason You are completely against using flat packs So you are on Debian and you don't want to use flat packs So you're going to be using an older version of steam if you're using it from getting it from a repository somewhere And you want the most recent version of steam, but you don't want to use a flat pack So you could use Disturbox theoretically to do that. That's a really weird example A better example is probably like Firefox. So let's just say you wanted to use regular old Firefox You didn't want to use DSR version of Firefox on Debian You could install Firefox in a Arch Linux container or Arch Linux Disturbox You should say and just run Firefox the brand new spanking version from that container There are many different scenarios that you can think of of situations where you want the most recent version of something But your distribution doesn't have it or let's just say your distribution doesn't package It right if there's something from the AUR that you want But you're running Debian you can install an Arch Linux Disturbox and get that package from the AUR It's really really cool. So I'm like I'm like five minutes into this video I haven't even shown you anything about this. So let's go ahead and jump in I Have so much to show you this video is going to be phenomenally long But it's it's really super cool So I hope you guys stick around because it's like said it's it's awesome. So first off you have to install Disturbox. It's very very easy just pseudo apt install Disturbox pseudo Pac-Man dash s install Disturbox pseudo DNF install Disturbox you get the idea It's in all the repositories and it just downloads and you're ready to go That's really all there is to it now the first thing you want to do before you start messing around with things is Look at the documentation. So if we go to a browser here and go to their website You can see that it has really good documentation and it's very well laid out So the first thing that we're actually going to want to do is go to the compatibility list for the container distros These are the distributions that it supports. So there are 20 maybe 30 different distributions that they support although it's not really nearly as many as you think it is because a lot of these Here are duplications. So the reason why there are duplicates is because the ones they have toolbox next to their name are more Suited towards actually using them. They have more packages and stuff that it actually includes when you install the Disturbox The ones without toolbox are more minimal. So you'd be kind of more on your own to set those things up So if you're kind of looking to use one of these things out of the box Install one of the ones that have toolbox next to the name. So today, we're going to actually install Fedora so in order to do that, we're going to need this URL here. So I'm going to install Fedora 38 I'm going to take this URL here. I'm going to copy it. I'm going to go to a terminal I'm going to do distro box create and then dash I for image like so I'm going to copy that URL that we just copied and then I'm going to do dash and I'm going to give it a name So I'm just going to call this Fedora 1 and then I'm going to hit enter. Okay, so once that is done And it doesn't take very long. It's going to give me a command to run So I have that command right here I'm going to copy that and paste it into the terminal and enter now It's going to take a couple minutes here to actually install the Fedora onto the container It doesn't usually take any more any longer than two minutes or so most of the time It doesn't even take that and you'll see some output here once it actually gets going So I'm going to cut the video here and I'll come back. Okay, so once it's done You're actually going to be inside of the container already. You can see that by your host name changing So in this case, it's going to be the name that we gave it up above So I gave this the container name of Fedora one. So if I want to say use neo fetch I do sudo dnf install neo fetch I'm also going to install exa so that I can do ls is here and while it's doing that I'm going to explain something that's cool. So basically What did stro box does is it uses your home directory? And if I when I say your home directory what I mean is the host machines home directory So if you have configuration files in your dot config or if you have things in your home directory It's going to use all those things So one of the things that you'll want to see here is that it's actually going to use my Configuration file for neo fetch from my home directory So if I do neo fetch here just like so it's actually going to you're going to see the little Debian logo there. You're going to see the little kitty Ascii art that I have on my regular machine. So if I actually go to my regular machine You can see I'm on Debian here and it's using that particular configuration file for neo fetch So I've just installed fedora packages basically on Debian Okay, that's basically what I've just done now. It's more complicated than that obviously But if I do an ls here you can see that it's just using my home directory that I have on My host machine. So I have a directory here called test right now if I go to my other tab here and do an ls inside of my home directory and actual home directory You can see that test file exists in both places So if I were inside of the container if I would do rm-rf test and then I go back to The home directory here and do that ls again you can see that the test directory has been Deleted so it's using your home directory the rest of the files on the system are contained Inside of the container so your your etsy directory your user directory all that stuff is inside Of the container and all the applications that you install are inside of the container So the neo fetch that I installed on Debian doesn't work on fedora. I have to install it in both places Now that's not technically true and that's kind of the point of the video But we're not there yet. So just hold on the thing that is awesome about Distrobox besides the fact that you can install packages is that you can actually use those packages So you can imagine a scenario like I said earlier where there's a package on in the AUR that you want that you can't get on Debian so You know whether that you know, that's a font or a library or a window manager or something like that If you want to get those but it's not on Debian What would you do normally you'd have to build it from source or you'd have to distro hop Those are the usually your options right well now that you have distrobox You can actually install those things from the AUR. So what I'm going to do here Actually Is I'm going to exit out of this fedora Distrobox and I'm going to enter into one that I created earlier. So I'm going to do distrobox enter arch Linux toolbox Okay, and if I do a neo fetch dash dash kind of fake here So that uses the stock configuration file You can say this is arch Linux and this is just a arch Linux toolbox that I've been using for a little while And I've installed things on this. So here's the coolest thing Or one of the coolest things about distrobox I have in this container firefox But in my on my debbie machine if I were to search for firefox and actually see don't spell it correctly You'd see I have no firefox I have no foxes, but I have it in the container. So If I go to a terminal on my host machine and run this Command here Now remember there's no firefox on my main system if I run this command here Basically what this does is that this is a path to a command It has a couple options It has the name of the container and then it has the name of the application that I want to start now Remember no firefox on the main machine, but if I enter here Bam firefox. Okay, this firefox is running Inside of that container, but I can use it just like regular normal firefox now Starting things from the terminal not always the most convenient thing. So you could take this line of Or this command here and put it in a desktop file and then put it in your One of your paths and you could actually get that to show up inside of rofi or d menu Or one of your application files And basically what it's just going to do is run that command and it would start firefox and it would You'd be using firefox inside of arch linux while using debbie in its inception Okay, and it's magic and i'm pretty sure the people who created this are wizards Okay, now I know guys. It's just firefox man. Why are you freaking out about firefox? But the thing is it's not just firefox you could do davinci resolve because davinci resolve is notoriously hard to install On some distributions installing it on debbie and it is almost impossible. Okay, it's not actually impossible But it's not easy But it's actually much easier on fedora or centOS or one of the world-based distributions, right? You can create a discerbox of one of those distributions install davinci resolve and it's much easier Right, and you can just use this command here But with davinci resolve and launch it from your run launcher and just use it as if it was a native application Installed on debbie. That's really cool. Now, obviously We wouldn't just be here if I could if I was just talking about firefox or davinci resolve Or some random package from the aor what if I told you this applied to desktop environments and window managers as well Well, why is that cool? Well, first of all if you were in this position I was in a week ago where I could not get qtowl to install on debbie Some of that was because of you know version numbers and stuff like that I ended up having to use nix in order to install qtowl But if I had been using distra box at the time I could have actually bypass nix and just use distra box So basically what I'm talking about here is that I can install say let's say awesome window manager I can install that from my arch linux distra box and actually use it on my debbie and machine Okay, now obviously Our awesome window managers also in the debbie and repository. So that's not that cool But you could use things like hyperland. So hyperland is not Instead of the debbie and repositories as far as I'm aware, but it is in the aor So you could download load the hyperland from the aor and Install it in your arch linux distra box and run it from debbie and basically Same thing with qtowl qtowl is not in the debbie and repositories So I could install that from the aor and run that from my arch linux Distra box or from my fedora or distra box or wherever right? I can do it from Anywhere where that package happens to exist just create that distra box and then run it now Obviously, there's a way to do that and I'm going to show you that but the idea here Isn't necessarily to show you Exact how to but to show you how cool it is because I like I said at the beginning I implore you to go check out The documentation because there's so much more to this and I'm not explaining And I'm probably not explaining what I am explaining very well, but I'm trying here So go check out the the the documentation is going to save you a lot of my blathering. So let's go ahead and Close this out here. So let's go ahead and install awesome window managers So I need in order to do that. I need to go back to my arch linux toolbox and do sudo pacman dash s I actually need to spell that right and then awesome Okay, I'm gonna enter here and it's going to do its thing Okay, and then what I'm going to need to do Is while I'm still inside of the container And I'm going to need to find the dot desktop file for awesome window managers So I'm going to do an ls here have user share x sessions now remember that this is on the container It's in my distro box by design any user files Like you in the user directory or inside of etsy or whatever those are not accessible to the host All right, these are not things that I could access from my debbing system But the home directory is so in order for me to boot into awesome From my debbing machine. I need to have that dot desktop file Inside of my user directory on my host machine So in order to do that, I'm going to do cp awesome desktop and then I'm going to do till the slash Okay, now once that's done And I've seen that I have that in my home directory. I can exit out of My container here just hit hit exit it'll exit out of the container now I'm technically back in my debbing machine And I'm going to go to my scripts folder and I'm going to create the following script So this script here does two things So it's going to tell it that it's a script So that's not really a thing that I counted and that's going to use this line here This line here basically tells Your host machine and distro box that the user that you're using is you If that makes any sense It's more complicated than that But basically it's just telling the host that's the local user trying to execute a command. Okay It's because otherwise it's not going to know what users has permission to do so It's like says more complicated than that, but you need that line inside of a script. Okay And then you need this line here now. We've used this line before okay We when we launched firefox we use this exact line So it's the path to distro box this enter the dash t and dash n flags And the name of the container. So in this case, it's arch Linux dash toolbox dash dash and then awesome Now this particular line right here comes from the container and the binary of the window manager that you're trying to launch So if you if you don't know what this is go back into your container do an ls of slash user bin And then grep for the name of the the window manager that you want to find So if you're doing hyperland do a grep for hyperland It's probably right in there Basically what you're just wanting to make sure is that it's in that particular path or it's in your path somewhere Usually it's just the name of the window manager Some of them have the dash session After that so you will we want to make sure that you're using the right name here for awesome It's awesome. Okay. That's really all it needs to be so you're gonna we're gonna want to save this And then you're going to want to chmod plus x awesome, which is the name of the script Okay So now that you have that you need to go back into your home directory And you're going to want to vim into that awesome desktop file and you're going to want to make it look like this Okay, so basically what we're doing here is we're executing that script that we just created Okay, that script that we just created inside of our scripts directory So there's actually one thing that I need to show you so Go ahead and finish this put the path to that script You'll want it inside of your path your capital path path Okay, and that's the reason why slash user local bin awesome That's the thing that I missed here. So if you want if you go back to where that script was So our script right here is awesome. You're going to want to do sudo Cp awesome or actually you're gonna want to do the whole path No, the whole just that will work actually We're not doing a link and then you want to use your local bin. Okay, just like that It'll ask you for your password mine's already there. So I don't need to do that Basically what that does is it makes it executable system wide. All right, so you don't have to use the whole path So that's why this says user local bin awesome That's where that script that you created actually needs to be So once you've done that you can save this and then You are ready to log into awesome and that's what we're going to do So I'm going to save the video here and I'm going to log out and I'm going to show you awesome Okay, it's going to be awesome. We manage it now. You know, it's good to remember the awesome way to manager Is available in the debing repository. So this isn't as cool as it could possibly be I could have done hyperland, but then I would have to set up all whaling and stuff like that I tried xfc. So before actually before I hop out of this, I do want to put throw some caution out there So with certain particular desktop environments and stuff like that They're expecting some debuts paths to be there and xdg durrs to be set in proper order And if those directories and stuff aren't in their proper places Your desktop environment may not launch and you may need to do some finagling to get them to run Okay, so I tried xfc for I didn't have a chance to troubleshoot. It would not launch So just know that it's not always going to be just as simple as doing the things that I just showed you You may find some Extra things that you have to do depending on the desktop environment or window manager that you're choosing So that's the reason why I'm choosing awesome because I know that this will work So it just works out of the box. So anyways, I'm going to pause here. I'm going to come back and show you awesome Okay, here we are inside of awesome window manager now First of all, the audio may have quality may have dropped down a little bit I'm going to try to add it to make sure I could not get audacity to actually use my microphone I don't know what's going on there because obs is working fine. Paul's mixer said it was fine I don't know what's going on there. It doesn't really matter. Usually I record in audacity But right now we're recording in obs. It doesn't matter. So As you can see, I'm inside of arch Linux using awesome window manager Which we installed inside of a container On debion. So this is actually debion But it's a container running on top of it. You're running arch Linux and that's awesome. Okay It's the coolest thing I've ever seen now I I know that that I keep going on about this But I can't kind of go over the fact that I installed awesome inside of container now Like I said, awesome isn't the best example that I could have used. I could have used cutile I could have used something like hyperland I could have used xfce if I could have gotten it to run that was the original idea Something that I just did not have on my main system that I could have installed and Awesome, it was there But the idea here is that you can install Whatever you want and actually run it and that gives you An enormous amount of possibilities To choose from when it comes to packages package package managers Basically anything you can think of if if you want to broaden your horizons to a different distribution But you don't want to hop off the distro that you're on you can go install Gentoo inside of your Distro box and it would work you could use a merge You could use all of the use flags that you want to use you could do all of that stuff Inside of gentoo on top of debion, you know, you don't have to install a virtual machine And it will have gpu pass through will have your networking pass through It'll do all the things that it needs to do to install it And all you have to do is install your package that is on top of it And it's it's awesome. You can do gentoo. You can do open suza. You can do red hat You name the distro basically it's there for the most part obviously the the smaller distros not going to be there They don't focus on arch based distros So you're not going to go find zero linux or endeavor os or something that you're just going to get the main big ones Right, but you get the idea and for me This all opens up a whole bunch of testing opportunities for myself You know, it gives me the opportunity to use the aur Which I miss from when I used arched linux, but I don't have to switch away from the stability that is debion That is so cool so Yeah, that is Distro box now Like I said at the beginning. I only scratch the surface. I don't even think I scratched the surface I just touched the surface. You know, I didn't make a dent in this thing There are so many more things that you can do if you're a developer This gives you a whole bunch of options for having different versions of libraries and stuff that you can Incorporate into your code and you can do all of your compiling inside of a different You know distro You can do a whole bunch of testing on different distros All of this stuff and it makes it so much easier than setting up a whole bunch of virtual machines And then having to deal with you know, gpu pass through usp pass through You know different weird resolutions and stuff like that you have to deal with and you're dealing with a virtual machine And you don't have to download all the isos right like technically Yes, you're downloading the stuff from the iso, but it's all minimal and you install the stuff that you want extra on top of it Right, you don't have to worry about you know a four gigabyte iso or anything like that And you don't have to have all those packages just lying around the options here Or you to do things with your developer or just a regular user are so cool And I'm so looking for this is going to be this is going to work its way Into my daily workflow and it may just take over from so I've been using virtual machines as my Flow over the course of the last couple months maybe three months or so And I've been really liking that it's possible that I could use distro box instead now I haven't really thought that process through yet How I can maintain the privacy and stuff that I was looking for in a virtual machine And I need to learn more about this obviously, but the possibilities are there and I think the possibilities are endless And I'm so excited that I was able to share it with you guys. So That is distro box if you have thoughts on this you can leave those in the comment section below I know I didn't do as well a job of Explaining this as I possibly could have it was kind of all over the place So don't take any of the stuff really as a how to again check out the documentation There's also a blog post that I will leave in the video description showing you how to install window managers and stuff like that That's where I got all of the scripts and stuff that I showed you earlier So you can follow that along there. It explains it much better than I did So definitely check that stuff out before you actually do this because again, it's it's easier to do from someone else's How to than mine is just my line wasn't quite As coherent as I wanted to but I record this video three times before I actually jump out of this I want to give a big shout out to george castro He answered my questions and he did he always answers my questions so very patiently So thank you george for your support and your your just being pure awesome. So Follow him over on uh, mastodon He's awesome. So that's it for this video if you have thoughts on this again Comments in the comment section below if you haven't already leave a thumbs up on this video It really does help the channel You can follow me on mastodon or odyssey those links will be in the video description You can support me on patreon at patreon.com slash the linux cast links for paypal and YouTube will be in the video description if you'd rather support me there Thanks to everybody who does support me on patreon youtube you guys are all Absolutely amazing without you the channel just would not be anywhere near where it is right now So thank you so very very much for your support. I truly do appreciate it. You guys are awesome So thank you so very much for your support. Thanks everybody for watching. I'll see you next time