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.
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.
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.
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.
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
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 +x
to 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).
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
Trusted sources, only.
Same as Windows, Android: sideloading (tarballs, flatpaks, snaps whatever) is a no-no.
Like
bash curl install.sh
badI’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
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)
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.
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.
DO NOT download and install random programs from the internet. Not a deb/rpm file, not an elf binary, not an install script, nothing. Use your package manager or desktop environment’s app store. At most use flatpak or snap packages.
Linux gets its reputation for not getting malware from the same place Mac does: It has a managed app repository where you get all your software from. Difference is Mac doesn’t let you install arbitrary programs at all, while Linux expects you to know better than to do that. Someone who doesn’t know what they’re doing downloading Linux programs from random websites will inevitably hit one of the super rare Linux malware in the wild.
Even ignoring security issues, running an install script even from a reputable open source project’s website can open you up to package dependency hell. And if you ever need to upgrade or modify it, you’re in for a rough time because none of the existing tools built into your distro will help you. It’s even worse than Windows when this happens because Windows at least expects for things like this to happen (because everything comes in its own installer and handles updates separately) and has UX elements to help non tech savvy users deal with their mess of apps, Linux expects anyone bypassing the normal package manager to know what they’re doing and if you don’t, it won’t be a good day for you.
Sadly, just the store doesn’t work for many professional programs and non-free software.
Segger j-link, renesas go hub, Nordic tools, etc… (though AUR solves this on arch distros)
The average day of a “computer wiz” on debian (me):
sudo apt install ./randomshitfromgithub.deb
sudo nano /etc/apt/sources.list
pastes stuff in“Oh no something isn’t working right!” Pastes some slop from chatgpt into the terminal
9 months later
“This shits fucked beyond repair, time for a clean install!”
Honestly? Not much different than my experience with windows. ;P
Since when does Mac not let you install whatever program you want? Are you thinking of iOS?
I think it’s like by default not allowed but there are settings you can change but you have to go through a bunch of warnings and scare prompts
As far as I know when you download a dmg, the OS checks its signatures against Apple’s registry and only allows installation if it’s approved. The developer would have submitted the app to Apple (for like $100) for them to inspect even if it’s not on the “official” app store.
Not a Mac user so please call me out if I’m just talking out my ass.
Right click, select “open.”
In a better time, yes. These days it’ll throw a warning that the application can’t be trusted and offers to throw it in the bin. You have to run a command in the terminal now. Every time the app updates.
LibreWolf has updated?
Gotta do the dance again. Every. Fucking. Time.
I’m still running 14, has it changed since?
Does this still work to disable it system-wide?
sudo spctl --master-disable
is it impossible to disable gatekeeper now?
Yes it’s impossible to do it fully now :( but you can open programs from unapproved developers by going into settings > security > and select “open anyways”. It’s kinda a hassle when you like using open source software.
Great response, which also helps to answer one of the first questions from non-tech users: which anti-virus do I download for Linux?
Also, for Arch folk: AUR isn’t a traditional repo. Always be careful what you pull from there. Check pkgbuild files for weird shit and avoid unpopular bin files.
Now the KDE Discover store on Kubuntu needs to let me say no when an app asks for “Full Access: Can Access Everything on your System”. It’s a bloody text editor, what access could it possibly need.
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
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.
Rtfm. That problem? it’s almost always a permission issue.
I set up Mint for a non-techy relative on their old desktop.
- Their use-case is almost entirely web browser, so there was no need to cover installing programs. Click the same browser icon and it should behave basically the same way.
- No need to explain the terminal beyond “this is where you can type advanced commands, you don’t need to worry about it”.
- If there’s an error message, read it and try to understand what it’s actually saying rather than just dismissing it. Do a web search if you’re feeling confident, send me a photo of the screen if you’re not.
- Explain how to install updates (or just configure automatic backups and updates for them).
- Explain when and why the computer will ask for a password (e.g. login and updates) and how that password is for the computer, not for their email or whatever.
- Explain the basics of folders. This is your home directory, here’s where downloads go, here’s how to create a folder and drag your files into it.
- Tell them not to panic. I’ve seen a lot of older people terrified of pressing the wrong button, make sure they know how to understand what they’re doing and undo their mistakes.
- Be patient!