I’m talking about like your mom if she started using Linux, and just needs it to be able to open a web browser and check Facebook or her email or something. A student that just needs a laptop to do homework and take notes, or someone that just wants to play games on Steam and chat on discord.
I’m working on a Windows - > Linux guide targeting people like this and I want to make sure it can be understood by just about anybody. A problem that I’ve noticed is that most guides trying to do something like this seem to operate under the assumption that the viewer already knows what Linux is and has already made up their mind about switching, or that they’re already pretty computer savvy. This guide won’t be that, I’m writing a guide and keeping my parents in mind the whole time.
Because of this there’s some things I probably won’t talk about. Do these people really need to know that it’s actually GNU+Linux? No, I don’t think so. Should I explain how to install, use and configure hyprland, or compile a custom gaming kernel? I dont think that’s really necessary. You get what I’m saying? I don’t want to over complicate this and scare people off.
That being said I also want to make sure that I’m not over simplifying by skipping on key things they should know. So what are some key concepts or things that you think even the most basic of Linux users should understand? Bonus points if you can provide a solid entry level explanation of it too.
Contrary to what others write*: Yes, the terminal.
It’s not that you can’t get by without it on many distros, for most things. But for even for medium and non-techy users, getting the fear of the terminal out of the way early will make their journey much, much smoother. It doesn’t have to be much, no shell scripting or anything, just the basics, conceptually what a terminal is, what the shell is, how to execute stuff, maybe
chmod +xto execute, other utilities likels,cp,mv,mkdir. maybe symlinks/ln. That’ll be enough to take away the fear if they see any “Now do this in the terminal” advice online (which they absolutely will, let’s not delude ourselves), and maybe enough to get them to notice that “huh, sometimes the terminal is more convenient, they weren’t bullshitting when they said that”.*) Since you asked about “beginner Linux users” and not users that “just want to use their computer and not think about the OS at all”, I’m pretty confident about that assertion.
PS: I really think that’s not too much too ask. I remember my mother learning DOS commands back in the day for a regular desk-job. Everyone can do this, it’s not difficult, people just have to let go of a few false preconceptions drilled into them by the industry (MS, Google and Apple).
If it can’t be done in the GUI, it’s not worth doing. If that includes something a basic user would need, the that’s a failure of the OS.
If it can’t be done in the GUI, it’s not worth doing.
Anything can be done in the GUI, specifically often a lot of things not worth doing. The question is if it makes sense doing something in a GUI and if (since we’re talking about FOSS here) someone is willing to spend their valuable time developing an app they won’t use themselves, that does the same thing but worse and in a GUI.
Also this was about Linux beginners, not this mythical “basic user” that supposedly doesn’t care enough to learn, but enough they want to switch away from whatever crap they were served by Apple or Microsoft.
True, especially the part about your mom and others that had to use PCs in the 90s and 80s. I suck with a lot of CMD/PowerShell/Terminal stuff and get really in my head about whatever I am doing. Though a lot of it is due to things like switches and formatting order. Can be very very frustrating if there are a lot of them and having to constantly look at what they mean since they aren’t just regular words (which would obviously make the amount of typing get out of hand). The other main issue for me is dealing with moving or copying things around. GUI is much easier to get due to being able to see it in the same way I would move/copy things IRL. Especially frustrating if using USB drives, since they don’t just auto-mount/assign a letter if only using something without a DE. That part is (for me) a headache to have to deal with since the same OS will just do that if a DE is used. But also not something I do every day (or very often as I mostly use Linux when messing with my Pi).
But your core point of just doing it is very true. The reason that folks in offices in the 90s and 80s were able to get used to it was because they had to, and that there was a reason to at least know the things to do what they needed. They didn’t have to get bogged down with all of it (or even need most commands). So it would be best to focus on the things that are needed to get daily things done. Then it makes a lot of other bits easier to handle later on. And a lot of common things can be printed/written on cheat sheets or getting stickers with common commands to put on the side of the case or stuck to a desk in easily glanced at locations.
The other main issue for me is dealing with moving or copying things around.
I don’t think anyone needs to do a lot of file-management on the command-line. GUI file-managers are perfectly fine for home-directory stuff, USB-drives, network directories etc., but you’ll run into problems when accessing system files. There’s also TUI file managers like Midnight Commander which some would probably consider the best of both worlds. I personally prefer dired on Emacs (and Emacs in general to most terminal based applications).
As I said in the beginning of my comment, you can do 99% of your daily Linux desktop usage in the GUI, and you don’t have to be used to or fast with the terminal. I just want new users to get rid of that fear, so that when they need to do something with it, they’re not giving up or putting it of, but read and try their way through it and maybe learn something cool. Every Linux user (managing their own system) will need it once in a while and that’s probably not going to change in the near future.
And a lot of common things can be printed/written on cheat sheets or getting stickers with common commands to put on the side of the case or stuck to a desk in easily glanced at locations.
I’m a developer and pretty experienced with the terminal, but I still do this. Not printed out or anything, but for each program with complex switches (like ffmpeg, qemu, docker, git, curl) I have an entry in my personal Wiki (also Emacs: org-roam) giving me a quicker overview over things I’ve already figured out in the past than a man-page can provide (it doesn’t hurt though that Emacs has a pretty great man-page viewer too).
The biggest “Linux” skill would be package management. It is one of the biggest differences.
Most of the rest of the advice here stems from desktop environment choice.
Any good reading resources? I make it work, but love to learn it properly
The Arch wiki is king https://wiki.archlinux.org/title/Main_page
I’ve never browsed it from the homepage, but if you have any questions, it has so much information even if you don’t have Arch.
Also, man pages are clutch.
In case you don’t know about man (this works in all linux not just Arch: https://wiki.archlinux.org/title/Man_page
I find that one of the biggest differences is the file ownership/group design, and the non admin user. Sure, it might not come up in a straightforward manner, but it will.
Why do I need to put in a password all the time? How come I can’t just move this file to another drive?
This might be too “advanced” for what you’re looking for, but I think even basic usage comes across this.
i came here to say this. I was really frustrated for a while figuring this out and understanding how it really makes things more secure, even if you’re the only one using the computer. At first it drove me nuts when my server would auto create a folder for media and I’d attempt to change some files within and not have permission, like, my account should have access to everything.
Changing access permissions without understanding how/why completely borked my first install by setting a user without sudo privileges as primary (or something, I still don’t know what I did haha) but I couldn’t sudo anything and was locked on that profile.
I started by just using Nautilus but this is not good practice so I learned the basics and it finally started making sense.
Yeah, I always bring this up because it’s what I dealt with. Mind you, it was amplified because I set up a media server right away and got seriously confused.
What? Permissions don’t get inherited? OK fine, so how do you set permissions? This site says 755 and this site says drwxr-xr-x. Can’t I just get a straight answer?
It’s a fundamental functioning difference between the OS’s that not a lot of people talk about when talking about switching.
Even my Windows machine that is set up with an admin/user structure (as God intended) doesn’t give me any fuss with file access.
Haha same thing for me. -R was a game changer
everything is a file lol, unlike on Windows where a lot of things are GUI based:
- Want to change your grub font size? Heres a file.
- Your python gives dependencies errors? Well, because the libraries (aka files) are in a different directory.
- want to change your password and username? Heres a file to change …so on and so forth
On Linux you have a lot of power, can use sudo to make changes to a file. If you know what youre doing, great. If you dont, system can break. Even without sudo, a misplace / mistype of files in the /home directory can cause weird stuff.
So TLDR is: be careful when make changes to files on Linux. Dont listen to stranger on forum who gives out command to paste and run. Do your research what the command does.
Your keyboard, and every other USB device? That’s a file.
Random number? this file here
Ned some Zeroes? That’s this file
It’s not just for Linux but :
- there is an error message somewhere
It’s fundamental because instead of saying “It doesn’t work!” and get no useful help, people must think of it as an investigation (or whatever get them going) looking for clues. Until you get the right message and can provide the right context (e.g. what computer are you using, what OS version, etc) then you get generic help which is like looking for a needle in a haystack. Sure it’s not entirely impossible if you are both lucky and patient but you are doing yourself and others a huge disservice.
Before Linux maybe they were used to black boxes but here, nobody is intentionally trying to hide away anything from you!
PS: bonus, notes are basically free. Jolt down notes about anything and everything you are learning. Don’t just “use” a computer, LEARN how to use a computer.
Trusted sources, only.
Same as Windows, Android: sideloading (tarballs, flatpaks, snaps whatever) is a no-no.
Like
bash curl install.shbadI’m not sure this is great advice. In principle it is. But you can’t tell a windows user “yes. You know how many of the programs you used to use are not available because they don’t make a Linux version? Well a lot of the ones that do you shouldn’t use even though the distro supports it for reasons you don’t understand”
That is better advice for an intermediate used learning about the dangers (or lack there of) sideloading.
In general o disagree with your stance on a basically semantic reasons: the definition of a trusted source. If I trust a software manufacturer and they tell me to use their flatpak, it’s fine because they are trusted, regardless of the format. What I do not like are things like the AUR
Backing up a copy of that config file, before editing it.
If you brick or break anything, rolling back to a working-state is much easier.
--//–
You can manually cp a 2nd version of the files, or there are tools to automatically backup for you.
That it is another OS. It’s not Windows.
That it is another OS. It’s not Windows.
I used to feel that mattered, but today websites will detect my OS when it matters and just pick the right page (i.e. downloading something).
Then I double click the download to install it.
I, a tech nerd, forget what distro I’m running and eventually have to look it up, when I’m doing something weird enough that it matters.
For day to day stuff, I’m not sure that knowing my OS comes up anymore.
This thread is largely just basic computer skills advice that is necessary on Windows and Mac as well. (And that is great!)
So I’ll add the ones we skipped that have nothing to do with OS at all, but are the usual issues for new PC users:
- Give a quick overview of what the mouse is for.
- Talk about or just disable the CAPSLOCK key.
- Show them where to find and how to read the “do I have Internet?” icon (usually in the lower right, regardless of OS)
- (If not a laptop) Teach them that the monitor and the PC have separate power buttons. Maybe leave a sign out that says “Push both buttons to turn on.”
And as others have said:
- Show them how to search for and add software using the software center, (rather than download from random websites)
su/sudo -Why you will need to use it and how not to use it.
-I still don’t think it’s wise to rely on the various stores like Discover or Pop!_Shop to do basic updates as they are bloated and slow to an alarming rate while running.
deleted by creator
Removed by mod
Little quality of life stuff.
- How to install video codecs
- How to get thumbnails working in the file manager.
- Adding cloud storage to the file manager.
- How to make libre office save files with MS office filetypes by default (depending on work / school requirements)
- Maybe samba shares if they have another computer in the house.
For truly casual users (grandma or a student taking notes) there isn’t a lot to learn. Here’s your browser, here’s your office apps, this is like “notepad”. This is the software center for updates or any other applications, press the “windows key” to get your menu.
How to install video codecs
Is that really still a thing on modern distros? I haven’t had to think about that in literally decades (on Gentoo).
It depends on the distro and how it feels about shipping non-free software. Fedora, as an example, still ships without them.
It depends on the distro and how it feels about shipping non-free software.
Wait, what codecs (commonly used by Linux distros) aren’t free software?
As far as I know the original issues back in the day was with patents, not licenses, especially with MPEG. And because it was patents (which I think aren’t even valid in most jurisdictions except the hell-hole called USA), the issue was mostly with what commercial distros wanted to ship to their customers, not what the end-user could legally use. These days I thought we’re using mostly patent-free codecs or people realized they aren’t really enforceable anyways. Fedora maybe kind of makes sense, since its users are basically free beta-testers for RHEL, which is mostly US-based and commercial, so would be the most likely to be affected by patent-trolls.
H.265 is a pretty major one. E-AC-3 for audio. Ideally, for a desktop user, you want to be able to play anything. So you need know if your distro includes those codecs. Then how to install them if it doesn’t. Then you need to delete your thumbnail cache to fix the thumbnails.
It’s not hard. You just have to know that that’s a task you need to do. Coming from windows, a user is likely to just assume linux doesn’t support video properly and it’s thumbnails are broken.
H.265 is a pretty major one. E-AC-3 for audio.
With regards to patents or not being free software? Because ffmpeg includes those and is definitely free software. You also need x265 for encoding I think, but that’s also free software.
It’s not hard.
Sure. I was just surprised it’s still a thing at all. None of the distros I use have this problem (Gentoo, Arch, Ubuntu, Libreelec).
H.265 is royalty free for non-commercial use. It’s ownership is kind of complicated with a bunch of patents and it is commercial licensing is controlled by a few groups.
If I understand correctly (and I’m no lawyer) FFMPEG is completely non-commercial so they don’t have an issue. Although I think anyone using FFMPEG for commercial applications (streamers, professional productions, etc…) should be paying a license.
I guess some distros felt that was legally murky for them and others aren’t comfortable with non-libre software.
I really wish Fedora would figure out a legal workaround and bundle in the codecs, but for now I just have to remember to set it up before I add any media.
I guess some distros felt that was legally murky for them and others aren’t comfortable with non-libre software.
Let’s get something completely straight: ffmpeg is completely, 100%, no-restrictions, free as in libre software. This has nothing whatsoever to do with “not being comfortable with non-libre software”. That’s just FUD at best.
Legal considerations about patent/license trolls in corrupt neoliberal hell-holes might be justified for commercial projects. Most distros however seem to be getting away just fine by assuming end-users get their license for the codec/patents somewhere else if they even need one.
Something I don’t think is mentioned because someone who knows how to use windows can figure it out: what to do when a window freezes, the keyboard command to reboot, other common things that go wrong and how to get around them. I use a gui task manager and it’s basically just like windows, but if the computer freezes on someone who doesn’t know what to do you will be receiving a phone call.
Rtfm. That problem? it’s almost always a permission issue.
There is no recycle bin. Double-check before deleting files.
What version of Linux are you talking about?
I haven’t been recycle bin free in…any recent distro or desktop environment that I can remember.






