Here’s a little foreshadowing: I wrote most of this blog post in Blogilo on Ubuntu. Despite me saving a draft, Blogilo crashed at one point – when it came back, I can’t find my draft anywhere. I look on the file system and I can’t find it either. So, I’m RE-writing this blog post in the WordPress web app.
Windows 10 has been getting a lot of attention lately because of privacy concerns. I wrote about that here and here. It’s not just Microsoft though, YOU are the product nowadays. All the major vendors give you free or cheap stuff, in exchange for them having the legal right to pore over every byte of data they can collect about you. That is the model, and all the major players now follow it (Microsoft, Google, Apple, Amazon, etc).
So what are your options? For your main computer, if you use Windows or Mac, you forfeit quite a bit of privacy. If you don’t like this, there is a third option which has been off-to-the-side for a couple of decades now: Linux.
What is Linux?
Linux is an operating system, like Microsoft Windows or Apple’s MacOS X. It runs on Intel/AMD PC’s, and some other types of hardware too. Generally speaking, it is a completely free operating system that you can install and use on your computer, instead of Windows. It has a very familiar “Windows” like interface, but it has it’s own ecosystem. Meaning, there are different programs you’d use on Linux, but in just about all cases, there is a comparable alternative. We’ll cover that in a bit.
Pictured above is the desktop of Ubuntu Linux. When I say “generally speaking” that Linux is free, that is because almost all “distributions” are. Since Linux is free and open source, it’s been splintered into a zillion distributions, and those distributions are then splintered further. This is because people like to take a certain distribution, start from there, and then create their own modifications from there. If this sounds like chaos, you’re right! Luckily though, there is some sanity in this…
The upside to this is sort of a “free market” approach. Since distributions are free, certain ones rise to the top of popularity based purely on merit. The “best” Linux distributions are ones that people like, and tell their friends about. Luckily, you can take advantage of this “wisdom of crowds”, and see what are the most popular distributions.
I can give you my opinion, here. If you are new to Linux, start with Ubuntu – www.ubuntu.com
I say this because Ubuntu’s focus has been to be a legitimate replacement for Windows or MacOS, they have a lot of community support and help, and there is a pretty easy transition from Windows or MacOS.
What do I need to know about Linux?
Like anything, it has pros and cons.
- Cost: It’s free.
- Specialized: You can install all sorts of customized distributions to suite whatever you like. There is almost unlimited distributions that have different focuses (usability, hacking, multimedia, gaming, etc), so you can really find something that is a good fit for you.
- Customizable: All distributions and versions of Linux are configurable to the nth degree. There is almost nothing you can’t do, or find. For example, there are windows themes that can make your Linux distribution look just like Windows XP or MacOS X.
- Compatibility; There are comparable, reasonable alternatives for everything (or almost everything) that you use. For example, if you use Microsoft Office, LibreOffice is pretty close to the same thing AND can open/save files in native MS Office formats. By the way, you can also run LibreOffice on Microsoft Windows, and MacOS X too – for free, right now, it’s a totally decent in-place replacement for Office.
- Interoperability: Since Windows and MacOS dominate the market, Linux works with both pretty seamlessly. It knows how to use File Systems from those operating systems, how to connect to file shares, etc. If you try to use something from Linux on Windows, that won’t go well. If you try to use something from Windows or MacOS on Linux, chances are very likely there is a way to do it.
- Security and privacy: opposite of MacOS X or Windows, Linux was and continues to be highly focused on security and privacy. You can easily encrypt everything, and there is no “mothership” where your data is sent (like how Google, Microsoft, Apple, etc like to capture things you do to “improve your advertising experience”). In Linux, there is no such thing – what you do on your computer, is only on your computer.
- App Store: similar to MacOS X, Windows Store, or what you have on your phone, there is an app store for Linux. That is (almost) exclusively how you’d install software. You can search or browse for apps, based on popularity, rating, etc. Makes it easy to find your replacement apps.
- Learning curve: It’s new and different, so there will be a small learning curve.
- Consistency: because “window managers” and the UI part of Linux can be highly-configured, there is no consistent style to Linux applications, necessarily. In modern day, and if you use a user-centered distribution like Ubuntu, then it’s pretty good – but every once in a while you’ll install an app that is laid out weird or is confusing.
- Stability: Most of the software you use will not be as bug-free as what you are used-to. For example, as I mentioned, I wrote most of this blog post in an app called Blogilo, but when it crashed, it lost the post. This isn’t common, necessarily – but it’s not completely uncommon.
- More command-line: There is definitely more focus on the command-line, which in Linux is almost like a programming terminal. You can script or automate pretty much anything. in Windows, the command-line is for running limited tools and that’s it. In Linux, the command-line is for running powerful programs which can feed their output into other programs. For regular end-user computing stuff, this isn’t needed – but if you venture outside of that, you’ll see more focus on command-line.
- Interoperability (limits): There will likely be things you just can’t do. For example, even if you wanted to, you can’t run MS Office on Linux (well, you actually CAN run Windows apps using this abstraction layer called “wine”, but that’s beside the point). Another example is I use XBox Music Pass for my music, and although the website works (http://music.microsoft.com), when I try to play any songs, it gives an error. I contacted Microsoft and found out that XBox Music Pass uses .wma (Windows Media Audio) files, which I can’t play. So, I need to use my phone to listen to music, and can’t use my computer any more.
As I wrote that list, I found myself wanting to disclaim everything. That is because in Linux, you rarely if ever run into something that is impossible. For example, without doing more research into it yet, I’m already 98% positive there is SOME way for Linux to play .wma files. It will probably take some digging, but I’m sure it’s possible.
That is sort of the hallmark of Linux too – it’s such a configurable, open source, “anyone can do anything” kind of environment that chances are that someone, somewhere has already fixed the problem that you just ran across!
A closer look…
OK with all that said, let’s take a closer look at what works and doesn’t work. First, let’s look at Office. As discussed, you can use LibreOffice which is FREE and open source. Here are what the analogs look like for Word, Excel, and PowerPoint for example:
Here is LibreOffice Writer (similar to Word – can create/save .doc and .docx files):
Here is LibreOffice Calc (similar to Excel – can create/save .xls, .csv, and .xlsx files):
Here is LibreOffice Impress (similar to PowerPoint – can create/save .ppt and .pptx files):
By the way, one of the settings in Linux is that the main menu (where you normally see: File Edit View, etc) is incorporated in the main menu bar at the top of the screen when the window is activated (which is not-picture above, but is available), instead of taking up space inside of the application window. This is Linux, so this is configurable:
Moving on, let’s look at Mozilla Thunderbird for e-mail. This is similar to Outlook where it has an envelope icon and notification when you have new e-mail. It has all the features you probably expect:
It also has a chat component which supports many of the protocols you likely use:
speaking of chat, there is a much more capable, specialized app called Pidgin which supports pretty much every kind of IM which exists:
Speaking of internet-type stuff, what about web browsers? Well, there is no Internet Explorer, but there Chromium, which is the open source fork of Google Chrome:
and there is Firefox, which I primarily use:
Note that I “pin” common tabs like: OneNote, Outlook, Facebook, and XBox Music (which I need to unpin, since it doesn’t work)! So, these browsers are just like you know in Windows.
Next, as far as connecting to other machines, you do have SSH right from the command-line. However, you will need Remote Desktop Protocol (RDP) to connect to Windows machines, and VNC for connecting to the user interface of MacOS X or other Linux machines. For that, Remmina seems to work very well. It supports RDP, SSH, and VNC out of the box:
and using Remmina for RDP for example, it gives you a hideable, full-featured toolbar:
What about regular things, like changing the background or screensaver? In Ubuntu and the “Unity” window manager, that very much follows the MacOS X look/feel for the main “control panel”. Even if you are not familiar, it’s pretty intuitive:
Here is the background settings screen. As you can see, you can set it to be a gradient, solid color, or it comes with a lot of high quality background pictures:
and for screensavers, remember the olden days of Windows where there tons of screen savers (and even “Flying Toasters”)? Well, Ubuntu comes pre-loaded with a large number of screensavers to play with:
also noteworthy to me for Ubuntu, is that when you hit the “Windows Key” on your keyboard, it brings up this search panel. So, you just start typing and it will show you applications, files, things in the app store, etc that match what you typed. This isn’t exactly Microsoft Cortana, but it is an easy way to find an app or file very quickly:
Interop and Security:
OK, so we can more or less use Linux for a lot of things, but earlier I made these wild claims that Linux is more interoperable than Windows or MacOS X. What I mean by that is that Windows doesn’t care about anything else. It is its own ecosystem, and it’s a HUGE ecosystem. It doesn’t need to care about working with other systems. MacOS is similar, it has a huge user base, so it often has ways to work with Windows, but that’s about it.
Conversely, Linux is obviously not as popular, so in order for it to be competitive, it needs to easily interop with both Windows and MacOS X. One example of this is when dealing with hard drives, USB drives, and SD cards. Here are most of the file systems that Linux supports – I say “most” because this list actually scrolls down even further:
This means that you can create or read a USB thumb drive, SD card, etc formatted with any of these file system types. Windows only supports Microsoft file systems, and MacOS X supports MacOS and Windows file systems – whereas Linux supports Windows, MacOS X, Linux, and even other obscure operating systems.
As far as connecting to other systems, we talked about using Remmina above – but what about file shares and printers? With “Samba” installed (which it is, by default), you can refer to Windows-based file shares easily in the UI, similar to a Windows Explorer window:
above, “smb” (which is a term from the old days referring to Server Message Block) is the protocol that is used to communicate with Windows-based file shares. So, in the picture above, from our Ubuntu Linux machine, we are connecting to a Windows-based file share \readynasisos which in Linux is translated to smb://readynas/isos. You can also “mount” an SMB share in the command-line too, which is the equivalent of “map network drive”.
Now, for security, there are some simple features built-in like the ability to format a hard drive, USB drive, SD card, etc with disk-level encryption. This is very similar to BitLocker, but not as difficult to use. Then, when you plug the encrypted drive into any Linux computer, you get a prompt like this:
the fact that you can so easily encrypt everything, makes it easier to stay secure. Similar to BitLocker on Windows, or the disk encryption on MacOS X, in Linux you can also have drive encryption. You are prompted for a password upon bootup. If it’s successful, it unlocks the drive and is able to boot from it. Then, you also have your regular username/password to actually finish logging in. This means that your hard drive is encrypted and secure, and any portable drives you have will be encrypted and secure too.
From a privacy perspective, you can “turn off” anything that does track you. These are features that make the computer easier to use, but also leave behind a paper trail. So, if you want to forego convenience in exchange for privacy, the Security and Privacy settings allow you to completely turn these things off:
Also, the Security & Privacy screenshots above are from Ubuntu – the most user-friendly of the Linux distributions. Just about all of the other distributions don’t even have tracking features to turn off. Linux is not built around user surveillance the way Windows and most other services are.
It’s very difficult to try to show an entire operating system in one blog post, but hopefully this gives you at least a better sense of what Linux is, and if in the year 2015, you might want to switch to it (or even just try it out – more on that in a minute).
Bottom line – should you switch?
In short, it depends. If you are a “regular” computer user and need e-mail, web browsing, and Office – then it would probably be pretty easy for you. If you use your computer for high-end gaming (e.g. Battlefield 4 – not Candy Crush), then probably not. Also, Linux easily runs on lower-powered, and older hardware. So, if you have an old, slow computer laying around, you’ll likely find that Linux runs pretty decent on it.
With all of that said, you also would have to be OK with going on an adventure. Exploring a new operating system can be a lot of fun, but also frustrating because you can’t find things where you think they might be! So how do you decide?
Here’s the good news in all of this, you can download an .iso file of a distribution for free (I would recommend Ubuntu or LinuxMint), burn it to a DVD and reboot your computer. Your computer will boot of the DVD and you use USE Linux without affecting your existing system at all. So, you can install software, and play around on your actual computer to A) make sure it works with all of your hardware and B) see if you like it. It uses an in-memory “disk drive”, so when you reboot, you’ll lose everything – but it’s enough to be able to try it out.
If you are an IT professional, you likely have a virtual machine environment (e.g. VirtualBox, Hyper-V, or VMWare) – you can also easily run Linux in a virtual machine to try it out.
Bottom line – will *I* switch?
Most everything has been pretty smooth for me. What works for me:
- Using Mozilla Thunderbird mail (or just using http://www.outlook.com) for e-mail.
- Using the browser “apps” for Facebook, Twitter, YouTube, etc.
- Using VirtualBox to host a Windows 10 instance on this machine, so that I have a Windows VM available even when I’m portable.
- Using LIbreOffice instead of Microsoft Office.
- Using Visual Studio Code (for Python development), and Xamarin (for .NET development) – not QUITE as nice as Visual Studio, but totally workable in a pinch.
- Using Reminna as a single tool to RDP, SSH, VNC into other machines. Great interface, good quality, and super-stable.
- Using a virtual machine for Windows 10 to do any .NET programming.
where I still have pain points:
- I don’t have a replacement for Windows Live Writer to write blog posts. I’m writing this in the browser, using WordPress, which isn’t horrible, but it’s definitely not as easy as Live Writer – especially being able “paste” a screenshot I created in Greenshot.
- My beloved OneNote! Although you can certainly use the web application if you store your OneNote notebooks on OneDrive, the web interface it not as elegant as the real application. For example, whenever I try to format text in OneNote via the browser application, it looks all messed up in the OneNote (Windows) application.
So, I don’t know, I’m still on the fence. I’ve had Ubuntu on my laptop for about a week and have been making an effort to use it for everything, and it’s mostly been good. I need some more time to figure out if it will be a permanent switch. I also know that Ubuntu (and several distributions) have hardware issues with my computer (not this laptop). For example, it doesn’t recognize my network card, and I couldn’t get my 4K display working, despite the vendor specifically supporting Ubuntu. On the laptop, the only hardware issue I had/have is that it doesn’t recognize the fingerprint reader. So, I need more time to troubleshoot and see if I can make these things work. If you are up for a change, I suggest you do the same!