this post was submitted on 13 Aug 2023
0 points (NaN% liked)

Linux

48180 readers
1128 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 5 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 23 comments
sorted by: hot top controversial new old
[–] [email protected] 1 points 1 year 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 1 year 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 1 year 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 1 year 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 1 year ago

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

[–] [email protected] 1 points 1 year 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 1 year 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.

[–] [email protected] 1 points 1 year 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 1 year 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 1 year ago (1 children)

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

[–] [email protected] 1 points 1 year 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 1 year 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] 1 points 1 year ago

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

[–] [email protected] 1 points 1 year ago* (last edited 1 year 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 1 year ago* (last edited 1 year 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 1 year 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 1 year 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] 0 points 1 year ago* (last edited 1 year ago) (1 children)

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

[–] [email protected] 0 points 1 year 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 1 year 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] 1 points 1 year ago* (last edited 1 year 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 1 year 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 1 year ago* (last edited 1 year 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.