Though the demand for Linux Systems Administrators is growing, the sysadmin world is still dominated by Windows in many ways: company laptops will come pre-installed with Windows, Outlook e-mail servers, Microsoft Office formatted company documents, etc. Most businesses now see the value in replacing windows with Linux on their servers, but stop short of replacing the familiar Windows desktop with Linux. But a growing number of systems administrators (like myself), have made the switch to working solely on the Linux desktop. Let me tell you both why I did, and the awesome open source tools I used to do it.
First off, let me preface this by saying that not all sysadmins will be able to make the switch. I happen to work for a great company that supports my decision (or at least tolerates it so long as I get my work done), but not everyone will be so lucky. Also, some companies will use proprietary in-house tools that only work on Windows, or they may require more integration with Active Directory than is practical with Linux. Still some others will wish to take the path of least resistance, and focus on making their Windows experience work for them.
For me, Linux isn’t just some OS I throw on a server to deploy a Web app; it’s a way of life. I love free and open source software and everything it has done for the world. Using open source software and reporting bugs is part of the price we pay for that greatness. But aside from that, Linux offers a range of possibilities to increase your productivity.
Most Linux distributions offer the ability to choose from multiple desktop environments, each with their own paradigm and workflow. And each of those DEs offer loads of customization options to further tweak them to your preferences. I have found that one of the best ways to increase your productivity is to get your desktop ‘just right’ so that it works and behaves exactly how you want it to.
Additionally, because open source software is free and Linux distributions have massive repositories of software that can be installed in seconds with a single command; it becomes trivial to try a different software solution if your current app isn’t getting the job done. There’s no hassle of purchasing, licensing, registering, or activating the software: you just install it and use it. You also don’t have to worry about the security risk of executing some random executable you downloaded off the internet, compiled from code no one but that company or programmer has seen. And because Linux distros have centralized package managers, system and software updates can be handled easily, in one place; rather than clicking through dozens of popups and bloated system tray applications that phone home separately to check for updates and report back who knows what kind of usage statistics, or worse …
Ok, enough of my rant against Windows. Let’s get to the software! Most Linux sysadmin software guides I see on the net focus either of monitoring tools for the server, or command line tools. This guide is geared more towards desktop tools. All of the apps listed here have been used by me personally in a professional capacity. This isn’t just some list I threw together from Google, these are the tools I rely on every day to get my work done. I hope this post can help make your switch to Linux as productive and satisfying as mine has been.
Personally, I use Fedora 24 on my company laptop. The reasoning behind this is I have to maintain a lot of CentOS and Red Hat Enterprise Linux servers. Fedora is a cutting edge distro, dedicated to pushing out the latest packages and pushing the boundaries of technology. The changes and innovations made in Fedora will eventually trickle down to RHEL and CentOS, and I’ll already be familiar with them. With cutting edge distros, there’s always a chance that something will break with an update, but if you’re reading this you’re probably a sysadmin: you should already know about backups … Besides, I’ve used Fedora for almost a year with no issues now. Fedora has an excellent, out of the box ready implementation of Gnome 3 as well, which happens to be my preferred desktop environment when I’m not using i3.
Though Ubuntu is typically seen as a distro for developers, it would also make a great choice for a sysadmin. It has arguably the largest number of available packages. And with something like 70% of the share of Linux servers in the cloud, most sysadmins will find themselves managing an Ubuntu server at some point. Unlike my Fedora example above, Ubuntu desktop and server are the same underlying OS. I actually struggled quite a bit in deciding between Ubuntu and Fedora for my company laptop. For many sysadmins, Ubuntu (or one of its many flavors) will make the most sense. And while folks like to complain about the Unity desktop, it’s actually pretty good if you ask me. I still prefer Gnome, but Unity can definitely get the job done out of the box with minimal fuss.
OpenSUSE is doing some great stuff with Leap and Tumbleweed, and is blazing the trail with btrfs. They don’t quite have the package availability of other distros, but their Open Build Service puts other distros to shame.
Arch Linux is hands down my favorite distro. I love The Arch Way and the power and respect that the distribution gives users. It can be daunting for beginners and being a rolling release does mean you will have some breakages from time to time. But it will allow you to build the ultimate, lean, customized distro with everything you want and nothing you don’t. If you’ve never used it before, don’t make your first installation on the company laptop though. It has a steep learning curve …
I have to interact with a lot of Windows servers over remote desktop at my job, so remmina is probably one of my most used apps. It uses the freerdp protocol to establish remote desktop connections with Windows machines. Like Remote Desktop Manager, you can save connection profiles for one-click-connecting to remote servers. It also supports VNC, ssh, and other connection protocols. It doesn’t have the same feature set that RDM does, but RDM was bloated, in my opinion. The primary thing that I need Remmina for it does well: saving connection profiles to all of the Windows servers I have to manage. It comes with a handy system tray icon for quick connections. It even supports clipboard sync (probably its most useful and time saving feature).
Remmina is also useful for those times when you need to use a specific Windows application for which there is no Linux alternative. Just remote desktop into a Windows box and do the work there. It takes much less resources than virtualization, and it’s way more stable than using Wine. There have been times when I spent all day using Remmina to RDP into a Windows machine to do some Windows specific work. It’s so stable and responsive, you’ll forget you’re even on a remote desktop.
Syncthing is my dropbox/bittorrent sync replacement. It keeps files synced across multiple devices, through an encrypted peer to peer protocol. While Syncthing is still a new project (not yet to version 1.0), it has come a long with since it’s early days. It has a great GTK client now, an Android app, and even a Windows client. No need to worry about a 3rd party handling sensitive company data, or expensive storage prices … you can sync as much data as you have space for. Everything is encrypted using TLS and perfect forward secrecy. This project has a great future ahead of it and I’m excited to see what new features get added over time.
LibreOffice is a must have for anyone using Linux as their main desktop. I have yet to encounter an Office document I couldn’t edit in LibreOffice. A lot could be said about LibreOffice, but I’ll leave it here.
The only things linux nerds love arguing about more than favorite distros is their text editor of choice … well, they also love arguing about systemd, but that’s another post. The argument is usually between vi/vim and emacs. For the record, I’m Team Vim :)
For GUI text editors though, there are a lot of choices on Linux, but the top contenders these days seem to be Atom or Sublime Text. Sublime is feature packed and powerful, but it’s not free as in freedom. You can use it for free, but the license is $70. Sublime is great software, and I’d say it’s worth every bit of that $70 if you use it daily as a sysadmin or developer. But Atom is not only free to use, it’s also licensed under the MIT License … not exactly Stallman’s favorite, but better than proprietary if open source matters to you. Atom has nearly all the features of Sublime, and it has a lot of active development and large community around it.
Mostly, I use a heavily customized vim as my editor of choice. But when I feel the need to use a GUI text editor, I tend to reach for Atom.
So that list was woefully short, and included quite a bit of discussion on distribution selection. There is a whole lot more to cover on the topic of sysadmin tools. I think I’ll do a round up of tiling window managers and command line tools, in my next post on this topic.