16. It Can Do (Mostly) Everything They Can Do

Yes, it’s true. Linux can do it all! Don’t let anyone fool you. If Windows or Mac can do it, Linux can, too. Linux even runs a lot of Windows apps with the help of a program called Wine. Not that you really need to. I don’t. There tends to be a pretty solid Linux analog for whatever app you need, and with the advent of frameworks like Electron, the difficulties of cross-OS development are becoming a thing of the past. Slack for example is a straight 1-to-1 match between Windows, Mac, & Linux.

Of course, some things are a little trickier, but I’ll get into those after I praise Linux a little more first:

17. There’s An Apt For That

If you run Ubuntu, you’ll have access to this neat little tool called Aptitude (aka apt). It’s an invisible program you can summon up to fly out into the wide web world and fetch for you about 90% of all the applications you will ever need to make Linux do what you want. It manages all of these applications intelligently and keeps them up to date (as you request it, which you should frequently). If you learn how to use this tool well, you will have no problem getting Linux to do just what you want it to. Just be careful when removing packages using Aptitude… Lots and lots of stuff depends on the packages managed by this guy. So, if you remove the wrong thing, things tend to go *boom*.

18. You CAN Game On Linux!

Despite what people say, you CAN game on Linux. Actually, better than you can on Mac in my opinion. Steam even runs natively on Linux now, which is remarkable. I run Rocket League at full settings (minus 4K) and get max FPS and eight ping… (the ping is probably a credit to my gigabit internet, but still… good to know Linux is maxing out my ethernet). Sadly, 4K gaming is still nowhere near as performant as on Windows, but I expect the Linux Nvidia drivers will catch up soon in that area.

19. Automation

Automation is EASY on Linux. Writing a shell, Python, or even Node script to execute some frequently used task is as easy as writing the script. There is no overhead in Linux and crontab (Linux’s primary task scheduler) takes about five seconds to learn. So, just code up your task, add it to crontab, and you’re done!

20. Missing Packages Are A PITA

As I mentioned earlier, removing the wrong packages can really screw up your system quick. But, even worse than having things go *boom*, is when a non-essential package is missing. These tend to break some subtle feature in your system and can be impossible to track down. This is one of those things I talked about when I said

Don’t Give Up

While you may end up breaking something and have utterly no clue how to find the solution or what to even google for, you will triumph! Live with the issue for a day or two and the answer will find it’s way to you. This is another part of the bond you must have with your OS. Have a little faith in Linux, and things will work out.

21. Hardware Is Hard… (But Software Is EASY!)

