Comparison and Conclusion

This quarter, after reviewing what a desktop environment is, we reviewed four different desktop environments: Unity, Plasma, Xfce, and Cinnamon. During this time, I have been using and experimenting with each environment. This week I will give a short subjective comparison of each, state which I feel most productive on, and which one I would recommend.

What desktop environment you choose can effect how productive you are while using it, especially if you take the time to customize it. The four environments that we have gone over are all highly customizable, and can be–for the most part–changed to resemble one another. However, the environments do have different inner workings; for example KDE Plasma is based on Qt Windows, while Unity, Xfce and Cinnamon are all based on GTK+ Windows. If you do not care about what your desktop looks like under the hood, then you can usually ignore these differences. With that said, choosing the correct environment for you mainly comes down to look and feel.

If you have the computing power needed to run Plasma and Unity, you will most likely run into very little problems with them. Unity using OpenGL by default can be problematic if you do not have a dedicated graphics processor. For older computers, these desktops might have a harder time running smoothly and without lag. Because the Xfce environment focuses on a “stripped-down” approach, I would be surprised if it runs slowly on any modern system. Cinnamon feels just as fast as Xfce, however there are some features that could cause a slowdown such as window transitions. In the arena of speed, I would give Xfce the trophy.

I found the Cinnamon, Plasma, and Unity desktops to both be beautiful and functional out of the box. Xfce, while not the prettiest environment out of the box, can be customized to be beautiful.

Unity and Cinnamon both have similar default keybindings (because they are both based on the GNOME environment), and Plasma and Xfce both have similar default keybindings. I enjoy the GNOME-based keybindings more than the others, because they make more sense for common computer users. For example, in the GNOME-based environments, you simply press the Super key to open up your applications menu, as compared to pressing Alt+F1 in Plasma or Xfce. Because I’m somebody who has grown up using Microsoft Windows, this keyboard shortcut makes much more sense to me than Alt+F1. The keybindings for shortcuts can be changed on each environment, making this issue not a huge deal if you have the time to customize your user profile.

Overall, I would have to say that Xfce takes the cake as far as my favorite environment goes. Xfce is fast, feels unhindered, and makes for a great work environment. If your focus is speed, I would highly recommend using Xfce over any of the others. If you are looking for an environment because of the applications that come with it, I would recommend KDE Plasma; the programs that come with Plasma all feel polished and are full of features. Because you can install Plasma applications on other environments, Xfce is my environment of choice.

It is important to remember that what is productive for me may not be productive for you. You may love Unity but hate Xfce–but if you get more work done in Unity than Xfce, you definitely should use Unity! Remembering that your environment is a factor of productivity, choose wisely when deciding which desktop is right for you.

The Cinnamon Desktop Environment

Now that we’ve finished up three very popular desktop environments, it is time to move on to the final, and less known one: Cinnamon. Based on on the GTK+ 3 toolkit, Cinnamon was originally a fork of the GNOME desktop. After the release of GNOME 3, the development team for Cinnamon was unsure about the future of the project, as GNOME was heading in a different direction than what the team wanted. When Cinnamon 2 was released, it became it’s own full desktop environment with some GNOME components; however, Cinnamon does not require that GNOME be installed to use (1). The version of Cinnamon that will be reviewed today is on Linux Mint 18.1. There is no documentation for Cinnamon, but most of the GNOME documentation applies.

Figure 1: The Cinnamon Desktop (enlarge)

The Cinnamon desktop is very sleek and customize-able. When the user first login to the Cinnamon desktop, all there is to see on the screen is a taskbar at the bottom, and a couple desktop links. There is a “start menu” very similar to the Window’s start menu. The user can use the Super key to toggle opening it. After the menu is open a user can begin typing the name of an application to search for it just like in Unity. Next to the start menu are shortcuts to applications, open applications, and system widgets. The user can change which desktop links appear by default under System Settings -> Desktop, but it usually is just the home and root folders. Cinnamon comes with multiple workspaces that users can switch in between using the same keyboard shortcuts as one would in Unity, Ctrl+Alt+Arrow Keys. One flaw is that there are no workspaces widgets on the taskbar, which in some desktop environments displays what the user has open on other workspaces. One keyboard shortcut that offers a solution to this problem is Ctrl+Alt+Up. Once a user pressed this shortcut, the workspaces spread out in a tile fashion. Ctrl+Alt+Down will do the same, but with the windows open on your current workspace.

Figure 2: The Workspace Switcher (Ctrl+Alt+Up) (enlarge)

