In this video Grant discusses how the Linux GUI works and introduces several of the most popular Linux Desktop Environments.
- [Narrator] With Linux, the Graphical Interface is just a set of applications running on the OS. This means we can change out the Graphical Interface and use a different one if we wish. On Linux, a system called X Windows provides the ability to have a GUI, including Mouse pointer, Keyboard, and Screens. On top of X Windows will be a GUI Toolkit, usually GTK+ or Qt. The Window Manager and Desktop Environment use the Toolkit to create the windows, launchers, toolbars, and menus. It's also important to note that all applications work on all desktops.
Choosing one desktop doesn't exclude using applications from another. However, applications for KDE might not look native on GNOME desktop and vice versa. There are many reasons why different desktop environments exist. Perhaps one desktop environment uses less memory, or another is designed for a touch interface. It's important for us to find the desktop environment that fits our needs. Desktops may also include extra applications, including Word processors, Spreadsheets, Application launchers, Configuration tools, and more.
In this course, we will be using CentOS 7 Linux. The only officially supported desktops are GNOME 3 and KDE 4.10, both of which will install. Even though only two desktops are officially supported, we can install other desktop environments by adding third-party software repositories. Let's begin by talking about GNOME 3 as it's the default desktop on CentOS 7. GNOME 3 is part of the GNU project, is stable, and has a fairly unique way of working. Overview mode was introduced with GNOME 3 and is a paradigm shift in workflow.
GNOME doesn't even include an application menu by default and instead relies on going to overview mode and typing the application's name. It does have an icon dock for starting common applications. GNOME applications use the GDK 3 windowing toolkit. The other officially supported desktop is KDE Plasma Workspaces, which is a more Windows-like desktop environment with a traditional application menu. Some call KDE the most powerful desktop on Linux and for multiple reasons.
It has a semantic search solution and Activities. Activities allow a user to switch between configurations quickly. KDE uses the Qt toolkit, spelled Q-T, setting KDE applications apart from most other desktops. The next few desktop environments are not officially supported in CentOS, and as such we need to add third-party software repositories to install them. MATE may be the most popular third-party desktop for CentOS 7. This is because it is essentially GNOME 2.
Some users didn't like the drastic changes made in GNOME 3, so they forked the old code and renamed it MATE. MATE is a simpler desktop with a traditional workflow. MATE uses the GTK+ 2 toolkit. One of the problems with MATE is that it uses the older GTK+ 2 libraries. Some developers were concerned that these libraries will become obsolete, so they set out to recreate GNOME 2 using newer GTK+ 3 libraries from GNOME 3. The name of this new desktop is Cinnamon.
It was created by the Linux Mint distribution to provide a modern alternative to GNOME 3, but with a more traditional workflow including an application dock and application menu. The last desktop environment we'll look at is Xfce. Xfce has a traditional workflow with an application menu. Its main claim to fame is that it uses less memory and CPU cycles than the other desktops that have more features. These are not the only desktop environments available for Linux, but are the easiest to install in CentOS 7.
Due to the sheer size of each desktop environment, we will be creating linked clones of our base CentOS 7 virtual machine for each desktop and VirtualBox. When we're done, we will have multiple CentOS 7 VMs running different desktop environments. We're using linked clones because they don't initially take up any additional disk space. I hope this gives you some insight into the different desktop environments for Linux. Later in the course, we'll install each one and learn the basics.
Note: The topics below map to elements of the Essential Commands section of the Linux Foundation Certified System Administrator exam. Learn more about LFCS certification at https://training.linuxfoundation.org/certification/lfcs.
- Installing GUI desktop environments: GNOME, KDE, MATE, and more
- Preparing your virtual machine for remote access
- Installing and configuring VNC, RDP, and X2Go
- Choosing a terminal and shell
- Accessing the Linux CLI