this post was submitted on 02 Aug 2023
2127 points (98.2% liked)
linuxmemes
20880 readers
7 users here now
I use Arch btw
Sister communities:
- LemmyMemes: Memes
- LemmyShitpost: Anything and everything goes.
- RISA: Star Trek memes and shitposts
Community rules
- Follow the site-wide rules and code of conduct
- Be civil
- Post Linux-related content
- No recent reposts
Please report posts and comments that break these rules!
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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
Maybe there are no wrong answers, but there are definitely some answers that are more correct than others. This is the most correct answer.
don't listen to people who tell you to
rm -rf --no-preserve-root /
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
I definitely recommend getting used to
--help
andman
, but after you've become comfortable with those I find that this utility is also fantastic.Example of the output of
tldr git checkout
:Pardon the late reply but what does man do?
No worries! The
man
command is short for manual - basically, you can think of it as a local wiki on your computer (local being that you don't need internet to access it) for various installed things. While "things" is generally going to be programs for most people, the "man page database" can actually have entries for things that aren't programs like various Linux internals! Here are a couple of other example man pages:man
command!)That last one,
bash-builtins
I linked to also demonstrate that there are man pages for more than just programs.cd
for example is a very commonly used command, but its not actually a program - it is what is known as a "built in" because its a part of the specific shell you're using (9 times out of 10 these days, that is going to bebash
unless you install a different one likezsh
). A ton of commands can often be found under/usr/bin
(or/usr/local/bin
) - if you enterwhich program_name
at your shell, it'll tell you where exactly that program lives at. Commands come in many flavors, they can be programs, they can be built-ins, they can be shell scripts (even if there is no file extension, Linux doesn't actually care about the file extension - its purely there for us humans!), or they can be aliases.A couple of fun facts on even that itself:
which which
to see where thewhich
command itself liveswhich
command will also tell you if there is an alias defined for the command, an alias is a custom defined command - but if you have a longer command that you commonly want to run you can redefine it as an alias, sols
is often by default an alias ofls --color=auto
to give you a few splashes of colors in the output of the command without actually having to type outls --color=auto
every timecd
is a built-in, for what I believe is compatibility reasons, there is a file at/usr/bin/cd
on most Linux distributions... which itself is just a shell script that actually invokes thecd
built-in!That's probably a bit more information than you originally intended, but I like to be thorough on these sorts of things as I'm passionate about Linux! Note that at the start, man pages can often seem really daunting, but after spending some time looking at them you'll get really good at quickly finding what you need. You can even write your own, and there is even a man page on the conventions and specifications on how you'd usually write them!
You explained a lot, thank you. This is my first experience with Linux and its community. It's very nice how willing everyone is to help explain
And what exactly does that command do?
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.
If the UEFI is corrupted is there a way to even boot a Live Environment?
If you run a faulty UEFI-implementation then
rm
can turn you PC into a decorative pice of PCB.See this answer.
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.
There are a lot of distros that are great (for beginners and in general), but I recommended Ubuntu and only Ubuntu for two reasons:
Very well summarised
If you accidentally open 'vi', an escape sequence is ':wq'
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.^You can also type
ZZ
(uppercase, so hold Shift) to write and quit. But for all of the above you have to be in normal mode, so if it doesn't work, try pressingEsc
first.: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 exitvim
probably doesn't want to save whatever modifications they made (probably by mistake).Thanks for adding this. I'm sure it'll be useful to know and save me some heartache.
I tried out Linux a long time ago and have forgotten a lot of what I knew. I'm thinking of switching back again.
Good catch!
This is where the critical Linux adoption advice is happening. :)
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.
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.
If you do dual boot, check 10 times that you are installing to the correct drive/partition.
Since Linux uses a different drive naming scheme than Windows, it's super easy to accidentally install Linux on the partition where you actually wanted to keep your Windows.
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)
I imagine we work quite differently then, I couldn't get used to it at all. I'm also one of the odd ones that prefer the trackpoint to the touchpad.
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.
Give it some time, any new system will always be worse than what you have been using for years because you know nothing about the new and everything about the old system, regardless of actual merit.
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)
Just tested and confirm it doesn't work on Fedora 38. When you run it, you get an error saying:
bash: fork: retry: Resource temporarily unavailable
.It still does the loop, but doesn't slow down the system or anything, and you can easily close the terminal window.
As I said before, systemd imposes cgroup limits per user so fork bombs no longer work.
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 BTRFSOr
1GB for
/boot
, FAT32Up to 8GB for
swap
, swap64GB for
/
, EXT4 or BTRFSThe 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.
Linux mint first.
To add, you're best going with a distro that looks the most appealing to you. The build it yourself style like Manjaro or Arch have a steep learning curve if you don't know how the file structure works intuitively.
Pick a version that has an active and helpful community. I picked mint for my first one partly because it had a bigger rub reddit then zorin.
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.
Uh check if you like playing rainbow six ssiege. Then re-evaluate.
Really, just look up any online multiplayer game you play for proton compatibility. Like I believe Valorant does not work either due to the strict anti-cheat systems not playing nice with wine.