Desktop effects are changeable, such as how windows open, close, and transition. These settings are available under System Settings -> Effects. You can also change the theme of the environment under System Settings -> Themes. Linux Mint comes with a couple choices, and in the screenshots I have taken I am using Mint-Y-Dark. Cinnamon allows the user to change the theme of the window borders, icons, controls, mouse pointer, and desktop all separately; this allows for a mix-and-match of themes to your preference. There are many more settings that users can change in the System Settings tool.

Figure 3: The Theme chooser (enlarge)

The Cinnamon desktop is very speedy, almost on par with Xfce; although I do not have measures of the speed, and this is purely subjective. It would be interesting to see if there are any differences in speed of opening applications, closing windows, etc. when measured.

The Cinnamon desktop is a very modern feeling environment, with most of the same features as the other environments reviewed so far. Cinnamon comes out of the box with more common sense keybindings than both Xfce and KDE, similar to Unity. Personally, I enjoy the Cinnamon desktop environment, I just wish that it had better documentation. Next week I will be concluding this blog with a comparison of each of the environments reviewed; that is, Unity, KDE, Xfce, and Cinnamon.b

(1) https://en.wikipedia.org/wiki/Cinnamon_(software)

The Xfce Desktop Environment

So far the desktop environments reviewed are Ubuntu’s Unity, as well as KDE’s Plasma. Both have their up and downs, and can be customized down to fairly small details. This week we will be looking at the Xfce environment, which “aims to be fast and low on system resources, while still being visually appealing and user friendly” (1). Xfce ships with seven core components: the window manager, desktop manager, panel, session manager, application finder, file manager, and setting manager. Xfce tries to follow the philosophy of Unix with modularity. My usage of the Xfce environment has been fast and pleasant. When first booted up, the desktop looks simple and intuitive. There are two “panel” objects on the screen, one that stretches across the top of the desktop, and one smaller on the bottom that resembles the Mac OS X dock. The top panel acts as a taskbar with widgets, while the bottom panel acts as shortcuts. These panels can be edited to the user’s preferences by simply right clicking on them, and selecting Panel -> Panel Preferences. The default desktop can be seen below in figure 1.

Figure 1: The Xfce Desktop (enlarge)

The Xfce window manager comes with many built-in keyboard shortcuts, all of which are changeable by the user (2). Many shortcuts that the average user would know, such as Alt+Tab and Alt+F4 exist from the get-go. An array of other keyboard shortcuts exist, such as Super+Tab, which switches windows within the current application. There is also an Alt+Shift+Tab which cycles windows in the reverse direction (this keyboard shortcut also works on Plasma and Unity). These keyboard shortcuts, along with many more can be found and edited under Applications -> Settings -> Window Manager -> Keyboard. You can see this window in figure 2. Many shortcuts are not bound to any keys by default. There are many more settings under the window manager, such as window styles (or themes), how the windows change focus, how they snap, etc.

Figure 2: The Xfce Window Manager (enlarge)

To open applications, Xfce follows the same default key bindings as Plasma. Alt+F1 opens the Xfce equivalent of the Window’s start menu, which displays all installed applications; while Alt+F2 opens a program called Application Finder, that allows a user to begin typing to search for an installed program. This program can be seen in figure 3. Unity and Plasma’s application launchers are more intuitive than Xfce’s, as sometimes the Xfce application search doesn’t always find what the user looking for. For example, when Alt+F2 is pressed and “calculator” is typed, no applications will appear until the green arrow on the right side is pressed down to expand the search.

Figure 3: The Application Finder (Alt+F2) (enlarge)

On the desktop, there are default shortcuts to the Trash bin, home folder, and hard drives. The desktop settings can be changed by right clicking on the desktop background, and then clicking Desktop Settings. These settings allow access to change the background, how the desktop can be interacted with, and how icons display. If you have more than one display, they can be individually edited simply by moving the desktop settings window to the display the user want to affect. The desktop settings window can be seen below in figure 4. The user can right click on the desktop–or any folder in the file explorer–and open a terminal to that working directory. The terminal emulator that Xfce comes with is simple and elegant.

Figure 4: The Desktop Settings window (enlarge)

Xfce is absolutely the fastest and most bare-bones desktop environment when compared with Plasma or Unity. Everything seems to open or load in a split-second, rather than a small delay that can sometimes happen with Plasma or Unity. Despite being stripped down, Xfce is surprisingly usable out of the box. Almost all of the settings that a user would need are simple to find, usually leading to little searching. One can definitely see that the Xfce developers were going for the most light-weight environment that they could possibly create, and in a good way. Next week I will be reviewing Cinnamon, which is a desktop environment designed by and for Linux Mint.

