I run Linux. It's my main OS, terminals and repos from GitHub all over the place. I love it.
Everyday I'm asked how I survive. It doesn't matter if I tweet a random screenshot of something or if I reply "Sorry, I run Linux. No idea how to do this on Windows." there's always some guy asking me how I survive on Linux.
There aren't that many tricks to it. It's just a matter of preference and habits. There are so many people online who say you'll be fine if you go with a certain distro, or you'll be fine as long as you keep out of the terminal. It sorta annoys me, there's a bit more to it than that.
I've showed Linux to plenty of people and half of them stayed, the other half either left or now hates Linux with all their willpower. But I'm okay with that. Many people are still amazed that I'm able to make people stay on Linux at all.
So I thought I'd walk you through my personal (see that word? It means this isn't professional, so don't blame me if you fuck it up) tips for using Linux as a daily driver.
Picking a distribution
A lot of people think picking Ubuntu automatically means that you'll have an okay time since it's insanely easy. Well, it was. I'm just going to go ahead and say this right now:
Regular Ubuntu is an extremely shitty distro for beginners
Yeah, you read that right. Well, more specifically I'd have to say that Ubuntu isn't the issue, Ubuntu is great. The issue is unity.
While picking a distro for someone I tend to look at a couple things to determine if it fits their needs. Not "if it's easy" - Think about their habits, what features would they love? Are they okay with using a terminal once in a while? The main things I look for are:
- What DE does the distro use
- Does the distro resemble another OS?
- How much would the user have to "relearn" to use this properly
- What kind of community does it have?
It's simple if you ask me.
Do they want something old and familiar? Great! Throw them on a MATE desktop!
Is the person used to a Mac? Great! Throw their ass onto something that tries to dumb down everything, like Gnome 3!
Did they just come here for the customization? Dump them straight onto an Arch install script, just give him what he wants even if they can't handle it.
Keep going like that through the person's habits and you'll hit it eventually. Just... be careful about Unity. Unity isn't bad in itself, it just sits in a really weird place. It tried to be original, which means it won't really be that familiar to anyone, it's also really resource intensive, which contradicts the image most people have about Linux.
However, you should also make sure that it has a community that the user will enjoy. Ubuntu derivatives are great for this. Ubuntu tutorials are all around the internet and they'll work on most things, like Ubuntu MATE, Elementary OS and Xubuntu. The Arch community is a great example of one you should be vary of. They have a lot of information and help you a lot. Though sadly they're also among the easier packs to get into a fight with.
Make sure the user understands what they're getting
People fall for the "Linux is better for gaming" thing all the time, and I get a lot of people who want to try it because of that. The issue is that most games don't actually run better. Sure some do, especially a lot of emulators (PPSSPP is a great example of software that often runs marginally better on Linux machines)
But you should ask them and help them look into said games. Maybe even test for them. The issue with users like this is that they often think it's a universal thing. Then they'll fire up some game from a big company who didn't give two shits about Linux and ported it in two days just to make some quick $$$ - At that point they'll be really disappointed and in the worst-case, might only see Linux as a joke from that point.
You're better off looking into what they want to do and either give it a "Yes, we can get that working" or be honest and say "No, stay on Windows. This will be way easier and/or better on that side of the fence" - Don't move people over to Linux and fix problems afterwards. Try to make sure that there won't be any problems to fix at all (That's rarely the case, but at least try to rule out as much as possible beforehand)
Teach them what they need to know
"I don't need to teach them apt-get, they can just use the software center"
"I'll add everything they need to the dock, they don't even need to know where the menu button is."
"This thing is working for now"
Guess what, those don't sound like promising long-term solutions.
You don't just shove a person onto Linux. Linux is like a jungle for most regular people. Don't get me wrong, you don't have to teach them until they're the king of the jungle. Just help them survive.
Follow them up for the first couple of days while they still figure things out, help them google for issues. Not everyone knows that "Elementary OS" is based off Ubuntu, there fore they often don't realize that they can follow Ubuntu tutorials and get the same result (95% of the time)
Linux isn't a train that you hop on at the last minute and ride it wherever it takes you. Let's do a metaphor, because those are always a nice way to explain things:
Imagine Windows as a car. It takes a little while to learn, but it's not too complicated once you get the hang of it. After you've been doing it for a while. You change gears and whatnot without even thinking about it. It also has a couple parts here and there you can change out to make it your own. You can start digging deeper, but it might break.
Now imagine that Linux is an inter-dimensional portal. It's got limitless potential, you can move where you want, however you want, when you want and you can change pretty much the entire world around it. Nice! Well, problem is that more possibilities lead to more complications.
There are various distributions, some are like Ubuntu and try to hide their space-time travel capabilities under a hood. And then there's distributions like Gentoo and Arch who give zero fucks and just say "Here's the parts you need for the space portal. Now go on and invent your own version and build it."
Depending on how the move went, the user might have a lot to learn. And for a lot of people "Google it" just doesn't work it (Face it, the majority is too dumb to Google properly no matter how many times you show them. It's a sad fact, but true.)
This is the final step and the most important one.
Teach the user how the Linux community works. Once you get them over the initial bumps, point their way towards becoming the king of the jungle. Show them resources, recommend good software to use, help them customize it however they want. Maybe even teach them some extras, like using IRC.
If your user is willing to put in some time and effort to get used to Linux, they'll usually manage from there. The worst are usually the ones who quit after half a day. If you made it this far. They're probably a keeper.