[ TIP ] How to get good at GNU/Linux

How to Learn GNU/Linux

This post is inspired by the question posted here: Do I know better?
Since this question or a variant of it comes up fairly often, and I find myself repeating it very often, I’ve decided to put it in a separate thread, as a guide.

It is intended primarily for newbies who fancy themselves as “power users”, but find GNU/Linux unfamiliar.

Obligatory disclaimer: this is all very, very opinionated. Being convinced that I am right, I state my opinions as if they were facts, and you may easily find yourself in disagreement with me.

Unlearning windoze

Using your computer with the GNU/Linux operating system is very easy. It is something an idiot can do. GNU/Linux is a very simple operating system, and also very logical. There no concepts related to its daily use that are intrinsically difficult to grasp.

The biggest difficulty in getting to know the GNU∕Linux operating system is, in my experience, the user’s familiarity with another operating system that is fundamentally very different from GNU/Linux. In that regard, the so-called “power users” are at a disadvantage, compared to “normies” who do not know much about their computers. A windoze power user who decided to switch to GNU/Linux will find himself in a completely foreign land, and very little will make sense to him since he already has preconceived notions and expectations of how things ought to be. Also, he will be greatly frustrated when he realises that his vast knowledge about the other operating system, and skills which took years to acquire, are now utterly useless on GNU/Linux. Since everything is so different, suddenly he has no idea how to accomplish even the simplest tasks which before he took for granted.

He will be tempted to dual boot with windoze. After all, one needs windoze for gaming, right? (Wrong!) So one might as well use it for other tasks, like Photoshop – who has time to learn GIMP, anyway – and you need M$-Office, since you have to be compatible with your coworkers and friends, right? (Absolute twaddle, screw them and their defective-by-design proprietary file formats! :frog:)

He might have the best intention to switch completely to GNU/Linux, to use GIMP and LibreOffice, to play games through Wine, etc… But he is taking it slowly, it is difficult to just wipe the windoze partition clean and never look back.

Dual booting windoze is stupid and you should not be doing it.

There are at least three reasons against it:

  1. It is really the slowest and the most painful way to learn GNU/Linux, it is like slowly removing a band-aid.

  2. Dual-boot setups are more complicated, tend to create problems all the time. There are countless posts here on the forum of situations where a windoze update wiped out the bootloader, making Linux unbootable. It is not something you want to worry about when struggling to learn a completely different operating system.

  3. It is not secure. Windoze is not only ridden with malware, it is malware. You are probably aware of that and it may be one of the main reasons why you wish to switch to GNU/Linux. Windoze makes Linux unsafe, since it can read and modify Linux partitions without the user being aware of it. Does it actually do that? I don’t know, and neither do you. But it certainly can do it, so it is up to you to decide how trustworthy M$ is…

All learning happens outside the comfort zone. Learning is a fundamentally uncomfortable process. A windoze power user will, naturally, want to avoid this discomfort, by keeping a windoze partition around as a fail-safe. When he installs a GNU/Linux distribution, he will probably be very enthusiastic about this shiny new operating system, but slowly, as he gets more and more frustrated about the new operating system not conforming to his expectations, he may find himself booting windoze more and more often – until he realises that Linux is nothing but a 50 GiB partition of wasted space, he never uses. He had good intentions, but wasn’t willing to endure the discomfort for a prolonged period, which his fail-safe dual boot setup allowed him.

A Better Way

Instead, it is much smarter to do it cold turkey. Just delete windoze, install a GNU/Linux distribution and deal with any difficulties that will arise, keeping a stiff upper lip. Make it be the only operating system you use. If you are getting a new computer, do some research about hardware compatibility (avoid NoVidea graphics). When you encounter a difficulty, don’t look for shortcuts, do it as you would if no other operating system existed. When you need to edit a photo to make a dank meme, you will not be tempted to boot up windoze where you have your Photocrap, because you will have already deleted that partition. Instead, you’ll do it in GIMP, shaking your fist and swearing at how “unintuitive” its UI is. For the first few months (maybe up to a year), it will feel hopelessly awful, but take solace in the fact that this is just a transitional period you have to endure. It is not easy to suddenly become a complete newbie, with people who may be your intellectual inferiors suddenly being more knowledgeable than you. But if they could become comfortable with this operating system, by golly, so can you!

