Saturday, February 1, 2020

Best Linux for Anyone



Despite the title, this post isn't meant for anyone. This post is best for those who are into or are planning to be in I.T. business, want to experiment or are just interested in free alternatives to desktop software solutions.

Lately, there is fuss over "Windows 7" losing support from Microsoft.
People who are "hardcore" Linux are proposing everyone who was using Windows 7 to switch to one of the popular Linux Distributions.
I'm not "go Linux all the way because Windows is bulls**t" guy who is totally biased towards Linux.
But. That said, I like to be realistic and look things objectively.

The first thing that comes to my mind when I think about this subject is that famous comment on Reddit which seas "...at the end of the day the Linux community wants to make software, and Microsoft wants to make money...". So keep that one in your mind, and also the fact that any Linux distribution is FREE!

I work as System Administrator at my City's Administration building and I have long experience with using many different Operating Systems for different purposes.

First computer I got when I got the job

Using Windows Servers from 2003 to the latest ones was necessary since all computers in this building are connected via Active Directory. And controlling those servers remotely, in the beginning, was, for me, only possible from the workstation (office computer... duh) that ran on Windows OS.

Few Windows Servers out of many.


In this work, I worked on all Windows systems since XP.
There were always those classic problems that Windows systems have. Mainly security and privacy-wise.
A rare occurrence which can kill your day
Programming... more likely playing script kiddie in Windows 7
This being good or bad was depending on what you wanted to do that day. Chill or finish jobs ASAP

 
Then Linux kinda stepped in slowly in my future plans...

At the beginning of my career in this job, I wasn't really able to use the Linux system from the position where I was at the time. But that was about to change.

Linux with Openbox interface on the left, Windows 10 installation in progress on the right

Having more and more freedom over time I was able to start testing all those old computers by running various Linux distros on them and start giving them other purposes then leaving them to be dysfunctional workstations for people who don't even bother to use them that much anyway.

Blue screen of death wasn't a rare occurrence

That way I learned A LOT about how Linux works and how useful it is.

After 8 years of working as SysAdmin in this building, I came to a point where my workstation is running Linux distro and it's packed with all the necessary tools I need for my job.

In this post, I'll guide you through how my Linux distro looks like and how it makes my work "pleasurable" at the moment of me writing this post.

My distro of choice is Linux Mint.

Why?

I came to the conclusion that it is a distro that is most balanced. Functionality, enough stuff ready "out of the box", stability, support and something that is my guilty pleasure "THE DESIGN".

I'm an upcoming minimalist. I like the interface to stay both minimalistic and functional as much as possible. Linux Mint seems to hit that perfect balance.

That is the last thing I'm going to say about design and minimalism.

Let's see first what tools my job requires me to have in my workstation.
As SysAdmin your job is to take care of everything that has anything to do with computers.
So SysAdmins go from educating people on how to press NumLock key on the keyboard, over checking if all cables are plugged all the way to programming info systems, maintaining web pages and of course network management and keeping all that in perfect order.

So in my case, I need my workstation to:
  • Stay updated and stable;
  • Remote control;
  • Create content (image/audio/video);
  • Network diagnostics;
  • Process word, excel and pdf files with multiple languages in use;
  • Programming;
  • Simple and fast communication;
  • Forensics;
  • Malware cleanup;
  • Backup;
 If you want to use Linux for basic stuff like 'surf' the web, watch movies, listen to music, youtube, it's very simple just install Linux Mint and everything is ready right away.

Now. If you want to choose Linux for your workstation you might need to know how to prepare for it and what tools you need and if you can expect to find them in Linux.

Here is my funy short video of how to install Linux Mint on your PC using USB flash drive:



Does Linux Mint have everything I need right after I install it?
NO!
But to get everything I need, I just open the software center and look for necessary stuff.

Linux Mint Software Center


Searching for tools in the Software Center

Or, if I want to feel that I'm using Linux, I'll run terminal (Ctrl + Alt + t) and type commands in it so I can get tools I need faster and "cooler". That is if I know what I'm doing and know command names of tools I want:

