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.
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.
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.
googling and copypasting in that black app called terminal
… Carefully and with caution.
yeah you have to carefully hightlight the command without the $ sign, then with caution right-click on mouse to copy it, paste, then enter
I’ve over 10 yrs experience with linux. this process gets everything I want done
/s lol ok jk
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!
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.
Since when does Mac not let you install whatever program you want? Are you thinking of iOS?
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.”
Great response, which also helps to answer one of the first questions from non-tech users: which anti-virus do I download for Linux?
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.
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.
The bottom level of your file system is /, not C:, and other drives or partitions you have will be represented in subfolders like mnt or something.
Everything is represented as a file, even things that are not strictly speaking a file on your primary hard drive.
The part that you interact with the most, your graphical user interface, has a particular name, like gnome, kde, xfce, icewm, etc.
When you have to open a terminal, you might be interacting with different shells as well, but it will usually be bash.
Always install from the repos unless your nerdy friend who helped you get set up says it’s okay to download this or that particular app.
Maybe include a bit about how to run regular backups automatically.
And also list out different alternative programs relative to what they might be used to in a Microsoft environment.
apple bad ; windows worse
One thing that many guides tend to skip is how to install software. People coming from Windows might try to install software the “Windows way” by going to the website and downloading them. That is just likely to cause pain and suffering for a number of reasons.
Instead, every beginner friendly distro has its own flavour of software centre that users should be encouraged to use instead. Maybe even include a link to flathub in the guide or something.
Instead, every beginner friendly distro has its own flavour of software centre
And they generally run like dogshit, unfortunately. Bazar on Bazzite is the only one I’ve found so far that doesn’t have me run for the terminal immediately
Popshop sucks massively. But I’ve never had an issue with mints software manager.
I think the biggest fundamental concept for any computer regardless of operating system is filesystem hierarchy. The concept of nested folders is core to using a personal computer, but for the last two decades UI/X teams have done everything in their power to obscure and abstract it away. Many younger people conceptualize the storage on their device as just an amorphous blob that apps manage autonomously. Windows is starting to go this way as well with OneDrive being sold as the way to manage all your data, but on Linux the file system is still king.
Your mom is presumably old enough to have some experience with desktop PCs, so hopefully that basic hurdle is already cleared. And honestly once someone is at that level of base competence, along with basic interface concepts like how to use a mouse and keyboard, clicking on icons, use of a web browser etc, with the right distro you really don’t need to explain much else. There might be a few quirks of the UI to explain depending on what you choose, but most of that can be handled by just watching them use the computer for a bit, and/or asking them to give you a list of questions and annoyances after they use it for a few days.
The biggest difference is one that most “I just want it to work” users will actually love, and that’s relearning how to install software. Having one central location to install verified software from is a change from the wild west of downloading installers from the internet, but it shouldn’t be a difficult transition. Most people these days don’t even install software beyond maybe Zoom, so you can probably get away with just installing any third party software they need in the initial setup.
I recommend an immutable distro like Fedora Silverblue, at least if a) you’re setting it up and are reasonably technical, and b) you don’t want to go over and help them fix stuff often. I set my mom’s laptop up with it 4+ years ago and she’s only had one problem since then.
Yo mama so old she has experience with desktop computers.
Was not expecting a yo mama joke in this 🤣🤣
Package managers:
- Repositories
- Update mechanism. Many of my friends and family are used to updates being either automatic, nagged, or nonexistent. Not an issue on auto-updating distros, but could get ugly on vanilla Arch or Debian.
- Resisting the urge to install loose executables from websites
File system:
- Write caching. Windows doesn’t do this for most USB drives so people get away without safely ejecting for years. On Linux, the safe eject button does matter.
- File hierarchy and mount points. When I first used Linux, I was very confused by the lack of the Program Files and Users folders, My Computer page, and drive letters.
- File permissions, especially executables
- Partitioning and how to format drives in the absence of a format dialog in the file explorer
Bash shell:
- It’s not the incomplete mess that made
cmd
or Powershell so intimidating - Resisting the urge to paste in commands and scripts without knowing what they do
Hard to summarize, because it differs so much from person to person.
I installed Linux on my parent’s computer. They don’t need to know anything about Linux, because everything they use is identical to their old Windows PC. They click the icon for Chrome to open the browser. They Click the icon for LibreOffice to type up a “Word” doc and print it by clicking “file > print”
As far as they’re concerned, they are still using Windows.
For a gamer, they will need to know a little about Proton, possibly Lutris and the Hero launcher. They might need to know about installing nVidia drivers or tweaking a few things in the Steam launch options to get games to run better.
It’s tough to know exactly what a new Linux user will “need” to know in order to use Linux.
Graphics driver installation is pretty key on any system but AMD graphics systems.
For example if your parents want to watch any videos without them stuttering or being weird, whether Intel or Nvidia, they will need the non-free graphics drivers installed so it doesn’t run like shit.
To my knowledge nearly every AMD chipset already works out of the box on Linux.
True, it still does vary even chipset to chipset. Some Nvidia and Intel cards do just work depending on the distro, others require more work.
It also depends on how “techie” the user is. My parents are 0% techie, so I have to do anything and everything for them if they have questions or issues.
But a Windows power user can handle some terminal use and other basic system modifications. And honestly now days, most of that stuff is super easy. Like Linux mint has a dedicated driver app that allows you to use a simple GUI to install Nvidia drivers, it’s super easy.
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.
Nothing. Just set up Elementary or Mint or something with a shortcut to Firefox and there’s nothing else to do. Any apps they might need would come from an app store, so point that out.
A student that just needs a laptop to do homework and take notes
So how to open a text editor? Recommending an easy-to-use and standard one like Kate would be good, but a polished distro will have one preinstalled.
someone that just wants to play games on Steam and chat on discord.
They need concepts like filesystems (e.g. the concept of a root directory, mounting, and device files), software repositories (since steam comes from a non-default repo in many distros), an awareness of the whole graphics driver situation, and hardware both appropriate to their needs and to running Linux.
I’ve been using linux for years, but in limited contexts. With switching my primary desktop over this year I’ve found it helpful to stop by my local library and checked out some books on linux. I’m combining that with chatting with a locally running LLM. I’ve also setup an extra Raspberry Pi I had laying around with Ubuntu Lite as a sandbox OS to tinker with.
Maybe consider a portable sandbox setup like this you could quickly demonstrate or share?
- Linux isn’t Windows. I know that is a no-brainer but it needs to be said so it won’t be as 1:1 to Windows.
- How to install software both in terminal and as well as software manger GUI. Bonus points about compiling software from places like GitHub.
- Packages type and their pros and cons
- Trying to run Windows application via Wine (or some manager like Bottles or Lutris) as well as comparing running same Windows Application from Linux and Windows.
- Alteratives to popular software and list out what it can do and what it doesn’t have so user can see if that feature it doesn’t have would affect them. For example, GIMP doesn’t have full CMYK support which for most users, it isn’t a big idea but for people that want to edit images to be ready for printing, they might want to keep that in mind.
I think Krita does proper CMYK
I have heard it does but it was generally just an example of “Try this software but note it may not have this feature if this means lot to you” and suggest others like maybe Krita then?
IME, beyond the install, it’s all distro- and desktop-specific.
- How to find and install apps varies from distro to distro. IIRC, the Mint menu item is something obvious, like “Install software”, but on Arch (you’d have to hate your newbie to throw them into Arch), it requires a chicken/egg finding and installing a graphical installer. If you know the distro, this would be good information - or if you’re helping with the install, create a desktop launcher.
- Showing them where settings are. Surprising to me, this has been super-not-obvious to my newbs. Even though the KDE Settings app is called “settings”, I think Windows and Mac folks are used to looking for settings in a specific place, rather than an app name - and in Windows, there’s can be several ways to get up different settings, like changing display stuff is always in a weird place. Again, maybe a desktop or panel shortcut would help.
- One of my newbs used Mint for two years without opening a shell, so I don’t think that’s an issue. He even found and installed a piece of software he wanted, but I can’t remember if I originally showed him how to the first time. But that’s Mint. He did, however, need help setting up a printer, but that’s because he couldn’t find the settings program; he came from Windows originally.
- Edge cases, like printers and other peripherals, can be hard, and I don’t think any amount of extra documentation is going to help, because almost every difficulty is practically unique. There’s a ton of online help for stuff like that already. And then, if they want to, eg, attach a game controller… well, that’s very specific and again varies by controller. I don’t think you can cover all of these edge cases.
- Games can be hard only because of the indirection of having to install some other software, like Proton or Steam, creating an account, knowing how to check for compatability - there’s a lot of moving parts. It’s not just: go to the game’s web site, buy, download, and install something and run it, like I imagine it is on Windows. So maybe that would be useful - or - again - pre-installing one of the game stores and (surprise) making a shortcut would eliminate that.
- Network connections. Again, I always find figuring out how to get to network configuration in Windows to be hard, and bizarrely having multiple ways of accomplishing the same task, so I’d guess going the other direction would be confusing. Having a note about how to get to the configuration would be handy.
As I think about it, I realize that configuration under KDE of way more encapsulated and clear than on Windows, and people having learned the byzantine and myriad ways of Windows, KDE’s relative simplicity is confusing. Windows people look for configurations in places they’ve learned to look, which aren’t always where they are under KDE (I can’t speak much about Gnome - I don’t use it or set people up with it). MacOS isn’t as bad, having a similar configure-everything-through-a-single-settings-program approach.
Anyway, that’s my experience.