Get Any App on Any Distro Easily

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] 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 District box now you've probably heard of District box 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 cane 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 I don't know what a container is outside of flat packs I couldn't tell you I 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 you know 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 distrobox and it is a shame because this your box is really really freaking cool now today I'm going to be taking you through a couple of the features of District box 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 this Rebox 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 District box that I'm not going to cover today but I'm going to show you a few things so first what is this your box 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 Techno 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 disherbox 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 Act access to Arch on top of Debian I could just create a virtual machine for that well this Showbox 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 distro box 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 and for fortunately 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 one 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 District box 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 Debbie 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 for 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 dish or bucks 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 distribu box 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 if there's something from the Aur that you want but you're running Debian you can install an Arch Linux District box 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 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 like I said it's it's awesome so first off you have to install District box it's very very easy just sudo apt install District box pseudo Pac-Man Dash s install District box sudo dnf install District box 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 that 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 district box 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 n and I'm gonna give it a name so I'm just going to call this Fedora one 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 neofetch I do sudo dnf install neofetch I'm also going to install EXA so that I can do ls's here you and while it's doing that I'm going to explain something that's cool so basically what distrobox does is it uses your home directory and in my when I say your home directory what I mean is the host machine's 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 neofetch from my home directory so if I do neofetch here just like so it's actually gonna you're gonna 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 neofetch 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 actual home directory you can see that test file exists in both places so if I were to in inside of the container if I would do RM RF test and then I go back to the home director 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 neofetch 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 District box beside is 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 it'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 District hop those are usually your options right well now that you have District box 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 District box and I'm going to enter into one that I created earlier so I'm going to do distro box enter Arch Linux toolbox okay and if I do a neofetch dash config here so it uses the stock configuration file you can see 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 District box I have in this container Firefox but in my on my Debbie machine if I were to search for Firefox and actually so you don't spill 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 it 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 hit 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 DOT desktop file and then put it in your one of your paths and you could actually get that to show up inside of rophie 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 would be using Firefox inside of Arch Linux while using Debian it's 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 Divinity resolve is notoriously hard to install on some distributions installing it on Debian is almost impossible okay it's not actually impossible but it's not easy but it's actually much easier on Fedor or sentos or one of the rail-based distributions right you can create a district box of one of those distributions install DaVinci Resolve and it's much easier right and you could 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 Debian 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 Aur 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 cute tile to install on Debian some of that was because of you know version numbers and stuff like that I ended up having to use Nyx in order to install qtop but if I'd been using distro box at the time I could have actually bypassed Nixon just use distribox 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 distro box and actually use it on my Debian machine okay now obviously our awesome window manager is also in the Debian repository so that's not that cool but you could use things like hyperlan so hyperland is not inside of the Debian repositories as far as I'm aware but it is in the Aur so you could download the hyperland from the Aur and install it in your Arch Linux District box and run it from Debian basically same thing with qtow qtel is not in the Debian repositories so I can install that from the Aur and run that from my Arch Linux District box or from my Fedora District boxer wherever right I can do it from anywhere where that package happens to exist just create that District 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 that 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 documentation is going to save you a lot of my bladderings so let's go ahead and uh close this out here so let's go ahead and install awesome window manager so I need in order to do that I need to go back to my Arch Linux toolbox and do sudo Pac-Man Dash S I actually need to spell that right and then awesome okay I'm gonna enter here and it's gonna 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 win Adventures so I'm gonna do an LS here of user share X sessions now remember that this is on the container it's in my district 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 Debian system but the home directory is so in order for me to boot into awesome from my Debian machine I need to have that 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 tilt a 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 Debian 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 distribu 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 it's like I said it's 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 used this exact line so it's the path to District box that's 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 hyper land it's probably right in there basically what you're just wanting to make sure is that it's in that particular path where 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 really 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 you're gonna we're gonna wanna save this and you're going to want a CH mod 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 p-a-th path okay and that's the reason why usual local been awesome that's the thing that I missed here so if you want to 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 going to want to do the whole path no the whole this that will work actually we're not doing a link and then you want to do user 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 been 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 gonna do so I'm going to save the video here I'm going to log out and I'm going to show you awesome okay it's gonna be awesome to manage it now you gotta is good to remember the awesome window manager is available in the Debian repository so this isn't as cool as it could possibly be I could have done hyperlan but then I would have to set up all Wayland and stuff like that I tried xfc so before I 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 debus pass to be there and xdg durs 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 xfc4 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 edit 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 pulse mixer said it was fine don't know what's going on there it doesn't really matter usually I record it in audacity but right now I'm recording an OBS it doesn't matter so as you can see I'm inside of arched Linux using awesome window manager which we installed inside of a container on Debian so this is actually Debian 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 Q tile 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 it 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 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 Gen 2 inside of your District 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 Gen 2 on top of Debian you know you don't have to install a virtual machine and it will have GPU pass through we'll 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 packages on top of it and it's it's awesome you can do Gen 2 you can do open suzo you can do red hat you name the disc so basically it's there for the most part obviously the the smaller distro is not going to be there they don't focus on arch-based distro so you're not going to go find zero Linux or Endeavor Os or something like 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 missed from when I used Arch Linux but I don't have to switch away from the stability that is Debian that is so cool so yeah that is District box now like I said at the beginning I only scratched 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 instead of a different you know distro you can do a whole bunch of testing on different distros all 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 USB 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 for you to do things whether you're a developer or just a regular user are so cool and I'm so looking for this is going to be work 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 workflow 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 can use District box instead now I 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 I'm so excited that I was able to share it with you guys so uh that is District 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 this 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 it's just my mine 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 Odyssey those links will be in the video description you can support me on patreon patreon.com the linuxcast 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 [Music] thanks [Music]
Info
Channel: The Linux Cast
Views: 12,460
Rating: undefined out of 5
Keywords: linux, open source, apps, the linux cast, thelinuxcast, distrobox, distro box, linux distrobox, distrobox linux, distrobox tutorial, distrobox desktop environment, distrobox gui
Id: eh-a1W5IJbA
Channel Id: undefined
Length: 26min 27sec (1587 seconds)
Published: Fri Jul 07 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.