Down that hole
Im about to take the same plunge into Linux. Any tips for a new comer?
There are no wrong answers, don’t listen to people saying “this is better” or “do it this way”. Maybe it’ll help, but maybe it’ll make you not like the community. If that’s the way you feel, just do whatever you need to to get something to work.
There’s a lot of choice, so make a choice and stick to it, but at the same time be open to change.
Also make backup of your data
and one more thing: always look up what commands will do. So you can prevent bad behaviour and learn their options to use them later on your own.
Options for help:
--help
man
- your favourite search engine
I definitely recommend getting used to --help
and man
, but after you’ve become comfortable with those I find that this utility is also fantastic.
Example of the output of tldr git checkout
:
Deletes all the files in the root-dir recursively (needs sudo
).
Without sudo all user-accessible files will be removed.
This will also affect all mounted drives (like USB-Drives, …) and on some motherbords can also corrupt the UEFI.
-
Ignore the folks with way too much time on their hands who tie their self-worth to their ability to install Arch or whatever. Just use Ubuntu*; it’s fine.
-
Once you install it, just use it like the normal desktop OS that it is. There’s no need to immediately go down a !unixporn rabbit-hole just because the customizability of the system facilitates it. If something you need doesn’t work or otherwise bothers you, fix it, but otherwise leave the system alone and just let yourself get used to it with default stuff.
-
By the time you get done with step 2, you’ll be able to know for yourself what you want to do next.
Unnumbered: Gradually come to understand that the terminal is your friend, not something to be intimidated by. You shouldn’t need to use it (not with Ubuntu, anyway), but if you give it a chance you’ll eventually find yourself wanting to use it because of the advantages it has, such as using the history to have a perfect record of what you did, executing a complicated sequence of commands perfectly by pasting them in instead of trying to manually follow instructions clicking around in a GUI, and creating pipelines and scripts to do complicated things (say, batch-renaming files) relatively easily.
In particular, try to understand the essential nature of UNIX: “Think of the UNIX system programs as… the building blocks with which you can create things. And the thing that distinguishes the UNIX system from any other system is the degree to which those building blocks can be glued together in a variety of different ways – not just obvious ways but in many cases very unobvious ways – to get different jobs done”
(* Yes, specifically Ubuntu, not a “similar” distro like Debian or Mint or Pop! OS (let alone a dissimilar one like Arch or CentOS or Slackware). You want the distro that things like Steam officially support, not one that they unofficially work on. Picking a different “flavor” of Ubuntu that uses a different UI, like Kubuntu or Xubuntu, is fine though.)
Edit: removed my own Linux background after realizing I didn’t know how to use the app, and responses were to top comment.
Ubuntu is a great suggestion for beginners- that’s what I install for friends and family as of now (I’m considering alternatives). I’m thinking about getting new folks on opensuse tumbleweed, but let’s see.
Complete agree: always mainstream distribution for new users - Fedora, opensuse tumbleweed, Ubuntu are all great choices.
Complete agree: always mainstream distribution for new users - Fedora, opensuse tumbleweed, Ubuntu are all great choices.
There are a lot of distros that are great (for beginners and in general), but I recommended Ubuntu and only Ubuntu for two reasons:
- It’s the only distro other than SteamOS that Valve officially supports (and there’s a reasonably decent chance folks wanting to try Linux are also gamers).
- Even merely presenting choices incurs a cost in terms of increasing cognitive load, and I think it’s important to avoid inflicting more than is absolutely necessary on newbies. I think it’s very likely that analysis paralysis on distro choice is one if the biggest barriers to entry for Linux, and saying “X, Y, and Z are good options” when the person has no clue what the differences between them are or why they should care, instead of just straight-up saying “use X,” may be doing them a disservice.
Don’t start out with the stuff that experienced people use, you’ll just get frustrated if you do.
My first experience was that windows got on my nerves so much I said “fuck it, I’ll just learn linux”. And I’ve been learning ever since. Just using linux as a desktop OS and figuring stuff out along the way is a great way to learn the basics.
You can also type :x
to write and quit. Just imaging the amount of time saved not pressing one extra letter. ^Could save your life.^
:x
for write and quit. But I think the more appropriate one in this situation will be :q!
which will force quit without saving any modifications, since someone who doesn’t know how to exit vim
probably doesn’t want to save whatever modifications they made (probably by mistake).
What kind of platform are you working with? laptop? desktop? RPi?
You can run Linux on trash hardware. If you have the option, start by installing Linux on something that is not your daily use computer, like an old laptop.
If you can’t do that, then consider getting a second hard drive and installing Linux on that so you don’t have to mess with your primary OS install.
If you can’t do that, then at least prepare a USB drive/DVD installer for your primary OS (presumably Windows) now before you make any changes to your computer. Boot the installer once to make sure it works before you need it.
And before you do anything else back up your important files to an external storage of some type.
It’s extremely useful to have a second working computer to use for doing research and downloading files/installers/recovery tools as needed. Your phone isn’t good enough because you won’t be able to create an OS install drive from it if you need to.
Don’t fixate on/rush switching. Even before using Linux, identify what software you need that doesn’t support Linux, find multi-platform (+FOSS) alternatives and attempt to gain comfort/proficiency with them. (I wholeheartedly recommend Krita, personally I have used it for pixel art and image editing on top of normal art) WINE sometimes works, but native feels much better and switching makes more sense when you have a known-good system to switch over to.
If you remember to consider limitations, there are a few methods to try Linux (LiveCD, VM, spare hardware etc). If you have a desktop you can remove your Windows drive (particularly w/SATA) for a step more cautious than just dual-booting.
TAKE. NOTES.
Use a note-taking application you are comfortable with (I use Joplin) to maintain a history of what you wanted to do, why you did/did not do it, and how you did it; save relevant links to help articles, SO posts, etc… (this is particularly useful if you want to retrace your steps to undo something). If you end up not doing something, strike through the text and leave a note explaining why you chose not to do it after all and what alternative, if any, you went with.
This greatly expedites the learning process, in my opinion.
Edit: I realized everyone was responding to top comment, removed long winded rambling about my personal Linux journey.
I 100% second note taking - my personal favorite is ObsidianMD.
I used Joplin for many months, with WebDAV (koofr)/e2e setup for sync, till I discovered ObsidianMD.
Now: all my notes are in markdown/plantuml/mermaid/Obsidian canvas/drawio, managed primarily by ObsidianMD, but occasionally on vscode for special use cases (plantuml diagram editing… vscode flow is better). I use obsidian git to sync to my git repo across my machines. Still love Joplin in a pinch (mobile app on occasion) though.
Cockpit Web GUI made finding and reading logs, restarting services and so on much easier for me as a beginner:
https://cockpit-project.org/
If you use the GNOME desktop then the ArcMenu, Dash to Panel and JustPerfection gnome extensions allow you to simulate the Windows workflow. There’s also many other extensions as better window tiling, showing status indicator at the bottom panel and so on.
https://extensions.gnome.org/
Screenshot example: https://i.imgur.com/tNiFiws.png
i think gnome works best without any plug-ins if you’re ok with getting used to the workflow; it’s an amazing experience out of the box if you have a touchpad/touchscreen device like a laptop.
I only have libindicator support installed (for apps that like to close to tray)
-
Try out different linux distros / desktop environments in virtual machines and find out which ones you like the most. I spent about a month doing this, until I found kde neon.
-
Know that you are going to break stuff, and don’t be afraid of it. Even if you are a tech savy Windows user (as i was), Linux will be a new thing for you and you’ll not know the nuances. I broke my installs a bunch of times because of things like nvidia drivers, but I was running Linux in virtual machines so I just started over from scratch. Breaking things makes you learn the fastest imo, so don’t be scared of it.
-
Have fun. Linux is going to give you some frustrations, so it’s important that you are using Linux because you want to so you can keep moving forward.
Also, anyone who says “try this, it’s neat”:
};:
Don’t. It’ll lock up your computer. The markdown is adding code to the above. Ignore the “amp;”. It’s just an ampersand.
Also anyone who tells you run level 6 is the best one…
Don’t. It’ll set you in a boot loop.
Basically, Google whatever someone suggests to you just to verify they’re not being a dick. I would say spend a bunch of time in the command line interface (CLI). There’s nothing wrong with the GUI desktop, but the real power of Linux is in the CLI because you can do so much with it. It’ll also get you on the road to scripting, if you’d like. That unleashes the power even more by making your Linux box so cool stuff on its own. Then learn the power of cron tables (crontab) so that you can schedule your computer to do cool things on its own.
Good luck and have fun!
A fork bomb no longer works on modern distros which use systemd btw, since systemd imposes limits on the user and system cgroups (IIRC, a user can’t have more than ~10,000 tasks or something).
If you are low on memory, a fork bomb still works
I can confirm that it crashed my laptop running fedora 36 (this was a while ago lol)
- Backup. A lot. Always.
- Take notes.
- Ideally have a separate computer so you can easily google stuff if you break something, a lot of the times what you just broke is fixible with one simple command, you just need to know it.
- Start with dualboot
- Don’t look for “windows replacement” in your new OS, this way you will be frustrated with differences, instead of seeing how the new way might be helpful.
- Backup. A lot.
install gentoo /s
Jokes aside, don’t get caught up in picking the most popular or most hipster distro or DE (desktop environment). Pick one, stick with it, get used to how Linux works.
Linux Mint, Zorin OS, Debian, MX Linux (if you got a pretty old laptop) are decent start. All have graphical installers, so just follow along.
When you get to disk partitioning, most people start with
1GB for /boot
Up to 8GB for swap
The rest for /
, EXT4 or BTRFS
Or
1GB for /boot
, FAT32
Up to 8GB for swap
, swap
64GB for /
, EXT4 or BTRFS
The rest for /home
, whichever you picked for /
You might see ZFS or people talking about it, don’t worry about using it. Keep things simple for the start.
After rebooting and everything seems to work, dive in, friend.
hey, if you ever need advice on a decision, feel free to message me, i’ve built up quite a knowledge.
anyways:
first: choosing a Distro:
do you want something that just works, super stable and reliable, out of your way? choose Ubuntu (don’t listen to the Elitists)
do you want something similar, just with more frequent updates? OpenSUSE
do you want something that’s super reliable that never breaks and are willing to invest a few weeks relearning your computer? a Immutable Distro will do. i personally recommend and use NixOS, as it’s the most reliable and unorthodox (a lot of overthrowing traditional convention on how to do stuff) ones of the bunch. but for something (much) simpler, use OpenSUSE MicroOS
next, the DE:
realistically you want either GNOME or KDE Plasma. i Personally like GNOME more, but KDE Plasma is just as fine. again, don’t listen to any Elitists.
the Applications:
realistically you want to use Flatpaks. check the Flathub Setup guide on how to install it to your System.
installing Flatpak can never break your system, while installing through traditional package managers (apt, dnf, pacman, etc tec) might, if something goes very wrong.
Flatpaks are also updated more often, are (even if not as great as MacOS, iOS or Android) sandboxed (apps first need to get permission to do certain things such as use the Camera) and there are more people to help fix your problems.
snap are also great (again again, don’t listen to the Elitists) but not a lot of apps seem to be made for it as Flatpak seems to have become the default.
now, a personal recommendation:
all the Elitists please look the other way now
i recommend you install fish and set that as your default shell.
it really is a lot better and user-friendly than any other shell there is.
this is the Link, use it or not, but i really highly recommend it. makes Terminal work just so much easier.
---------------------------------------------------- Opinion Part:
i personally use NixOS. however, i woudn’t actually recommend it to you just now.
i reckognize that NixOS is very complicated at the Start and does a lot of things different and is very difficult to learn compared to other OSes (although after you get used to the System, it is a lot easier than normal Linux).
i still often have to look up Stuff, what config to use etc.
but i like the fact that all my stuff is saved in a single config and if i were to reinstall the whole system for some reason, everything would be right back to how i wanted it. (provided i changed it in the Nixos-Config File and didn’t just do it in the Settings App.)
i like the fact that if i make a change on my Desktop, i can just synchronise the config-file with my Laptop, and violà, all the changes are now also on my Laptop.
but then again, i wouldn’t recommend it to you, seeing that you’re new.
i recommend either OpenSUSE Tumbleweed or OpenSUSE MicroOS. install Flatpaks and the FISH Shell and you’re good to go for your adventure.
When choosing a linux distribution, or a desktop environment, or anything really, go with the most popular, “basic” choice. Because when you have questions and need to search them, the more popular stuff is 99.9% guaranteed to have the answer to your question on some stackoverflow thread, or the arch linux wiki (which is pretty much just “the linux wiki” at this point).
Also, asking AI for help (chatgpt, phind, etc) is surprisingly helpful.