 One of the most often asked questions that I get from new to Linux users is how do I learn Linux? How do I learn more about Linux? How do I become a better Linux user? And typically when people ask me these kinds of very general questions, how do I learn Linux? I tell them, well, use Linux, right? Use Linux, and naturally the more you use it, the more you'll learn. But that's kind of a cop-out kind of answer. Today, I wanted to actually dive a little deeper and actually give you my top five ways to learn Linux. Now know this, everyone is wired differently. The way I learned so much about Linux, you know, the way I gained a lot of knowledge about Linux is not the way that you necessarily have to go about it. But I'm going to give you what I found were the five things that made me progress faster as far as learning more about Linux. Number one, virtual machines. Virtual machines are an invaluable resource. Virtual machines allow you to install an operating system inside a virtual machine, right? It's not actually installed on physical hardware. It won't ever touch your existing operating system, Windows, for example. So you can install Linux on Windows inside a virtual machine and take it for a test man. See how you like it, you know, check things out. And it does absolutely no harm to your computer. It doesn't actually overwrite anything on your existing drives, right? Because everything technically is in a virtual machine. And if you're switching to Linux here in 2022, you have it so much easier than I had it when I switched from Windows to Linux in 2008 because of virtual machines. Virtual machines, they were around in 2008, but virtual machine technology was nowhere near as advanced as it is now. Back then, you know, a virtual machine, you could tell it was a virtual machine. The performance wasn't good. Things were broken. However, these days, you can install an operating system inside a virtual machine. Most of the time, unless you know for sure that it's running inside a virtual machine, you really can't tell a difference between the VM, the virtual machine, and that operating system running on bare metal. So what virtual machine program do you need to install on your system? Well, if you're new to virtual machines, the one I recommend because it's the easiest to get up and working, and its cross-platform is VirtualBox. If I cross-platform, I mean VirtualBox works on Windows, Mac, and Linux, and I'm talking about host machines, meaning your physical computer. It can be running Windows, Mac, Linux, it doesn't matter. VirtualBox has additions for all of those operating systems. And you can see inside VirtualBox here, I have several different things installed. I have a Windows 10 virtual machine and several Linux virtual machines. Let me start one of the Linux VMs here. And this is a Lubuntu virtual machine. I don't know how old this VM is, it's probably very old. I don't use VirtualBox that much these days. Let me log in. Yeah, and this is Lubuntu. So I could take Lubuntu for a test min, try it out, you know, I could actually make it full screen to where it takes up the entire monitor, and I would never even know I'm in a virtual machine if I wanted to do that, and you know, live in it, you know, pretend like it's my real machine. And I could do that for a little while until I'm comfortable with it, and actually want to install it on physical hardware, or maybe I don't like Lubuntu. And then I go grab another Linux distribution and install that inside VirtualBox and give it a spin. Let me go ahead and shut down this VM. Now I mentioned I don't use VirtualBox that much these days. I keep it installed, but these days I use a program called VirtManager for my VMs. You can see I've got a lot of VMs installed using VirtManager. VirtManager is not cross-platform. VirtManager uses a technology called KVM, which is kernel virtual machines, kernel meaning the Linux kernel. So this is strictly for Linux hosts. You have to be running a Linux operating system to install VirtManager on it. But you can install any virtual machines in it. You can install Windows VM or Mac VM, of course, various Linux VMs. That doesn't matter. But the host machine for VirtManager needs to be Linux. VirtManager offers some performance increases over VirtualBox if you're running Linux, because again it uses the KVM, the kernel virtualization modules. So you gain a little bit of performance because it's actually accessing the kernel and some of your physical hardware. Now number two on my list of top ways to learn Linux is doing a Arch installation and reading the Arch wiki. And so it's really two things, but they kind of go together. I think by far the best resource for learning anything you want to learn about Linux is the Arch Linux wiki. Let me go to archlinux.org, click on the wiki tab. And if you go to the wiki page, you can read all kinds of things. I would start with the Arch installation guide. And I would actually install Arch Linux inside a virtual machine reading the installation guide and following along with the wiki. I think that is one of the best ways to quickly gain a lot of knowledge about Linux that otherwise you wouldn't learn. Because there's several things that you're going to learn when you install Arch. You're not going to learn by running standard distributions, you know, like Ubuntu or Mint or even things like Fedora, even things like Debian, which is a more minimalistic distribution. They do a lot of heavy lifting for you where Arch really makes you learn about partitioning your drives, creating users, you know, creating users and groups, adding yourself to a sudoers file, setting up a locale, setting up language on your system and all kinds of things like that that normally is just done for you out of the box. An Arch installation really doesn't take that long either. Now if it's your very first Arch installation, it might take an hour or two because you're going to have to read the wiki and try to understand what the wiki is saying before doing these simple steps. But after a while, you know, once you've installed it a few times, an Arch installation seriously, the base install takes like 10 minutes. There's not much to it. And that's why I recommend the Arch installation as a good way to learn Linux rather than more lengthy installations like Gen2 or Linux from scratch, things like that, that are going to take many, many hours. And then there's the compile times and things like that where the Arch installation is very quick and it still teaches you everything that you need to know as far as building a system from the base up. Now, keep in mind, even though I'm saying one of the best ways to learn Linux is to install Arch Linux, I'm not actually telling you that you need to use Arch Linux as your distribution. I'm telling you at least a few times, it would be great if you ran through the Arch installation process reading the wiki, right? You can still run Ubuntu or Mint or MX or Manjaro, whatever Linux distribution you want to run. That's fine. But again, if you're wanting to dive a little deeper and learn a little more, run through an Arch installation, even if you're not going to run it for many, many years before I started this YouTube channel, I would not run a rolling release distribution on my main machine because I wanted stable distributions. I loved Debian stable. I loved Ubuntu LTS because they didn't change that much. And that's what I wanted. Again, before doing the YouTube channel and experimenting with so much different software, now I need a rolling release. But back then, I wanted stability. I used to install Arch in VMs. I'd play with Arch. I'd even put it on my main machine sometimes and play with it for a few weeks or whatever. But I always came back to these other more stable distributions, you know, static model distributions. But I still think Arch really helped me even though I didn't run Arch. It still made me a better Linux user having gone through that installation process and read a little bit of that wiki. Another one of my top ways for you to learn more about Linux is number three. Use a standalone window manager. By standalone window manager, I mean don't use a complete desktop environment. A complete desktop environment includes a window manager, but it also includes panels and all the background services, your volume manager and your clipboard and system tray and all of that stuff, right? You get this complete user interface where a standalone window manager is just the window manager part of that equation, meaning it's a frame that draws a window on your screen. May or may not come with a panel or menu system or assist tray or volume manager, clipboard manager, you know, a keyboard layout, little applets and things like that is not going to come with any of that stuff because it's just a window manager. And why would this make you learn more about Linux? Well, because a standalone window manager, you have to build a desktop environment around it, right? You have to install a panel. If you want a panel menu system, system trays and various system tray applets and background services, background daemons that are running in the background, listening for various things, you make your desktop environment that makes you learn much more about what's going on under the hood, where if you just simply run GNOME or KDE Plasma or XFC or any of the big desktop environments, you don't really know about those things, right? You're presented with this complete user interface, but you don't really know all the components that are a part of that. If you're looking for a good standalone window manager to try out, if you want a floating window manager, you know, a traditional floating window manager, I would suggest trying out OpenBox. It's extremely minimal, right? When you log in, all you get is like a brown screen or a gray screen. It doesn't even draw wallpaper. There's no panels, nothing like that is very minimal out of the box. But I've done some videos in the past about setting up a complete OpenBox desktop environment, and you can go check out those older videos. They still apply today. It's not that hard for those of you that want to experiment with tiling window managers. I've done a lot of tiling window manager videos. This is my desktop environment that I had to create using Xmonad here. So obviously, when I log into Xmonad for the first time after installing it, it's not configured. It's a black screen. Doesn't have a panel. Doesn't come with a panel. Doesn't come with a system tray. It doesn't draw wallpaper. It doesn't come with anything. I have to make the desktop environment happen by installing and configuring a lot of extra stuff. And again, it's not I do this because it was a learning experience, but also beyond the learning experience at the end of the day, when you do something like create your own desktop environment, you really tailor it to your needs. And in many cases, it's much more satisfying and rewarding than just being served a complete desktop environment like you know, Mercady Plasma. Another way to learn much more about Linux is number four. Use the command line as much as possible. Just open a terminal and use the command line. Most things, most basic stuff that you do on your computer can all be done at the command line. In many cases, it's faster. And of course, you're going to learn much more about how things work under the hood by doing this. And I will give you two examples of where I think everyone should be using a terminal. Like if you're a complete new, but complete beginner, I don't care what distribution you're running. Do not ever open a graphical software center, graphical package manager. Learn the package manager on your system. So if you're on Debian or Ubuntu or any Debian or Ubuntu based system, of course, you're going to use the apt package manager. Learn how to update your system using the package manager app. So you would do sudo apt upgrade and and sudo apt update. That is the command to update your system on any Debian based or Ubuntu based system. Learn to do that, right? And this is not a difficult command, right? And then if you want to install software sudo apt install name of package, for example, g edit, or if I want to remove something sudo apt remove, you know, name of package, maybe I want to remove Firefox if it was installed, you know, that's how you would do this on a Debian or in a Ubuntu based system on Arch. Of course, you use the pacman package manager sudo pacman dash capital s lowercase y lowercase u to update the system to install software. Just sudo pacman dash capital s name of package, for example, yet annex a program I did a video about the other day of where I want to remove software dash capital r name of package. Maybe I want to remove g edit from the system. And of course, Fedoro will have its own package manager, DNL. You have to learn the commands for that. But these are really simple things to do. And it's great to learn this stuff for emergency reasons, because sometimes what happens in a situation where you do an update and bad things happen, maybe the graphical server X, you know, it crashes, right? You can't even log in to your desktop environment or window manager. So you have to drop to a command line. Well, now what do you need to do? Well, I need to roll back a package. Maybe I need to uninstall something I just installed because that's what broke things or I need to install a different video drive or whatever it happens to be. If you don't know how to use your package manager at the command line, you're completely hosed at that point. So that's why I say this is the very first thing you need to do on any desktop Linux distribution, learn to use the command line every time you do anything with package management. And I would also suggest open a terminal every time you need to do something with file management. File management means any time you need to move around the directory structure, move files, copy files, make files, delete files. So I'm in my home directory right now, PWD, print working directory. You can see that's home. Maybe I want to make a quick edit to a config file somewhere. Well, I could CD into dot config. We'll assume I'm going to do a quick edit in my Qtile config. So I'll CD into dot config slash Qtile and do an LS. Config.py is the file I would typically edit. So I could open that with Vim or Nano or whatever it happens to be that I want to edit this file with. You know, I could get in here, make a quick edit and then get out of it. Now, if I want to copy this file, maybe I want to copy config.py to I don't know my downloads directory. So I could, you know, just copy that over. And of course, I could do all of this using just a standard graphical file manager. But again, just like the package management part, what happens if you're forced to use the command line because something bad happened on your system? You're going to have to do some file management stuff, right? Because many times when your computer crashes, it's because you made a mistake, especially some system config file somewhere. Well, now you need to actually go to the command line, navigate to the directory that config file is at, open that config file, make the edit, right? And you need to know how to do that stuff. And if you're all you ever do is use a graphical file manager. Again, when you're in this situation, you'd be completely host. And number five on my list of top five ways to learn Linux is understand the history and the philosophy behind Linux as our operating system and behind the free software movement and the open source software movement, right? You need to understand how all of this got started because there is a serious ideological difference between free and open source software and proprietary software. And without the history, the creation of the free software movement and the ideology, there wouldn't be a Linux kernel. It would have never gotten created. There would not be a Linux kernel today if they moved away from those ideals, because people would just stop working on it, right? If the Linux kernel became proprietary tomorrow, literally no one would contribute to it anymore, right? So you have to understand what makes Linux Linux, right? It's all about free and open source software. Understand, again, the history of it for those of you that want a really good book to read. It's not a very lengthy book, but it will give you a great insight and to the beginnings of everything. Check out this book here, Free as in Freedom. This is Richard Stallman's crusade for free software. This book was written by Sam Williams. And this is a great book for those of you that want to see how, you know, back in his college days, Richard Stallman began thinking about free software versus proprietary software and how he eventually founded the GNU project and the free software foundation and how eventually Linus Torvalds and Eric Raymond came around and created the open source movement, how those movements are a little bit at odds, but in many ways, how they're also, they share a lot of ideas as well. And I really think learning the history and learning a little bit of the philosophy behind the free software movement, the open source software movement will greatly improve your learning about Linux as an operating system, becoming a better Linux user, better Linux system administrator for those of you that actually work with Linux computers. But I just think also it just will improve your understanding of the Linux community as a whole. So that was my list. Again, it's a personal list because that's my way that I learned Linux, right? What I consider the biggest things that helped improve me once again, just a quick recap of my top five ways to learn Linux was virtual machines, Arch Linux plus the Arch Wiki, use a standalone window manager, use the command line as much as possible and understand the history and the philosophy. Now before I go, I need to thank a few special people. I need to thank the producers of this episode. Devin Gabe James, Maxim Met, Michael Mitchell, Paul Scott Wiss, Alan Ormer, Dragon Chuck, Commander Ingrid, Diokai Dillon, George Lee, Linux Ninja, Mike Erion. I missed all of this up. Alexander, he's watching from doorbell, David Prophet, Stephen and Willie. Well, I probably should rerecord that. No, I'm not going to. We're just going to leave it as is. But these guys, they're my highest tiered patrons over on Patreon without these guys. This episode would not have been possible. 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. These are all my supporters over on Patreon because it's just me and you guys, the community. If you like my work and want to see more videos about Linux for an open source software, subscribe to DistroTube over on Patreon. All right, guys, peace. Are you surprised I didn't mention Vim or Emacs?