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.
My advice is to search the Internet for some good resources on how to learn the Bash programming language, or else the “POSIX shell” (which is very slightly different from Bash). This is the command line language used by most Linux distros by default. POSIX shell is a complete programming language with built-in data structures, control flow like conditionals (
if
statements) and loop syntax such asfor
andwhile
, and function composition by way of shell pipes. Combine these with tools likefind
andgrep
and you can accomplish quite a lot with just a single line of code.Also, I highly recommend you practice using Vi or Vim as a text editor until you get somewhat fluent. It isn’t strictly required, but I recommend it simply because most people who use Linux as their daily driver also use these tools, and it helps a lot when communicating with other people in the Linux community, especially when it comes to solving problems. You want some fluency in using apps that the majority of people in your community are using. Also it is a good place to practice writing shell scripts.
Also not required, but learn a bit about Emacs as well. Learn how to use Dired (an Emacs app for working with
ls
output interactively), learn how to open an edit a file from Dired, learn how to runfind
andgrep
from within Emacs. Learn how to run shell commands in Emacs and capture their log output. Also learn a bit about how to use Org-mode. (Shameless plug: I have my own series of blog posts on how to do these things.) This handful of basic skills will get you a very, very long way.I can’t comment much on customizing Cinnamon, but Cinnamon uses the Gtk toolkit, and so you can use any of the good Gtk themes out there to customize Cinnamon. Check out the UnixPorn community for more in-depth advice on that topic.