On the other hand, a grandma learning Linux is quite an uneventful process. She has no expectations of it, she is blissfully unaware of how things are different on that other operating system. She finds it very easy to launch a web browser and find a recipe to the new and improved prune juice, and to write a letter in LibreOffice to her knitting club. She knows that Linux is easy, and does not make a fuss about it.

Be smart like grandma. Use your system daily, do not worry about breaking things, fixing them will be a great learning experience. Do not bother with system snapshots or try to make your system unbreakable. But do keep a backup of all important files, preferably on multiple external drives (hardware fails all the time, this is not a matter of Linux vs. windoze). And please, do not reinstall your GNU/Linux distribution every time you encounter a problem – doing that will only make you good at one thing: installing Linux. Ideally, if you are using a rolling release distribution like EndeavourOS, you should do that once per computer and not look back.

If you are curious, you can do some distro-hopping, but since you are reading this on the EndeavourOS forum, you’re probably home already.

Necessary Skills

If you are like grandma, you will need to know how to do the things you want to do, and nothing more. You do not need a deep understanding of how your operating system works. In that case, using a GNU/Linux distribution like Linux Mint will make your life easy. Linux Mint has the internal machinery of the operating system abstracted away from the end user by a layer of GUI utilities.

However, if you are a tinkerer, a curious newbie wanting to grow a legendary UNIX beard, you will be better off with a simpler system which lacks such abstractions. Here “simple” does not mean “easy to use”, but “lacking complexity in its parts”. EndeavourOS is perfect for that, because it is basically, Arch Linux. All of the benefits of Arch apply here, too: it is a fairly simple operating system, the great documentation for it is provided in the form of the Arch Wiki, and you have access to one of the largest user software repositories in existence: the AUR. In addition, you can get EndeavourOS up and running quickly and effortlessly, thanks to its ISO live image with Calamares installer, and it also has the best support forum on the web.

Be prepared to do a lot of reading, especially the Arch Wiki, but also the manpages that come installed on the operating system. They are a great source of information and will greatly help alleviate your newbie frustrations.

Try to get comfortable with the shell. A shell is a program that runs in a terminal emulator and lets you type commands to your computer. The two most popular ones are Bash and Zsh (don’t bother with fish). This command line interface (CLI) is the most efficient way for humans to communicate their intentions to the computer. If you want to master Linux, you should be very comfortable with it. And how to get comfortable with it? Like with any other thing, just use it daily. If you are using Arch or EndeavourOS, you should, at the very least, use the shell for all package management (installing, upgrading and removal of software). Don’t bother with GUI package managers like Pamac, they are utter rubbish. If you are comfortable with the shell, you find it much easier to do troubleshooting and you will not dread having to chroot when your GRUB breaks. :rofl:

If you are so inclined, do try to get your feet wet with some shell programming (“scripting”), too. If you are already knowledgeable about programming, you should find it fairly easy (though very frustrating at first, of course!). Reading a book about it could be helpful, but unless you actually do it, purely theoretical knowledge you get from a book will not stick.

Unless you intend to quickly land a job as a Linux sysadmin, I don’t think you should bother learning about the components of the operating system, like soystemd. Eventually, you will learn all of that, out of necessity, but I would not do it sooner than the need arises.

Do not rely on YouTube videos and various “tech” websites about Linux. While it may seem like good source of information, a lot of these Tubers are utterly incompetent idiots who often give seemingly good, but actually disastrous advice to newbies. They are in it for the clout, not to help you. While there are a few good ones, as a newbie you have no way of telling them apart, so better avoid it all.

