These days installing Linux on your computer is fairly straightforward. Even when it comes to installing your favorite Linux distro onto a PC using UEFI. The tweaking takes place when you're trying to setup the desktop environment for your daily tasks. This can be everything from creating custom preferences to installing software to make your usage more pleasant. In this article, I'll share my favorite tweaks for the Linux desktop.
First impressions matter
Regardless of your desktop environment preference, its appearance matters. This doesn't mean you need to setup compiz or utilize extra CPU cycles just to make it more attractive. All it really needs is a balance between appearance and function.
With this in mind, I find it helps to select an icon set that really shines. When I chose Numix icons, I arrived at this decision due to the following factors: it easily identifies each icon's purpose and aesthetics. The specific icon theme I selected was Numix Circle, because it just looks great.
The second major consideration is what you're going to use for a wallpaper. Myself, I tend to go with one of the following options. Option one, is a large enough wallpaper that it can span comfortably between two monitors. Simply open up my background preferences, choose the desired wallpaper and then set the style to "span" so it stretches across both monitors.
Now some desktop environments offer greater functionality in this regard than others. KDE for example, allows me to easily set a different wallpaper for each monitor. Open Desktop Settings on one monitor, select my wallpaper. Then on the second monitor, do the same. By opening up Desktop Settings on the screen my cursor resides at with each instance, the different monitors are automatically detected.
If you prefer something like MATE, however, you're going to want to use a separate piece of software to manage your dual-wallpaper selection. For non-KDE desktop environments, you'll want to use software called Nitrogen. For my MATE desktop, I've found using "sleep, nitrogen –restore and xrefresh -none" provide the best results when run from a script. This allows me to place two completely different wallpapers on each of my screens.
The final piece to my desktop puzzle is a proper conky setup. I've used many layout variations over the years, however I prefer a visual display of my resources available and network information.
In terms of tweaks that allow me to have a more productive experience while working, I have selected a few applications that are on my “must have” list. I consider any application that alters my work environment for the better to be a worthwhile tweak to my work space.
Keeping my mind rested – I rely on Workrave, since it forces me to take a break even when I forget to. It provides me with just enough annoying motivation to take a breather or if enough time has passed, for me to take a lunch.
Saving me redundant hand movements – Synapse has proven to not only be a huge time saver in terms of launching applications. It's also been great for preventing me from using my mouse too much. The modern computer mouse is great, but it can also lead to repetitive motion issues with your wrists. So I appreciate Synapse for keeping my fingers on the keyboard most of the time.
Preventing eyestrain without distraction – Eye strain is no laughing matter. What's worse, is the headaches I used to get from my computer monitors. While the invention of LCD and LED monitors has helped some, the blue light shining off of these things can really burn right through your eyeballs. This is where Redshift comes into the fold. Redshift adjusts the color temperature of your monitor throughout the day to better match the lighting environment as time passes. At night, the red hue is in full glow and is actually helpful in preventing eye strain.
Working on three computers with one keyboard – If you're working exclusively within a command line, then it's easy to SSH into multiple machines from one keyboard. However, for those of us who still rely on aspects of GUI software on multiple machines, a better solution is needed.
I am a huge fan of a software title called Synergy. It's available for Windows and OS X in a GUI option, however for Linux I recommend setting it up manually from a config file instead. Once configured, just synergys -f from the computer with the keyboard/mouse you're using and then on your "across the room" PCs, run synergyc -f Main-Workstation-Name. I like to make things a bit more creative myself, as I created an autostart script that provides me with notify-send alerts when the service starts and when it connects. This allows me to tweak something on a remote PC in the same room, without needing to walk across the room.
Dropdown terminal access is simply a must have – If you work with websites, remote or local servers and spend any time in SSH, tilda is your best friend. Run commands in a terminal without needing to literally drop away from your desktop...into a terminal. For those who just need occasional access to a terminal, this lightweight option is great for troubleshooting misbehaving software. Just type the command that runs the app while maintaining full screen access to your desktop with a single key press.
Keep in touch without being distracted – It's part of my working life to know when a call comes in, or if a text message has been received. But at the same time, pausing work to monitor my phone all the time is a huge time suck. Worse, I miss important calls or text messages because I had my headphones on. My solution to this has been to implement Linconnect. Once it's installed on your Android phone and on your Linux PC, you're then able to see any incoming notifications on your Linux desktop. Where this really shines, is that I also can use this to see incoming email and social media mentions as well. Without ever stopping my work, I can instantly decide if a message or alert is important. Linconnect also works great with task and calendar apps on Android as well.
Scripts are our friends
If there is one thing I'd like to drive home, it's that using scripts with cron can save you a lot of hassles. For example, my computer needs to run its backups when I'm not using it. This is helpful to me because I need certain processes and services to be turned off during the course of the backup. While this may not be important to everyone, it's my personal preference.
A normal backup with Ubuntu means you're bound to its schedule of daily, weekly, monthly or whatever. No specific times are provided for, plus you're unable to stop services you'd prefer not to have running during a backup. By creating a script, I can then run a deja-dup --backup –auto (or any alternative backup method), with a services stop command, and then after the backup is completed restart the stopped service. On another computer, I run a similar script that does the same thing, but also turns the computer off when it's done.
To schedule things, I simply create a cron job and set my parameters. For those not familiar with cron, you could accomplish the same scheduling with an application called GNOME Schedule. Either way, scripting on your time translates into automating tasks when you're not at your PC. For those of you comfortable with the command line, I'd also recommend scheduling some system cleaning using Bleachbit. Using the command line options, you can run set tasks as a cron job which will ensure your computer is always running at tip-top shape.
So what about you? What are your favorite tweaks or applications that that you rely on? Hit the Comments below and share your best suggestions.