In Linuxland, plug & play is dead. Do not expect any device you purchase to work off the bat unless it’s that 1990’s keyboard (see #8 and #13) you grabbed at the bottom of the shelf at Best Buy to hook up to your Raspberry Pi. No, displays, mice, keyboards, headsets… they will all need a little TLC. Yes, it’s just drivers, which might seem easy enough, right? Wrong. Most of these drivers are developed as FOSS (free & open-source software) and by tiny communities of people that are stubborn enough to swear by hardware that was designed exclusively for Windows machines (*cough* Razer). This means that there are a million permutations of hardware that haven’t been accounted for. So — frequently — you will need to dig around to find an amalgamation of solutions to get your hardware working the way you hoped it would when you bought it.

With that said, software is easy! Funny enough, it actually tends to be easier to fake hardware using the Linux file-system than it is getting actual hardware to work. This, however, ends up letting us devise some pretty cool hacks:

22. WebEx Screen-Sharing Hack

If you use WebEx for Desktop on Windows, you will be disappointed to know that the Linux versions do not support presenting (screen-sharing). Luckily, Linux is easy to hack! With direct access to the file-system — which is actually used by the OS to represent our hardware — and a powerful program called ffmpeg, we’re able to solve this problem with one command (and a few dependencies installed):

sudo modprobe v4l2loopback && sudo ffmpeg -f x11grab -r 15 -s 1920x1080 -i :0.0+0,623 -vcodec rawvideo -threads 0 -pix_fmt yuv420p -f v4l2 /dev/video0

What does this do? It uses ffmpeg to capture one of my displays and output the stream as a v412loopback (easily installed from Aptitude) to a file at /dev/video0 , which happens to be the file-system’s representation of my webcam. v412loopback uses the same codec as my webcam, so by running this single line of code, I effectively turn my webcam into a screen-sharing tool, with or without support from WebEx. Couple this with a world-class, open-source broadcasting application like OBS (I still haven’t completely figured this out, but I’m onto something; if you have any insight, please share it in the comments!), and you have a more powerful screen-sharing tool than anything WebEx could offer anyways.

23. You WILL Miss Your Windows/Mac Only Apps

Yes, you will. If I hear one more Linux junky feed me that, “But, GIMP!” crap, I’m going to have a fit.

GIMP is NOT Photoshop.

It never will be. I miss Photoshop dearly. And although it’s just a reboot away, it still feels so far (remember, I dual-boot with Windows 10 and for this reason — and gaming, of course — I will never be able to go 100% Linux). In addition to Photoshop, you may also miss:

Office 365. Libre Office is pretty impressive, all-in-all. But in reality, it’s not good enough. However, if you’re anything like me, you do most of your stuff in Google Docs/Spreadsheets/Slides anyways, so you’ve weaned off the M$ nipple a bit already. Nevertheless, Office 365 is a fantastic suite of products, and it is a little painful to know it’s collecting dust on my Windows side.

Evernote. I use Evernote a lot. And the Windows Evernote desktop client is amazing. It’s so snappy, well designed, and lightweight. Unfortunately, after tons of digging and experimentation, I could not find a single comparable Evernote client for Linux. Fortunately though, the web client is pretty awesome and with a little hacking, works almost as well for me.

The Plethora Of Others That Have No Good Linux Analog :(

To name a few:

Windows Mail… Yes, if you haven’t used it. Try it. It’s really one of the best mail & calendar clients to date, IMO.

Nvidia Control Panel. There is a pseudo-analog for this (nvidia-settings) that comes with the Linux drivers, but it’s not nearly as powerful as its Windows counterpart.

Ableton. If you produce music or sound effects, you will probably be disappointed to hear that the last word of a Linux compatible Ableton was in 2014. While it’s possible to get it working with tools like Wine, getting peak performance will still be no easy feat.

I may edit this later as I think of more, but probably not. I’ve just been so entrenched in the Linux world, I’m starting to forget what it was like elsewhere. And I think you get the idea anyways. You can’t always have the best of both worlds. Nevertheless, as a developer, in just a weekish I can already say that Linux is probably the most complete package of a desktop OS. As a gamer, I say make sure you have Windows at the ready for anything serious, but don’t hesitate to test the waters with a less demanding game like Rocket League or a majority of the now available Steam library.

24. Apps Make An OS A Home

Of course, any OS is only as good as the applications & programs it supports. And Linux is no different. While I do miss my Windows apps mentioned above, the Linux community was more than accommodating. In the last weekish, I’ve strung together the following suite of applications to streamline my workflow:

Evolution Mail. After trying several mail clients on Linux, I found Evolution Mail to be the most thorough. It supports calendars, tasks, memos, & contacts. It has customizable views, searches, signatures, and everything else you need from a comprehensive mail client.

Terminator. Terminator is — hands-down — the best terminal manager for Ubuntu. It sports custom profiles, tabbed terminal windows, tiled terminal windows, and fully customizable theming. It is an absolute must-have.

Terminator

Google Chrome. If you’re human and don’t live under a rock, you probably browse the web. While Ubuntu distros come with Firefox pre-installed, I think we all know Google Chrome does this better than anyone. And if you need to keep another completely isolated session open at all times, like I do, and don’t like to use extensions for this, you can also install Google Chrome’s parent project, Chromium and run them side-by-side.

gnome-system-monitor. Monitoring system resource usage is a critical part of maintaining a healthy, functioning machine. gnome-system-monitor comes pre-installed with Gnome-based distros and does a great job giving you an overview of resource usage.

Redshift. STOP staring at cool-toned screens! Overexposure to blue light has been proven to have devastating effects on our circadian rhythm. Redshift intelligently warms your screen later in the day to reduce eye-strain and prevent display-triggered insomnia.

Cerebro. If you come from the Mac world, you probably love Spotlight. If you love Spotlight and moved to the Windows world, you probably love Launchy. You may even like Quicksilver (Mac) or just good-ol’ Start Menu (Windows). If you like any of these things and don’t LOVE the various attempts at a launcher for Linux distros, try out Cerebro! It’s built on Electron, so it actually works in Windows, Mac, & Linux. It’s also got a fast-growing community behind it and comprehensive plugin architecture that has been put to use in some really cool ways!

WebStorm (JetBrains). If you’re a web developer working with JavaScript, WebStorm is by far the best IDE in existence. While there are alternatives like Atom, Eclipse, or Sublime Text (though not really an IDE), JetBrains has put together quite possibly the best suite of software for Python, Java, JavaScript, Go, and so many more languages. Further, every single one of them works in exactly the same way. So, the learning curve is a one-time thing.

Sublime Text. Briefly mentioned above as an alternative to WebStorm, it is also an essential companion to it. Heavyweight IDEs like WebStorm can be overkill for a lot of smaller text-editing tasks. Sublime Text is a great, light-weight app to have open when you need to tweak config files, shell scripts, or any other non-project oriented items.

If you know of any other great apps or alternatives to the ones I’ve listed, please do share them in the comments!

In Closing

If you haven’t given Linux a shot yet as a real, day-to-day OS, I highly recommend it. Just be prepared for the hurdles and learning curve. It will not be easy, but it will be rewarding. Linux has gained some tremendous traction in the past year. I’ve noticed it everywhere. On all of the theme sites, discussion boards, Q/As, etc., there is the same pattern. Lots of talk 5–10 years ago. Then silence. And now a resurgence in the last two years. And from what I see, it’s no coincidence. Linux, as an open-source project, is in a perfect position in today’s world to take off.

I’m on the bandwagon already, and I like where it’s going.

If you’ve jumped on already, I’d love to hear your take on this in the comments. Otherwise, feel free to ask or comment on anything you like! I’m still very new to this side of computing, so I’m all ears.