Instead, a good way to learn is to read this forum, especially if you have a question to ask, but also if you don’t – a wise person learns from his own mistakes, but a wiser one learns from the mistakes of others. Read what problems others are experiencing, help them if you know the answer, but if you don’t, wait until someone solves their problem and observe the solution. Even better, try to find out what was the general method for solving such a problem. Soon, you’ll discover how useful system logs can be, how permissions work, how package management works, what is a partial update, what are mirrors, etc, etc… There is so much foreign terminology here, but you don’t have to have a systematic approach to learning all of it – if you are at all interested in it, you’ll eventually absorb it. And if you are not, don’t waste your time, there is nothing wrong in being just be like grandma and enjoying using your computer.

Remember, it takes time. Don’t be frustrated at the fact you cannot do it overnight. It actually takes much less time than you probably think.

And remember to stay hydrated, by drinking at least eight glasses of water every day. :frog:

21 Likes

P H Y S I C A L L Y . R E M O V E . W I N D O Z E
honka_animated-128px-40

5 Likes

The best way to learn Linux! That’s exactly how I did it.

2 Likes

This cannot be. If that were the case, Linux would be much more widespread in our country’s authorities and government…

2 Likes

I think for most people it will be a slow process. The approach to start using open source software maybe a good one, even if is starts in windows or Mac. Recommending to wipe and install Linux may seem too radical, while I would do the same, it could result in a bad experience, or too much to learn (or unlearn?) at once. I used Linux first in a VM, then dual boot. Nowadays computers have so much RAM and CPU that remain unused, actually one could just run Linux for a safe and stable system, and a VM if necessary to run proprietary software for work in windoze.

The major comment I hear is the lack of time to learn about new things, such as command line in arch, or just gui like gimp. I don’t buy that, as I switched 100% Linux during one of my busiest time of my career. Just saying, it is absolutely possible to switch and learn new things. The major tasks can be done quick in Linux (email, web, presentations etc…), the rest can be learned stepwise. But that’s also why there are different distros that may require different maintenance levels, like Arch vs Ubuntu.

People also generally think proprietary software must be better. Typical example adobe photoshop and illustrator vs. Gimp and inkscape. Funny thing is that 99% of the time users use a fraction of the tools, which are also available in open source alternatives. So perhaps, learning Linux, the barrier is not only learning about the system but about using open source alternatives.

One major step, is to understand the concepts of repo and package management. The way to install software is quite different in Linux. It’s good to learn about proper ways to install or not install software and what can potentially break your system.

  • Arch use the main repo. If need a software not present in repo use AUR, rather than download and compile some stuff from github. Or at least, get flatpak containerized version if not in AUR.

  • Debian based use the main repo. Don’t use ppas. If not available I would use flatpaks.

The least software you install outside the distro repo, the smaller the chance to get some glitchy behavior.

And biggest one learned the hard way:

  • if you can, avoid Nvidia and hybrid laptops. Optimus is hit and miss.

1 Like

Yes that’s the biggest one indeed! :+1:

P.S. Although i’d say unlike just using Nvidia - Hybrid / Optimus technology is always a miss, it’s flawed by design, created for unbearable suffering.

3 Likes

And by all means never underestimate your grandma. She might and will surprise you. :slight_smile:

3 Likes

image

8 Likes

Personally, I don’t have a huge issue with Nvidia (though that is spoken as someone running older hardware. Shout out to the folks maintaining nvidia-340xx-dkms!).

For me, the problem is trying to make Optimus run “seamlessly” under Linux. On the laptops where I’ve tried to do it, it never seems to work right. I much prefer the Pop OS! approach- Pick a GPU for the session. If you want the other one, throw a switch, log out, and log in again.

2 Likes

There is no OS that handles Optimus seamlessly without having massive problems (even if it’s not obvious for unsophisticated users), it’s absolute crap.

He said “idiot.” Not “functional chimp.”

