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.
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.
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.
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).