(1) https://www.xfce.org/about

(2) http://docs.xfce.org/xfce/xfwm4/preferences

The Plasma Desktop Environment

The KDE Plasma 4 desktop environment is a very nice space to work in. Last week we looked at Ubuntu’s Unity desktop. Although Unity is very polished feeling and looking, I think that I prefer Plasma. If you want to download Ubuntu with Plasma, you can simply install Kubuntu, which is a derivative of Ubuntu. You may also install Plasma by adding the kubuntu repository to the APT and then using “sudo apt-get install kubuntu-desktop” (1). Unity’s windows–much like other desktop environments–are created with the GTK+ toolkit; however Plasma’s windows are created the the Qt toolkit (2).

There are many programs that come uniquely with Plasma, such as the Dolphin file browser. Dolphin is a very nice tool for navigating your computer with a GUI. Once open, you can navigate to any file in the Home folder simply by starting to type it’s name. Pressing the enter key will open the selected file or directory, and backspace will go up a directory level. You can easily toggle hidden files by pressing a switch at the top of the interface. There are many other tools for searching, displaying, and navigating files included.

Figure 1: The Dolphin file explorer (enlarge)

Okular is another program that comes with Plasma that can view document files such as pdf, and djview. It really is one of my favorite document viewers for Linux. It allows you to easily set bookmarks that you can return to at any point in time; it’s very useful when you have your textbooks in e-book form. Imagine you’re doing math homework, and there is a section at the back of the book you’re checking your answers with. You could set a bookmark on the answers section, and the page with the problem to easily switch back and forth. It also allows you to easily create annotations in many forms, and then apply them to documents you’re reading. You can create hidden and visible annotations, as well as highlight text.

Figure 2: Okular showing an annotation on page and bookmarks on the left side. (enlarge)

At the bottom of the screen in Plasma is a taskbar. It looks very similar to the Windows taskbar, but you are able to add widgets and customize it. One thing that I do not like about the default Plasma keyboard shortcuts is that the Super key does not open their equivalent of the start menu. Instead, the rather counter-intuitive Alt+F1 shortcut is used. You can however modify this under system settings if you’d like (3). The start menu displays your set favorite applications, as well as other categories of navigation. You can quickly run installed applications through the launcher by pressing Alt+F2. The launcher is a small text dialog that appears at the top of your screen which you can choose programs from. There are many more shortcuts; a full list of them for the Plasma desktop can be found here. Like Unity, Plasma also supports many workspaces. You can switch between them with the same Ctrl+Alt+Arrow Key shortcut. The workspaces widget can be added to the Plasma taskbar, as well as application shortcuts.

Figure 3: The Plasma Desktop with Launcher open. Note: The workspaces widget can be seen on the taskbar’s right side. The Launcher is located at the center top of the screen. (enlarge)

One drawback to Plasma is that you cannot easily change your lockscreen background. The lockscreen, which is displayed when you press Ctrl+Alt+L is often viewed on laptops or other portable computers. I have written a simple function called chlockscreen you may add to your .bashrc file to change it, which can be found here.

Plasma is a very complete desktop environment, and I found that I really didn’t need to do much out of the box. I have found that many utilities which are usually needed by me are pre-installed. Most issues can be resolved with a simple Google search, and most customization can be done with simple scripting such as the chlockscreen function–although the settings do allow for flexibility already. Plasma and Unity both feel very polished, although the new Plasma user may find some things are different than most desktop environments. Next week I will examine the Xfce environment, which focuses on being lightweight and low on system resources.

Note: Even though KDE Plasma 5 is available, I reviewed KDE Plasma 4. I have seen reports that it may be buggy or slightly unfinished, and not much different from Plasma 4 besides the icons. Although Plasma 4 is an older desktop environment (2008), it still is a very good desktop worth looking at.

Second Note: Although I said I would be reviewing these environments on the CF 405 lab machines, KDE Plasma is currently not installed there. Instead, I reviewed it from my ThinkPad T430.

(1) http://linoxide.com/linux-how-to/install-kde-plasma-5-7-ubuntu-fedora-opensuse-arch-linux/

(2) https://en.wikipedia.org/wiki/Desktop_environment#Desktop_environments_for_the_X_Window_System

(3) http://unix.stackexchange.com/questions/24305/how-to-redefine-kde4-keyboard-shortcuts

The Unity Desktop Environment

