Setting Goals for a new Linux user

Hi all. I am new to using linux. I would like to set some goals for myself while I am learning Ubuntu Mate. The problem is that I don’t know what goals that I should set for myself. This is why when I usually install any type of Linux, it just sits on my hard drive unused and a waste of space. I am now using it on my old Macbook as Ubuntu Mate runs nicely and I just want to spend time learning it.

I have already taught myself how to install packages through the terminal if they are in the repository. I think that I am using the correct terminology.

Next would be to install something that isn’t in the repository.

I want to learn things that I can do whether it is general personalization of Ubuntu Mate or more in depth stuff that I can do within the terminal. I would also like to learn bash. I am an intermediate c# scripter at the moment, so that will help with the logic of all of this.

Could you all suggest some goals? They don’t all have to be beginner goals. It would be great if you could do beginner, intermediate, advanced so that I have something to work towards. The only real goal I have set is to master using linux over time, but that is just so broad that I feel like I won’t know if I am making any real progress to this goal.

Thank you for reading.

3 Likes

This is awesome! I wish you the best in your journey to Linux mastery!

The first thing I would recommend is to just use Linux to replace whatever is it that you regularly do with a computer. I’ve been using Linux for almost two decades and I’ve only really had to load Windows in a VM is when a client needs me to debug a website in Internet Explorer :stuck_out_tongue: (I’ve never used a mac)

It might help if you tell us what you regularly use your computer for :slight_smile:. You mentioned C#, so install your IDE of choice and hack away as usual!

Next, I would install dconf editor (sudo apt install dconf-editor) and literally go though the entire thing toggling and tweaking whatever you find, try to spot what happens when you toggle something. You’ll get a better understanding of all your settings this way.

Lastly to learn Bash, I would recommend writing simple scripts to automate mundane things. An example: if you like to change your wallpaper every day to pictures from a specific website, try writing a script to automate this. Have the script load the website data (research the ‘curl’ command), check if there’s a new image (grep? awk?), download (wget), and set it as wallpaper (gsettings). That’s just an example, and you can modify it to do more advanced things. I regularly write tiny scripts like this to help me build/test software I’m writing for larger projects. I also have cron jobs to open programs and pop notifications at specific times (search the web for “crontab”).

If you want to install software outside of the repos, there are a bajillion ways of doing so, depending on the software. Let me know if there’s anything specific and we can work through it together.

2 Likes

There are some things that I know that I will not be able to replace sadly, not yet anyways. I enjoy video games, both creating and playing, but a lot of games still aren’t natively compatible (about 2/3 of my games) so I won’t be able to ditch windows just yet. I will be working towards that in the future though. I usually use Unity with monodevelop as my IDE. I wouldn’t mind trying something new if need be.

I have always had interests in making my computer look and act how I want it to even if it is very minuscule. Windows has slowly started to make all of that more and more difficult on users as well as forcing software on them etc. Back when the Start button actually said start, I would change it to something like “Cow.” I have changed all of the start up visuals from the Windows logo to a logo that I had made. I like tinkering with stuff and Linux seems to give me all of the control I would need (and it wants me to know that ^_^).

I will definitely give the dconf editor a shot. That sounds similar to what I had just mentioned in the previous paragraph.

That’s a great goal to try. I think that I will start working towards that soon. All of the parenthesized words are commands that I would be using, correct? When you are talking about crontab, what is the purpose for opening the programs at set times? Are you using it to help do security checks or something like defragmentation? Or is that part of what I would use to change my backgrounds automatically each day? I am just wondering what all I could use it for.

At present, I am unsure of what I would even want to install, because there is so much useful software for Linux. Do you have any suggestions for software that could be used for anything that I mentioned?

Also, the syntax regarding “-”. When you type sudo apt-get, why is not not spaced? If you space it, does that mean that you are using a different command entirely? Or when there are no spaces, you are telling Linux that you want to use -get specifically with apt. I ask because you can do -l -a I think to list all files in a directory and it does have spaces.

And thank you for your help!!

1 Like

MonoDevelop is definitely available on Linux

Correct:

  • curl for doing HTTP requests
  • grep for finding strings within another string
  • awk for manipulating string output
  • wget for downloading files
  • gsettings for changing config (dconf-editor is a GUI for gsettings)

Hah, much more mundane than that, actually! For work I have meetings that recur every day at the same time, so I set notifications to pop right before so that I don’t need to include them in my calendar. Also, every Friday just before 5pm I have it automatically open the time tracker website at work. Just things like that so that I don’t need to remember :slight_smile:

I have a background changing script that gets the picture of the day from wikimedia, but that I have it to run only whenever I turn my computer on, rather than at regular intervals.

So, apt-get and apt are actually different commands. They do the same thing, generally, but because they do it slightly differently, they kept both to not break some legacy stuff, I think. I use apt (had to retrain myself after years of using apt-get).

You’re right that most commands take flags by means of dash characters. Some do, some don’t, some take more than one. As a rule of thumb, commands take two dashes for “word” flags (e.g. ls --all) or a single dash for “shortcut” flags (ls -a). Both commands do the same in this case. Shortcut flags can also be grouped together: ls -l -a is the same as ls -la.

The best way to find out all the options for any given command is to read the man page (e.g. man ls will tell you all you care to know about ls).

1 Like

very interesting topic

when we talk about the learning, understanding and tweaking the system then I must repeat my question even in here:

what are the PROS and CONS of changing the kernel instead to use an regular one offered through updates? I mean about using the UKUU tool.

I watch this YouTube channel, teaches the basics and from there Google and man pages to get a more in depth perspective for the basics. I’m sure there are others like it. This guy is a sys admin but does python and some interesting programs.

2 Likes

Hallo OwnedbyCow

You may find some of these to be of interest:

a)

b)

c)

d)

e)

f)

Then of course there is, “How Linux Works”, 2nd ed. and “The Linux Command Line”, both available at the “No Starch Press”
The No Starch Press: https://nostarch.com/ :penguin:

Enjoy yourself. :slight_smile:

2 Likes

See also:

https://tutorials.ubuntu.com/

2 Likes