Installing all that software from the terminal

So you just need to remember this line "sudo apt install" and the rest comes on its own over time as you learn names of all those tools you need.

So for remote control, I need software that will allow me to control Windows Servers that are on the same LAN with my computer.

For staying up to date, Linux is just wonderful because you can update it at any time without having to reboot (restart) the machine, like, EVER.
That is one of the reasons why a major company's servers are run by Linux. No one has the luxury to have their servers restarted on every update.

In Linux Mint you will always be notified in the notification bar (duh) in the lower right corner that new updates are available. And updating the system is basically two clicks away. It will always ask you to update manually unless you set it up otherwise.



Click the Update Manager logo in the notification center
This will show the first time
Always switch to the local mirror for faster downloads
Always Apply the Update if it's available for Update Manager


If you want to feel like a "pro", "Linux guru" or "hackerish" for that matter, you can use terminal for that too.

To check for updates you type: "sudo apt update"
To update (upgrade): "sudo apt upgrade" and press "y" key and Return key when prompted.
Simple as that.

Now. I need software to control all those servers I have in the other room.
"Remmina" is software that allows me to access those Windows Servers remotely from this very Linux OS. If you just need that, then you just type the command in terminal:
sudo apt install remmina remmina-plugin-rdp
... and you are ready to use it for that purpose.
Or just look up for those in "Software Center".
"remmina-plugin-rdp" is what you need to install so that Remmina software has options to access Windows Remote Desktop. You won't be able if you just install "remmina".

You can just run it, or any other program for that matter, from the Main menu, which is in the same corner of the screen where Windows put it's Start menu. It's basically written and presented with beautiful and simplistic icons that will make it impossible for you not to find the software you have installed.
If you don't want to bother just click the Main menu and start typing the name of the program (remmina in this case) or if you want to be even faster without using the mouse just Alt+F2 and type the name of the program, press Enter (Return) key and program will start.

Remmina - remote desktop client
As you can see, I've already saved one of my Windows servers in Remmina's quick access list. So I can access it any time I want with just double click.

So far, Linux is great when remote control comes in place, especially considering that "TeamViewer" and "AnyDesk" can also be installed on it and those are both cross-platform programs.

Now, let's say that I'm a web developer and I need to access my webpage host and edit my files there.
Linux Mint has "Nemo" as default file manager.
And as default, it has implemented option for accessing FTP servers and it's very easy to do. While in Windows you don't get that "out of the box".

Nemo File Manager (striped down to look minimalistic as I like it. It's not like this right after the installation)
 Sequence to accessing FTP server of your webpage is:
Menu bar (press Alt key to show menu bar if it's hidden like in my case) > File > Connecto to Server... > Enter details you use to in other FTP clients...

Enter details for accessing FTP server
Webpage root folder

To edit all those files (HTML, CSS, PHP...) you already have a tool for in Linux Mint "out of the box".
It's simply called "xed". Basically clone of "gedit" or "pluma" which are actually the same thing. All different names for practically the same program.
Getting off topic a bit. No matter what, "xed" is a wonderful 'thing'.
Windows has notepad as a default text editor and it's not to be compared in any aspect to "xed".
"Xed" automatically knows how to highlight text in your scripts, config files, etc based on extensions. So that little default text editor is ready for you to comfortably start with lite programming or scripting. For HTML, CSS, sh, bat, etc. you don't need anything better.
I don't need to say how customizable it is. It already has some themes that do make the difference and you can even create your own if you have that much free time

xed - default text editor for Linux Mint

So far I've mentioned all the tools I need to have for basic administration. Remote control here, make some scripts there, and there you go.
But of course, the job doesn't only require you to control a few servers, it's much... much more.
In time, new needs require other tools and they are all just one "sudo apt install" line away.

Learning how to use the terminal is mandatory for anyone who wants to use any Linux distro for more than basic stuff.