More often than not, Ubuntu is the very first distribution of Linux that many people ever use. As such, Ubuntu’s Unity desktop is the environment that these users first interact with. It is a very user-friendly desktop, especially for new Linux users. If you are using another distribution that doesn’t come with Unity, you can install with a simple “sudo apt-get install ubuntu-desktop” command on your shell. Unity was originally designed for smaller Netbook screens, with an emphasis on screen space (1). Unity technically is not it’s own desktop environment, but a “graphical shell” for GNOME. The programs that come with the environment are those that come default with Ubuntu.

Upon the first time that you login to the Unity environment, there is a popup dialog that displays the many keyboard shortcuts. This dialog can be seen below in Figure 1. These keyboard shortcuts will allow for users to speedily navigate their computer’s desktop. Many shortcuts say that “Super” is a key; on a PC, this key corresponds to the Windows key, and on a Mac the Command key. They allow access to the Unity launcher, Dash, HUD, open applications as well as workspaces. Typical keyboard shortcuts that advanced computer users are used to are included, such as Alt+F4 to exit an application, Alt+Tab to switch between open windows, etc. You can also press Ctrl+Alt+T to open the Terminal. If a user has many windows open, they may use the Super+W shortcut to display them all in an organized manner. Keyboard shortcuts for Unity may be displayed at any time by holding down the Super key. These shortcuts may change depending on user settings. The top of the screen has a simple menu bar with notifications, user options, a clock, and window options if there are full screen applications are open. The left side of the screen has the Unity launcher, which I will describe next.

Figure 1: The Unity desktop keyboard shortcuts (enlarge)

The Unity Launcher consists of many shortcuts that are customization for the user. You can think of it as equivalent to pinned applications on the Window’s taskbar, allowing for fast access to certain programs as specified by the user. This Launcher is movable to other parts of the screen. There are many keyboard shortcuts associated with the Launcher, for example pressing the Super key will open the Launcher search where you can type the name of a program or document. You can also do this by clicking the Ubuntu icon on the top of the launcher, but not having to use your mouse is more efficient. Figure 2 illustrates how after pressing the Super key, you may begin typing to search for something.

Figure 2: The Unity Launcher, searching for Google Chromium. Note the search text box at the top. (enlarge)

The workspace feature of the Unity environment may be one of my favorites since I work a lot on my ThinkPad T430, which doesn’t have the largest screen. The workspace feature allows you to have multiple separate desktop areas at the same time, for example if you want to have a browser open as the only program on your desktop at the same time as LibreOffice, you could open them on separate workspaces and use Ctrl+Alt+Arrow Keys to switch between them. As of Ubuntu 13.04, you must enable workspaces in the Appearance -> Behavior settings. Unity supports 4 workspaces by default, but if you download the Unity Tweak Tool you can create as many as needed (2).

Figure 3: Multiple workspaces to select from. Note: This machine has two monitors, hence the 8 squares. Really there are only 4 workspaces here. (enlarge)

The overall look and feel of Unity is a nice one. It seems very polished as a desktop environment, and the default color scheme and background are very aesthetically pleasing. Unity also allows you to choose your own themes to change the look and feel if you are not fond of it. Many themes can be found online and are mainly free to download (3). One drawback to Unity is that it uses OpenGL to render special desktop effects by default. If you are on a laptop or netbook which does not have a dedicated graphics processor, this can cause the launcher to be slow and glitchy at times. These features can be turned off by using the Unity Tweak Tool (4).

Overall, Unity is a very nice desktop environment to work in. It supports many features that a modern desktop should have while maintaining the polished look and feel. The few drawbacks for Unity are that sometimes you need to download third party software in order to accomplish what you want to–such as the Unity Tweak Tool. Once you have this software installed, however, customization becomes easy. The few problems that this desktop environment has can be easily fixed by putting in a little bit of time!

Next weeks blog will be looking at the KDE Plasma desktop environment, which has many comparable features to Unity.

Note: Upon researching the Unity environment, I have discovered that it is technically a “graphical shell” for the GNOME desktop environment. Because these are technically the same environments, I will possibly replace the future blog about GNOME with another environment like Cinnamon.

(1) http://www.pcworld.com/article/196009/Ubuntu_Unity.html

(2) http://askubuntu.com/questions/370044/additional-workspaces

(3) http://askubuntu.com/questions/520379/where-can-i-find-more-unity-themes/554654

(4) http://askubuntu.com/questions/689602/disable-all-visual-effects-in-ubuntu-15-10/689612

What even is a Desktop Environment?

