How to Build Linux Server to Full Desktop

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
today we're going to be building something special we're going to be going from a base server install like this to this and i don't want you to just follow this verbatim i don't want you to just you know copy everything i do here if you want to use debbie and if you want to use ubuntu if you want to use fedora if you want to use arch this is applicable because what i'm teaching you today is all the different stages to building up your own desktop your own linux desktop that's phenomenal i'm tired of people just downloading a bunch of distributions and be like well i like this but i don't like this and you end up with just a bunch of bloat because you just install everything and i'm like uh at that point just use windows i joke but not really so let's get on the desktop and actually go into building this and kind of show you how i set up linux whether it's fedora whether it's you know any other distribution this is how i set up my linux because i like it to have only the stuff that i need and i want it to be as fast as possible so let's get on the desktop so from our desktop starting off the first thing we need to do is download our distribution like i said any stock server distro will work just usually pick a main branch and they have a server spin spoiler you know how some people think there's like thousands of linux distributions most of them are just grabbing the server version of a main distribution and then just installing the packages they want so i guess you could say we're making our own distribution today so we're downloading fedora server which is fantastic and we're going to install it so let's go ahead launch into it download your iso put it on your thumb drive and let's get on the desktop and build us a new distro okay so we booted up our computer with the new iso we're just going to install fedora 36 if you're doing this on ubuntu same principle just don't pick a whole bunch of stuff definitely don't install like a desktop environment unless you want a full-blown desktop environment it's gonna just install all the the packages that we kind of want to choose for fedora i usually don't like to do a root account i'll just do a basic user creation and just set a password and then for installation we'll just take up we're only going to use 20 gigs today that's uh because for these distributions we're building we really don't need a whole bunch of space because really we're only installing the base packages for this computer so we'll go software selection you can do server edition which we really don't need to do we're going to do full minimal or we could even do like a custom i'm just going to do standard for this one and i probably like window managers down here since we'll use a window manager to keep it even smaller sound and videos probably something we'll use and you have like office productivity and some other things but don't get too crazy here just pick the things you absolutely need i i really don't even pick editors because i like vim instead of emacs or just regular vi i'd rather it be just the full vim but everybody's a little different again pick what you need and if you're not sure i would say leave it unchecked we can always install this later so we have the really most basic thing uh really the only thing we're going to be doing is sounded video and some window management because that's really all we need for a base desktop so we'll hit begin installation let this go through fedora is a little bit bigger ubuntu is a bit around the same size as fedora regular debian is a little smaller and then the smallest is going to be arch because fedora has some extra like security measures and some other things that can lead to a little bit bigger install than you know let's say your arch counterpart but then again it's a little more secure okay now we are finished with our server install let's go ahead reboot the system which should be all cli command line much like any linux server would be and the first thing we do with any new install on any operating system is we update it yeah i'm glad so many people get that right otherwise bugs and other nastiness can happen whether it's mac windows linux just update your system on a fresh install it's just a good idea and as we see we got about 59 packages we need to install so we'll just go ahead download and install those next up we need to decide hey what how are we going to do or render display graphics on here we're going to use xorg or wayland and also we needed to figure out what kind of display manager we're going to use this kind of dictates how you log in think of it as like almost a login manager there's a lot to choose from here for these you can do light dm ss or sddm gdm there's a lot of different ones i like sddm because i'm real familiar with it because i love kde's desktop environment which we're not going to use today but you could or light dm which is real real light hence the name light dm light display manager uh but let's let's do sddm today so we'll do sudo dnf install sddm and you'll notice it picks out xorg automatically for us which is what we want to use instead of wayland because whalen's still a little bit rough around the edges and i use synergy a lot of my my setup to where that just doesn't work on weyland so there's packages that you know usually all work with xor so let's hit yes to this and get to installing uh sddm and then also uh xorg which will render graphics and then we need to change how the system boots into this you don't want it obviously to boot to a command line like we've been doing that's that's no fun no one wants to be presented with just text on their screen that says login okay now let's fix our login so we have a graphic login we first will enable sddm to start on boot so we'll do sudo systemctl enable as ddm so that's now enabled and now we need to actually change it from multi-user or cli target to a graphical target so we're going to do sudo system ctl set default graphical dot target just like that that enables it to boot into our login manager which is sddm but we don't have anything to log into yet so now we have some choices to make and this is where i really want you to customize think out of the box what do you want to do here and do you want to just do a window manager like i'm going to do today with like bspwm or you want to do a full-blown like gnome instance or you want to do whatever it is typically that display manager if you're using gnome you're going to want gdm kde sddm if you're going to go like mate or whatever it might be typically you can just pick like light dm or any one of these they'll all work so it just depends on what you like as a flavor so think outside the box here for today i'm gonna clone a project that i have going this is not ready but i'm just gonna go ahead and give you my config files because these are the programs i like and the configurations of my existing systems so instead of like setting all the configs when i first start up my system i want it automatically adjusted to my needs and i've already done that once so i just copy my config files from github publish a github repository put your dot com config files in there and uh do exactly what i'm doing right here this project's just fedora titus i know real original but we're missing git command so we'll go ahead and install it i have noticed that dnf is working a little bit slow here only getting five or six megs down it depends but if you do have some issues you can actually do some optimizations to dnf which i can go over uh probably in a future video of optimizing fedora and the same can be done in debian there's something called apt fast uh arch you can do uh parallel downloading and some other things there's a lot of fun little tricks you can make for installing packages a little faster on linux but that's gonna be in its own video so subscribe if you haven't uh if you're interested in that type of thing now with git done we can actually clone our fedora titus and this just pretty much has my uh dot config files we're gonna do a background first off we're going to make our dot config directory in our home folder just like that and then let's copy our background into dot config you can put your background in pictures wherever you want it's just where i feel like putting it and then if you take a look at the dot configs you can see these are the programs i use that i need the settings from so this is what's in my repository really it's only a handful of programs you know about seven or eight programs out of this whole list not bad at all but first i want to grab those config files so when these programs get installed they're already all configured to my needs so the easy way to do this is just do a move and i'm just gonna put dot config star and we'll move all this to dot config just like that so all of my config files are there uh there was also a rpm package but first let's install all the programs here we need bspwm which is the window manager dcomp uh this is uh actually i think it's decomp editor now this is how i edit like thunar and some other things i don't necessarily need this but i do have a config file for it so i'll go ahead and toss it in here kitty is my terminal mango hud is mainly for graphics or games since we're not really needing fps displays today i'm going to go ahead and not install that one picoms our display it gives opacity and other things so we'll install it polybar is our top bar for our window manager rophie is basically our start menu sxhkd will be our hotkeys and thunar will be our file browser and that will give us the base system for all the configs that we're bringing in again if you use different programs grab your dot config from your home directory of that one program don't just copy your whole dot config the idea here is to make it as lean as possible that's what we're really aiming to achieve here now if we're just doing all listing is there anything else a couple other things there's these x resource xnord xnrc x resources next nord xnor is actually a header file basically it brings in extra colors and stuff for when xorg or our display renderer comes in so it makes some of the pretty colors i'm about to use not necessary but i like i like my operating system look fancy and then x into rc if you just cat that this is an init file that kind of shows you a couple different things it's going to set our cursor and set our x cursor thing to breeze hacked which i actually might change this i think i might use a different cursor theme but what that does is say hey for the x cursor you want this specific cursor which it's not installed right now so it's going to look a little funny but that's okay we'll move these files directly into our home folder now you might get a replace dot dot don't don't do that that's we're going to say no to that and now if we look we pretty much have everything from things are in there if we look at our listing of our comp file all of those are over there with our background um i think for the background we're going to be using nitrogen so let's install something to use our background you could use fae and there's a lot of really good wallpapers you can actually use variety i've used that if you want something a little more give you a little more variety variety is a good one as well but today nitrogen is where it's going to be at real basic simple hey run this one command and it sets the background for us out of that fedora file i think i still have to expand this i will make a script to do all this automatically i just kind of want to step through my thought process so when i do make my script you understand what each part of the script does as well for these ocs urls a great way to just go to a website and click to install themes and all kinds of other goodness like special cursors whatever it is we'll have fun with it so we'll do sudo dnf and then do ocs url or install ocs url uh now you could use rpm but i like dnf because it actually grabs any dependencies that that rpm package might be missing so this is one way to install something that might not be in dnf which this one isn't you could also use flat pack you could build from source you could even use something some arch users love the aur you might have heard that this has copr which is an amazing i would consider it better than aur because it's more uh repositories with binary so you're not having to build from some neckbeard script it just works which is pretty good so we have most of the things here we're ready to reboot and give this our first spin probably the first thing i want to do before we do our reboot i'm going to do an auto login though so let's do a sudo vim etc sddm.com this is the base config for our login manager we're going to set some auto log in real fast but we need to install them if you want to use nano here if you're not familiar with them if you want to learn them type them tutor after you install them and it'll actually kind of teach you a little bit of them which is extremely powerful but can be very complex so now that we're in here set our session and user so user will append titus to this session vspwms the window manager that's it that's all we're going to do now you can do other stuff in here as well set up special display scripts to run to set resolution a whole bunch of other things i'm not going to really go into that if you're interested in like a more drawn out long one i did a live stream that was about uh hour and a half long skip to like around 45 minutes i think that's when i first start getting into this and i kind of go over a little bit more of the settings but you can do special things if you're using weyland or x11 here and run special x setup scripts and there's some really cool stuff but today we're just gonna do the basic auto login so let's go ahead and reboot and see what we have on our startup you should see a pretty fast start up here and get to our desktop uh in a couple seconds so yes success but you might have noticed we're missing some fonts and this doesn't look quite right we don't have a quite complete setup so the fonts that we're missing i can tell you right now is awesome fonts so let's uh install awesome fonts we'll just do a search for the exact package so let's do sudo dnf install awesome fonts and awesome fonts dash was that web so we're going to grab the base package and then also the web package for fonts awesome these packages vary from each one so if you're using apps you might do like an app find if you're using pacman you might search it for for the exact packages they always differ just a little bit in names uh kind of drives me crazy next thing we probably need a web browser we'll install firefox other notable things that i'm saying here is let's change the resolution you kind of probably want to do that let's uh install a randar now most desktop environments have like a built-in setting so if you did kde instead of a window manager this is kind of like a two-fold tutorial of how to do absolute bare metal just grabbing the little packages you might need to accomplish certain things this is not by all means all inclusive but at least we'll get your feet wet and we'll set up our resolution so it's not quite so big we'll just set this to a 1080. uh we'll save that out looks good obviously we need to do some work up here at the top but we'll get to it in just a second i will also save this layout as default and that's just a script to basically make this the default layout anytime that happens there's a lot of different ways you remember that x setup script i talked about from sddm you could you could do it there so it sets the resolution at your login so we'll do the launch script from the polybar and that'll relaunch our polybar and we should have something a little nicer oh but we're missing some uh missing a good bit of characters if we see this undropped match character usually that's we're missing things still so let's type in firefox you can see these are the only programs we have on this entire system just these few honestly we didn't even need a 2d comp editor i just kind of like to mess around with like nautilus and some other file browsers occasionally but again not needed we're just going to grab a couple for uh nerd fonts what i like to use is fire coda and then also meslo i think they're the probably the best now some people will say just install all these fonts which is kind of nice but these are really the fonts i use the most fire code and then mess low now hack fonts are also a fun one if you want like the hackery look font but again most the ones i use are just in these two families all right both those are downloaded we'll pull up our terminal again let's do a listing and what we'll do is move download star.zip to dot fonts it's not a directory so we'll make a dot fonts run that command again go into our doc fonts and what we're going to do is just unzip so that just uh pretty much installed all our fonts now we could reboot or we could just do a fc cache v to reload everything now we have almost every font that i like to use on my system so let's launch that top bar again and we should have a lot closer result oh that's looking quite quite good uh we have our start menu we have our shutdown menu and we have all our workspaces which is neat now you might see this in the background we can actually close that out it doesn't matter now and then we're missing our ethernet you might notice since we switched our resolution the background doesn't quite match that's okay we'll fix that here in a second as well and we'll do a reboot just to see how all this does on startup now to get our wireless and things working if you do a server install typically you'll be missing a package called network manager dash wi-fi you'll probably also be missing firmware drivers for your wireless i know i have an intel wireless on my laptop i had to install both those packages but since everything's hardwired i don't really care i just wanted to mention that if you do have wi-fi issues but if we do just a listing of what we're using emp one s0 is our network interface we'll edit this bar just a little bit i'm not going to go too far this poly bar needs its own video really and i wanted to just kind of go eath and uh let's go to the next this module is enp5s0 that should be a one so we'll change that to emp one and again you don't necessarily have to use them you could use uh you know code you could use g edit there's a lot of different choose whichever editor you want i just like them because it's the fastest once you learn it but can be very daunting when you start so we'll relaunch our polybar for probably the last time and we have now we have liftoff not very many errors a couple of these we could clean up obviously we don't have wireless we don't have a backlight because this isn't a laptop and we don't have battery because well there's no battery it's a desktop but these things would be installed or they'll have their own corresponding thing in polybar so for actual desktop this is pretty much perfect exactly how we want we have our browser we have everything and it should all just work on startup as this is a base install and there we have it everything looks great the only thing that didn't execute was that display script so let's fix that real fast you can see this is what the display command is x setup is what's being run just remember that location and we'll edit that script we're first enabling it drop our line that we just deleted and we'll just save that out so that is x setup all done according to our a randor now obviously we could just come back into a randar and set the resolution but we want this to stick and automatically do it on startup you'd also do it a different method i did an old video where you could hard code a comp file using x11 so there's a lot of different ways to skin this cat but let's first time our reboot process so we're just going to reboot again and i want to kind of talk through this whole thing how fast does this system start up is it truly a lot faster well i'm going to go ahead and say that was pretty darn fast i don't know what was that three four seconds five seconds that was including the full reboot time you can already see the power of not having a huge amount of stuff in your system and if we do a neo fetch after we install it of course uh it will have under 1 000 packages now just to give you a comparison base fedora desktop is over 2 000 packages ubuntu it's close i think it's in the mid 2000s as well uh arch a lot of arch distros that you can go into like gruda linux and other things that you've heard those arch distros because they're not installing from server they're just trying to put as much crap at you that you might use it ends up i think garuda's over 3000 packages i mean it gets kind of crazy some of these package loads you run into these distros where they just throw everything in the kitchen sing at you and you end up with a bad performing desktop but this is how i do a minimal fast setup hopefully this helps you out i'm going to try and develop this into more of a script and kind of go over this in the future a bit more but i at least wanted to lay out how i build my own linux desktop from server i love starting from server because you just don't have all the garbage but with that let me know your thoughts down in the comments below and thank you to all the members of this channel and those over at christtitus.com without you i can make videos like this one and i'll see you in the next one
Info
Channel: Chris Titus Tech
Views: 101,501
Rating: undefined out of 5
Keywords: chris titus tech
Id: oa3LDqV4-cc
Channel Id: undefined
Length: 22min 0sec (1320 seconds)
Published: Sat Apr 16 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.