 Are you an Ubuntu user? If you are and maybe you're an Ubuntu user and you want to experiment with standalone window managers, such as standalone floating window managers, like OpenBox or JWM or FluxBox, or maybe you want to explore tiling window managers like Awesome or Qtile or DWM or Xmone. How do you go about setting up an Ubuntu system with a standalone window manager rather than one of these full desktop environments like GNOME or KDE Plasma? Maybe you don't want any of that stuff installed on your system because you're not going to use any of those GNOME utilities or KDE utilities. And you don't want all the bloat. You don't want all these extra packages installed on your system. Well, how do you go about doing that? Well, I was an Ubuntu user for many years and I've always been a standalone window manager user. I've never used any of the desktop environments, even when I was an Ubuntu user and typically the way I went about this was I installed Ubuntu server, which Ubuntu server is a very stripped down version of Ubuntu. Hardly anything at all is installed. Nothing for graphical environments is installed at all. You start with a seriously stripped down base Ubuntu system and then you build it from the ground up, much like you would do, for example, on an Arch install. So what I'm going to do today is I'm going to install a Ubuntu server and then I'm going to install a standalone window manager and a basic suite of utilities inside Ubuntu server just to show you how to get started along in this process. So let me switch over to my desktop here. So I've spun up a virtual machine here. So and this will be Ubuntu server 20204. I'm going to use the LTS version of Ubuntu because 99% of the people that use Ubuntu as a desktop operating system or a server operating system are probably using the LTS version. So that's what I'm going to stick to for this video. So I'm going to choose try or install a Ubuntu server and this should launch us directly into a live environment where we can run through an install. Now this live environment is not going to be your typical graphical kind of environment where it launches like a live GNOME desktop and then the Ubiquiti installer launches. No, no, no, this will be all text base. So this will be a text base installer. Those of you that are familiar with the incurses text base Debian installer, the Ubuntu version of this is very similar. So I'm just going to quickly run through the installation. English is chosen as the language already. So I'm just going to hit enter and we'll move on here. And then installer update is available. Do we want to go ahead and update to the latest version of the installer before actually running the installer? Sure, why not? And you can see it looks like it is refreshing the Subiquiti installer. I guess it's the name of the incurses installer here. That's interesting to know. Then it says, please select your keyboard layout. English US is the default and that's correct for me. So all I need to do is click done here and then choose the base installation. So we're going to do Ubuntu server or are we going to do Ubuntu server? Minimize, I'm going to tab until I get up here. Now I could, you know, choose a different option here if I wanted to. But for me, I'm going to go back and choose the default option, which is the Ubuntu server option. And then tab down until I get to the done here at the bottom of the screen. And now it's configuring the network. I'm just going to click done here proxy address. I'm just going to leave empty. I don't need to enter anything for this mirror address. It's the default Ubuntu mirror. That's fine. I'm just going to click done on that. And then what kind of installation are we going to do? I'm just going to do the automatic installation, let Ubuntu automatically partition the drive here. We need to select a drive. Those we need to arrow down here to select a drive. Actually, the drive, I think it's automatically selected. But if I wanted to select, if I had multiple drives, I think I'd hit enter here and I would get a menu system. But because I only have one virtual drive in this virtual machine, there's really only the one drive to select. So if I tab down, will I get to the done at the bottom of the screen? Yes, I will. Let me hit enter. And then we get our summary. So everything looks good here. So I'm just going to go ahead and click done. And the installer is going to warn me that it's about to format the drive and write to the disk. I'm going to choose continue. Now we need to go ahead and create our username and password. So my name is DT, the server name, which is the host name of the computer. I'm going to name this Ubuntu-vert. And then we need to create our username. DT is the username. We need to create a strong and complicated password. And then one more time, confirm the strong and complicated password. And then tab down to done and hit enter. Now, do we want to install the open SSH server? I almost always have SSH installed on all of my machines because I like to be able to remote into all of my computers. But for sake of this video, I'm going to skip this because I'm never going to SSH into this virtual machine. So I'll skip installing SSH here. Next up is a lot of server related packages that we could install. And of course, we're not really setting up a server. So I don't need Kubernetes and Next Cloud and Docker. I don't need any of this stuff that is offering us. So we'll just skip installing all of this. This is really going to be a very stripped down version of Ubuntu that we're installing here. All right, and now the installation is running because we're not installing very much at all this installation really should just take probably a couple of minutes. And the installation has completed. That took about three or four minutes. You can tell the installation has completed because now at the center bottom of the screen you have the option reboot now. I tab, I can get to reboot now. And that of course will complete the installation. So that's what I'm going to do right now. And the machine has finished rebooting. So we're at a log in here. So let's go ahead and log in with our DT user. And now that we're logged in, we need to start installing some stuff. Let me clear the screen to get my prompt toward the top of the screen to make this a little easier to read. So obviously there's no graphical programs at all installed, XOR is not here. Nothing as far as GUI applications and fonts and themes, all of that stuff and none of that is here. But the good thing about Ubuntu is the app package manager does manage dependency. So if I just install anything pretty much that's a graphical program or a graphical environment, a window manager for example, it should pull in XOR and everything for us. So just to verify this, let's do a sudo app install. And for purposes of this video I'm going to choose a window manager that already includes a built in menu system and panel. So I don't need to install a lot of extra apps or do any hardcore configuration on this video because that's not the point of this video is me configuring a window manager. I want to show you how to install a window manager on a minimal Ubuntu server system. So let's choose ICWM because ICWM is a window manager with a panel and a menu system. It's almost like a desktop environment more than a window manager. So if I install this, you can see it's going to pull in 152 packages including of course XOR and a lot of the X11 utilities and that's what we want in this case. So I'm going to go ahead and install ICWM first. All right, now that we've got ICWM installed we need to install some other stuff. And just because I chose ICWM you could have installed your window manager of choice, JWM, Fluxbox or whatever it happens to be the awesome window manager. Whatever window manager you're installed though you're probably going to need some other utilities. If I can type I'm going to do a sudo app install and again we need a text editor on the system. Now the good thing about Ubuntu server unlike Ubuntu desktop is Ubuntu server does install Vim out of the box. It also installs Htop out of the box for a system monitor and a program where we can kill processes. So I don't need to install Vim or Htop like I typically would on Ubuntu desktop. But we do need a web browser because we're going to have to maybe look up documentation, right? So I'm going to install Firefox in this case. It's going to pull in Firefox by the way as a snap package on Ubuntu. So if that bothers you, install another browser that you prefer. It really doesn't matter. I know I'm going to need a file manager. I like PCMan FM for a file manager on a window manager only systems. One thing be careful about file managers. If you're choosing a file manager that is typically part of a larger desktop environment make sure when you run the install that file manager command make sure it doesn't try to pull in an entire desktop environment such as GNOME or KDE because that's not obviously probably what you want. Now I want a program that gives me the ability to set wallpaper. So I like this program here called Nitrogen. And now that we have a program to set wallpaper we need to also install a wallpaper pack. Now Ubuntu has a bunch of wallpaper packs available for pretty much every release Ubuntu has ever had. And they're typically Ubuntu dash wallpapers dash and then the name, the code name of that particular release of Ubuntu. So Ubuntu 2204 was jammy jellyfish, right? So I'm going to do Ubuntu dash wallpapers dash jammy. Let me hit enter and it's going to install some dependencies of course but it doesn't look like it's pulling in anything crazy. I don't see it trying to pull in like the entire GNOME desktop environment or anything like that. So this looks good. And you can see it's trying to install Firefox as a snap. Again, if you really want to you could go find a dead pack for Firefox if you don't like snaps or you could probably find Firefox as a flat pack you'd have to install flat pack though. Or you could install Firefox probably as an app image or again, just choose a different free and open source web browser. I'm sure Chromium is available or a cute browser, LibreWolf. I know LibreWolf is available as a flat pack and an app image. And that is finished installing. I just remembered there was one thing we forgot to install. So we installed a web browser and our file manager. But what's the most important thing we need? We need a terminal emulator, right? And Alacrity is not available in the Ubuntu repos but regardless of whatever terminal emulator you end up using, typically go ahead and install Xterm because there's a lot of window managers standalone window managers especially standalone tiling window managers they kind of expect Xterm to be installed on the system. A lot of times their menu systems are hard coded to where they have a terminal entry and that terminal entry expects Xterm to be there. So install Xterm just in case. Now I would like a better terminal emulator to use other than Xterm. So let's see, LXterminal is one that I don't mind. It doesn't have a ton of dependencies I don't believe. So let's try to install Xterm and LXterm. Yeah, there's really not much dependencies at all to either one of these terminals. So those were good choices. And that's it. I mean really I could go ahead and log into ICWM right now with the basic utilities that I've already installed. Now we don't have a login manager installed. I could install a login manager such as light DM but if I'm only gonna have one window manager on a system I could always just use start X so I could just type the command start X all one word and it should launch us into our window manager which is the only window manager on the system in this case, ICWM, but it errors out because Xinit is not installed. That is a dependency for the start X command and it actually tells us the command line actually gives us the command. You might wanna sudo have to install Xinit. So let's go ahead and do that. There were some dependencies to that. So some X11 dependencies but we need these. We're gonna need most of the X11 stuff on the system obviously to have a proper graphical environment. So now let me start X and it launches us into ICWM. Now let me see if I can get a terminal emulator up and running that way I can change the screen resolution. So if I click terminal here, yeah, it defaults to Xterm and Xterm the text is really small. I know you guys are not gonna be able to read this. So let me see if I can find another terminal emulator. I know I installed LXterm. So if I go into utilities terminal emulators there's LXterm because I can zoom in LXterm and I'm gonna run the Xrander command. Well, assuming I can type it Xrander is not installed. And once again, the app package manager is really nice because it gives us exactly what we need to do to get the Xrander command. So I'm just gonna do a shift control C to copy here in the terminal and then shift control V to paste in the terminal. And let's run that sudo apt install X11 dash X server dash utils command. And now that we've run that let's go ahead and try to run the Xrander command now. And now we get a list here. This output lists all the available resolutions for my graphics driver here inside the VM. The one I want is Xrander space dash S for set 1920 by 1080. And now we have a proper screen resolution. We have the ISWM window manager up and running. We've got a menu system and a menu system that we don't have to manually full with like you do, for example, in something like open box or JWM. This is automatically populated with the programs that we've installed, right? So that's very nice. Now we installed nitrogen for our wallpaper setter. So let's see if I can find nitrogen. There it is under utility nitrogen. And what you need to do, go to preferences and then add a directory. Now the directory you wanna add on most Linux systems is slash user slash share slash background. So I'm gonna go into slash user slash share slash backgrounds. Yeah, and there are the Ubuntu, Jami, Jellyfish wallpapers. I'm just gonna select it okay. And now you'll see the previews of the wallpapers here. I'm just gonna pick one of them. I'll pick this Jellyfish here, hit apply. Yeah, I like that. I think that's the one I'm gonna go with for now. Now let me get back into the menu system and go back to system, terminal emulator, LX terminal. And once again, let me zoom in so you guys can see what I'm about to do here. Because I'm gonna install a few extra packages. I'm just going to save some of you guys a lot of heartache and pain because there are some packages that really should be installed that are not obvious until you start trying to install other programs and you need these dependencies. For example, if you're going to build any software from source, make and a lot of the build essentials, they're not here out of the box in Ubuntu server. For example, if you're a suckless kind of guy and you wanna build a D menu or ST, the suckless terminal, they won't build because the make command is not here. So let's go ahead and sudo apt install build dash essential. Give it your sudo password and you can see now it's going to install make and lib fake root and all the stuff that we need to actually do a proper configure make sudo make install. Now let me go ahead and clear the screen. Now some other things that I might install would include things like lib x11 dash dev. I'm also gonna install lib xft dash dev. I'm also gonna install lib half buzz dash dev. And the reason I typically install these are these are dependencies for things like the suckless terminal. They're also gonna be dependencies for other things. You're gonna need lib xft for a lot of things. And then also I'm gonna install lib Xenorama if I can spell it correctly dash dev. And I know that is needed for D menu to compile correctly. And even though I haven't installed the suckless terminal or D menu, again, I'm just saving myself some time in the future in case I do install those programs or other programs that will also depend on these very basic packages that on most Linux distributions they'd already be installed anyway, but because we installed such a minimal server distribution obviously these things are not here. And now that I have those basic dependencies installed what I could do, I could get clone some of my packages some of my suckless builds from my GitLab. So I could get clone HTTPS colon slash slash GitLab.com slash DWT1 slash. And let's go ahead and download my build of D menu which is a D menu dash distro two is the name of the package. Now if I do it in LS you see I have a directory here in my home directory D menu dash distro two. Let's go ahead and CD into that directory by doing LS. There is of course the source files. And now let's do sudo make install. Now this command would not have run had I not installed those build essentials earlier. So that's why I did that. And now it compiles correctly. So now D menu should be installed on our system. So if I did D menu underscore run here from the terminal you can see at the top of the screen there is D menu and I could search for a program for example, search for LX terminal just to open another instance of the terminal because we don't have much else installed. So yeah, so that is a very quick installation of Ubuntu server with a very minimal window manager and just a few basic applications just to get you started along the way. Now before I go I need to think a few special people. I need to think the producers of this episode. And of course I'm talking about Gabe James Matt Maxim, Mimic Mitchell Paul West. Why you bald homie Alex, Armored Dragon, Chuck, Commander Henry, Diokai, George Lee, Mars, Drum, Nate, Erion, Alexander Paul, Peace, Archimoudour, Polytech, Reality, Swirless, Red Prophet, Roland, Steven, Tools Devler and Willie, these guys. They're my highest tiered patrons over on Patreon. They are the producers of this episode. The show is also brought to you by each and every one of these fine ladies and gentlemen. All these names you're seeing on the screen right now. These are all my supporters over on Patreon. I don't have any corporate sponsors. I depend on you guys for support. If you like my work and want to see more videos about Linux and free and open source software subscribe to DistroTube over on Patreon. Peace guys. I forgot to install Emacs and ZeroAD.