Before we dive into exploring the various desktop environments that I have selected to look at, we need to establish what a desktop environment even is. After we have decided on a definition and decide what we are looking for, we can move into exploring the features of the various desktop environments. According to the ArchLinux wiki, a desktop environment “provides a complete graphical user interface (GUI) for a system by bundling together a variety of components written using a common widget toolkit and set of libraries.” (1) This was the most simple definition that I could find, and I think that it sums up what a desktop environment is nicely. It essentially means that a desktop environment is just a collection of software put into a single package that creates a graphical user interface which allows a user to interact with the system. For example, in Microsoft Windows, the start menu and file explorer are examples of desktop environment components. They are a piece of software that is running in the background, adding to the user interface that allow you to interact with the system.

The underlying software aspect of a desktop environment isn’t the only part; a desktop environment also includes all of the user interface elements, such as icons, toolbars, wallpapers, and widgets. This shows that developers aren’t the only people working on these bundles, as you need media to be created as well. The media surrounding the desktop environment can play a large role in the look and feel of the environment. It could make the difference between a user feeling as if they are in 1990 or 2017. When I’m testing these environments, the look and feel will be a factor that I take into account. I find that the look and feel of a computer’s desktop environment can be very distracting if it looks outdated, clunky, or confusing. Although the environments that I am reviewing are–for the most part–modern looking and feeling, I will looking at their default display settings in my comparison.

I will also be judging what software & tools the environment comes with, and testing out how well they work. Tools that I will be looking at are mainly those used for productivity, e.g. text editors, internet browsers, word processing or office software, etc. If I find that an environment comes with a really cool piece of software that isn’t related to productivity, I may touch on it as well.

It is possible to swap and match different pieces of software to create your own fully customized environment, for example, if you love Unity, but you’ve been using the Kate text editor your whole life, it is possible to install Kate independently–without KDE–on your Unity environment. For the sake of this blog, I will be evaluating only the default software that ships with each environment in order to get the most accurate picture of each environment as possible.

Now that I’ve defined what an environment is and what I am looking for, next week we will look at our first desktop environment: Unity.

(1) https://wiki.archlinux.org/index.php/desktop_environment

Environment is a Factor of Productivity

It is common sense to know that the environment you work in has a considerable impact on the amount of work you can complete. If you’re trying to read a novel or some documentation, you will have greater success in a quiet coffee shop rather than a busy construction site. The ability to choose your environment allows for maximum productivity, because it lets you find your comfortable niche. For the advanced computer user, it makes sense that the same logic applies to their personal computer’s desktop environment. If you’re that type of user, the ability to choose and know your own surroundings and tools can kick your productivity into overdrive.

Desktop environments are extremely important and invaluable to today’s computer users, allowing them to interface with computers as easily as possible. Since most of today’s work is done on computers, maximizing work productivity is a widely sought after goal in desktop design. Many computer users and employers do not realize that they could be testing out different configurations and tools.

Unlike operating systems such as the widely used Microsoft Windows or Apple Mac OS X, many distributions of Linux and other Unix-like operating systems come with the ability to download and change your desktop environment. This feature makes customizing your computer’s desktop environment convenient and easy with the many open and free environments that are available. But with so many to choose from, how can you know which one is right for you? The amount of information that exists about different desktop environments can often seem overwhelming, especially if you’re new to Linux and are trying to figure out which environment you should download on your distribution.

Many external factors contribute to work productivity on computers, i.e. whether or not the user has experience with computers or the given environment. Because of this, different users can get more or less done on different desktop environments. When I’m speaking of productivity in this blog, I am not talking about productivity of the user, but rather what the power that the given environment’s toolbox enables you to do.

During this quarter, I will be analyzing and exploring the many features that different modern desktop environments have to offer by looking at the most popular ones currently available. Namely, I will be looking at Unity, KDE, Xfce, and GNOME to compare how productive I feel on each one. These environments are all free to download and use. The reason I am testing these specific environments is because they are some of the most widely used by Linux users (1). I will be testing these environments on the Ubuntu machines in the CF 405 lab, and I’ll be starting with Unity since that’s what Ubuntu ships with by default. After I have looked at Unity, I will continue on in the order of least popular to most popular, as described by the survey in the footnotes. However, next weeks blog will be a little bit different. Instead of writing about a specific environment, I will be writing about what a desktop environment is, and what it should be to allow maximum productivity without distraction. By the end of reading this blog, I hope that choosing the perfect desktop environment for you becomes an easy task.

(1) http://www.cio.com/article/2881172/survey-says-kde-plasma-is-the-most-popular-desktop-linux-environment.html