And what do Gnus have to do with Linux anyway? :laughing:

1 Like

Completely agree with your to the point explanation.

But,

Ooof…

For this thing, this applies I guess :rofl:

All of these happened to me.

Willing to learn is all that someone needs to start on GNU/Linux, no matter what distro was chosen.

Yeah, I know some good youtubers and a lot of bad ones. Maybe it’s a good idea to create a list of both of them. In fact, when I was trying EOS on VM, I’ve installed pamac because I’ve seen some youtubers doing so; at least, I’ve learned from them that it’s better to do some research on official channels prior to install anything.

Yep, that’s because you want to learn, most users just want to power on their computers and start working or gaming.

I didn’t undertand this when I left Windows and started with Debian / Ubuntu based distro, just because all the packages are available. Soon I’ve learned that it’s not only the availability, but the way they are managed and I really liked pacman + AUR, knowing that almost any issues would be caused by me.

I still don’t understand all differences between apt and pacman, but it’s pretty easy and fast to use the last one once you get to remember what every command option does.

1 Like

Instead, it is much smarter to do it cold turkey. Just delete windoze, install a GNU/Linux distribution and deal with any difficulties that will arise, keeping a stiff upper lip. Make it be the only operating system you use.

This is IMO just overkill. I will say it this way: If my first distro (Linux Mint) didn’t allow dual booting, I wouldn’t have installed it. In fact, LM installer failed to detect Windows at first, and I closed the installer and tried to make the installer detect Windows. Google (back then​:wink:) recommended a chkdsk (fsck on Windows) for root drive and then installer picked up Windows. After that, I let the installer run.

Ditching Windows with a clean install will cause immediate frustration and will very likely result with Linux being uninstalled with Windows clean install. A better approach would be switching to FOSS programs on Windows, creating a disk image of Win and running a clean install of Linux. This way, you are both prepared and have an emergency exit, however the exit is troublesome because it will delete Linux and you have to fight to keep Linux running.

3 Likes

I don’t think that’s a good idea. It’s hard to remain unbiased, and even more difficult to have a consensus on what is good and what is bad. For example, I know there are some Tubers that are quite popular in this forum, some are members here in great standing, fun, nice people, but I wouldn’t recommend their videos even to my enemies. Of course, I shall not name anyone. :rofl:

So I’ll leave it at this: there is a lot of misinformation and bad advice on YouTube, and there is some good stuff as well. Once a newbie knows enough to tell the two apart, YouTube can be useful. Until then, take this as a warning.

1 Like

My IMHO:

Not for learning Linux. Not for getting advice on that!

Not before setting up Arch the Wiki-Way:
It is fun to do it that way, and you do it once, twice, and perhaps even three times, before you get it working properly. You can learn much of that in a VM, already.

When it finally works, you will feel you learned something about how linux is set up to work, which can give some great joy!

And in the meantime, unwantingly perhaps, you got hooked to the terminal!

It so happened to me.

:wink:

I think you got it all wrong! I don’t see any issue with @Kresimir post regarding learning linux. It doesn’t come off as being elitist in my view. It’s just an opinionated point of view. A person can be opinionated without being elitist! I also don’t think it’s drivel nor childish. It’s just an opinion based on knowledge and users experience. :innocent:

4 Likes

If you love Microsoft so much, then why do you come here, and spoil a creative discussion on how to learn linux the better way?

Even if the discussion is opionated, the reason for this is, most here left Microsoft products in search for something better, and for many it is more than a few years ago.

So, accept it, or leave it as is, but don’t start putting your anger on people, who are here trying to help other early linux users, please.

Thank you.

1 Like

I don’t think this is necessarily true. I also have dual boot Windows and Linux on some machines. Others with just Linux. I think the pros and cons to each OS are in fact what the OS is trying to achieve. Linux is open source and Microsoft is not. They are in it for the $$.

2 Likes

Self-congratulating seems to be an oh… ever so ubiquitous human trait…

1 Like