this post was submitted on 13 Aug 2023
1 points (100.0% liked)

Linux

55012 readers
711 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 6 years ago
MODERATORS
 

I just installed Ubuntu 22.04.3 LTS (Cinnamon) on an empty laptop a couple days ago and have been experimenting a lot. I'm coming from being a Windows user since I was just a little kid playing old DOS games on my grandpa's Win-98 PC back in around 2000. My daily driver is currently running Windows 10 but I am pretty adamant on not going with Win-11. I've been wanting to experiment with Linux for a while and Cinnamon so far seems like a lot of fun to navigate. Terminal is amazing. The fact that you can custom-write keyboard commands that can be hand-tailored to individual programs on your computer via the OS... that's powerful.

I have not tried running WINE yet but I plan on doing so soon. I also have not done much of anything, honestly, except for learning how to search for programs with gnome-software --search=. I have also used sudo a couple times to download software here and there, but I know I am not tackling this in as systematic of a way as I ought to be to really figure this machine out.

What are some really important basic commands I can use to start branching out into Terminal command structures and learning more about how I can edit and customize my computer? 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 do not have any coding experience (currently), but I do consider myself a semi-power-user on Windows, having messed with CMD many times and digging through all the damn menus to access drivers and alter ports.

top 27 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 2 years ago* (last edited 2 years ago)

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.

[–] [email protected] 1 points 2 years ago (1 children)

Ctrl+R to search your bash history. I hate how long I went without knowing this, so I've always got to spread the word about it.

[–] [email protected] 0 points 2 years ago (1 children)

Jfc.....I've been using Linux for almost 2 decades.....and TIL

[–] [email protected] 1 points 2 years ago

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

[–] [email protected] 1 points 2 years ago* (last edited 2 years ago) (1 children)

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"

[–] [email protected] 0 points 2 years ago* (last edited 2 years ago) (1 children)

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.

[–] [email protected] 1 points 2 years ago

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

[–] [email protected] 1 points 2 years ago

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.

[–] [email protected] 1 points 2 years ago

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

[–] [email protected] 1 points 2 years ago

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.

[–] [email protected] 1 points 2 years ago

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.

[–] [email protected] 1 points 2 years ago

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

[–] [email protected] 1 points 2 years ago

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.

[–] [email protected] 1 points 2 years ago

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.

[–] [email protected] 1 points 2 years ago

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.

[–] [email protected] 1 points 2 years ago

unshare -nc followed by a command will run that program without network access. Very useful if you're running trash in Wine

[–] [email protected] 1 points 2 years ago

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

[–] [email protected] 1 points 2 years ago* (last edited 2 years ago)

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.

[–] [email protected] 1 points 2 years ago

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.

[–] [email protected] 0 points 2 years ago

You can have a look at [email protected]

[–] [email protected] 0 points 2 years ago* (last edited 2 years ago) (1 children)

Never use sudo for graphical apps. If you need admin permissions use pkexec instead. ie. pkexec gparted

[–] [email protected] 0 points 2 years ago (1 children)

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

[–] [email protected] 1 points 2 years ago

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

[–] [email protected] 0 points 2 years ago

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.

[–] [email protected] 0 points 2 years ago

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.

[–] [email protected] 0 points 2 years ago

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

[–] [email protected] -1 points 2 years ago

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.