Linux The Ultimate Guide
Linux The Ultimate Guide
Linux is one of the most widely used operating systems. It was created to
provide a free or low-cost operating system for personal computer users.
Linus Torvalds published Linux on September 17, 1991, and it was writ-
ten in the C programming language. It has since earned a reputation for
being a high-performing and efficient system. This is a fairly comprehen-
sive operating system that includes a graphical user interface (GUI), TCP/
IP, the Emacs editor, and the X Window System, among other features.
Debian, Ubuntu, Fedora, Red Hat Linux, SUSE Linux, Gentoo, Kali
Linux, and Linux Mint are some of the finest Linux distributions. Linux is a
very popular operating system today because of features such as multiuser
operating system management, multitasking paradigm, multiprogram-
ming concepts, and virtual memory. Many corporations and individuals,
as well as firms such as Canonical, use Linux for their servers because of
security concerns and positive feedback from the user community. Linux
is also used in mobile devices, smart TVs, and so on.
Key Features:
Reasonable efforts have been made to publish reliable data and information, but the author and publisher
cannot assume responsibility for the validity of all materials or the consequences of their use. The authors
and publishers have attempted to trace the copyright holders of all material reproduced in this publica-
tion and apologize to copyright holders if permission to publish in this form has not been obtained. If
any copyright material has not been acknowledged please write and let us know so we may rectify in any
future reprint.
Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, trans-
mitted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter
invented, including photocopying, microfilming, and recording, or in any information storage or retrieval
system, without written permission from the publishers.
For permission to photocopy or use material electronically from this work, access www.copyright.com or
contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923, 978-750-
8400. For works that are not available on CCC please contact mpkbookspermissions@tandf.co.uk
Trademark notice: Product or corporate names may be trademarks or registered trademarks and are used
only for identification and explanation without intent to infringe.
DOI: 10.1201/9781003308676
Typeset in Minion
by Deanta Global Publishing Services, Chennai, India
Contents
Acknowledgments, xxv
Author, xxvii
Repair Handle 10
HISTORY OF DESKTOP ENVIRONMENT 11
Desktop Environment for the X Window System 11
X Window System 12
X Window System Software Architecture 12
User Interface 13
HISTORY OF X WINDOW SYSTEM 13
Competitors 14
X Window System 14
Examples of Desktop Environments 14
VARIOUS DESKTOP ENVIRONMENTS 15
Ambient 15
Features 15
Bugie Desktop 16
CDE 16
Cinnamon 16
Enlightenment 17
MATE 17
KDE Plasma 5 17
LXDE 17
CHAPTER SUMMARY 18
KDE PLASMA 23
Getting KDE Software 24
KDE HISTORY 24
KDE Projects 25
Various Parts of the KDE Platform 26
KDE CORE PROJECTS 27
Plasma Workspaces 27
Features 28
KWin – Window Manager 29
Accessibility 29
Appearance 29
Window Management 30
KHTML – HTML Rendering Engine, Installed on WebKit in
2004 30
KJS – JavaScript Engine 31
KIO – Expandable Network File Access 31
KParts – Frame Part of an Image within a Lightweight Process 32
XML GUI 32
Phonon – Multimedia Framework 32
Solid – Device Assembly Frame 32
Sonnet 33
ThreadWeaver 33
KDE APPLICATIONS 33
Editors 33
Education 33
Games 34
Photos 34
Theme-related Application Groups 35
Other Projects 35
System 36
KDE DEVELOPMENT 36
Source Code 36
License 36
Implementation 37
viii ◾ Contents
KDE 4.0 49
Release 50
Major Updates of KDE 4 50
Pre-releases 51
KDE 4.1 52
KDE 4.2 52
KDE Workspace Improvements 52
KDE 4.3 53
KDE SC 4.4 53
KDE SC 4.5 54
KDE SC 4.6 54
KDE SC 4.7 54
KDE SC 4.8 54
Plasma Workspaces 54
Applications 55
KDE SC 4.9 55
KDE SC 4.10 55
KDE SC 4.11 55
KDE SC 4.12 55
KDE SC 4.13 55
KDE SC 4.14 55
KDE PLASMA 5 56
Software Architecture 56
Development 56
Workspaces 56
Desktop Features 57
LINUX DISTRIBUTIONS USING PLASMA 58
History 58
Releases 59
KDE 5.0 59
KDE Plasma 5.1 59
Changes Made in the Plasma 5.1 Version 60
Visual 60
New and Old Features 60
x ◾ Contents
Wayland 61
Eligibility and Updates 61
KDE Plasma 5.2 Release 61
KDE Plasma 5.3 62
Improved Power Management 62
Plasma Widgets 63
KDE Plasma 5.4 63
New Volume Applet 63
Another Dashboard Launcher 63
Artwork Galore 64
KDE Plasma 5.5 64
Updated Breeze Plasma Theme 64
Plasma Widget Explorer 64
Extended Feature Set to App Launcher 64
Color Picker 64
User Switch 64
KDE Plasma 5.7 Beta 65
KDE Plasma 5.8 65
KDE Plasma 5.8 65
New System Settings Design 66
Task Manager Development 66
INSTALLATION 66
Steps to Install KDE 66
APPLICATION 68
FEATURES OF KDE 69
KRunner 69
Quickly Move the Window 69
Resize Window Quickly 69
Zoom In and Out 69
Visible Desktops 69
Desktop Grid Effect 69
Small Desktop Menu 70
CHAPTER SUMMARY 70
Contents ◾ xi
Accessibility 161
Notifications 161
Ubuntu MATE Workstations 161
DISTROS SUPPORTS MATE 162
MATE DESKTOP APPLICATIONS 163
HIGHLIGHTS 165
CHAPTER SUMMARY 166
APPRAISAL, 261
BIBLIOGRAPHY, 265
INDEX, 269
Acknowledgments
There are many people who deserve to be on this page, for this book would
not have come into existence without their support. That said, some names
deserve a special mention, and I am genuinely grateful to:
xxv
Author
xxvii
Chapter 1
Desktop Environments
for Linux
IN THIS CHAPTER
¾ Desktop environments for linux
¾ History of desktop environment
DOI: 10.1201/9781003308676-1 1
2 ◾ Linux
LINUX
Like other operating systems such as Windows, iOS and Mac OS, Linux is
an operating system. One of the world’s most popular platforms, Android
is powered by a Linux operating system. An application is a software that
controls all hardware resources associated with your desktop or laptop.
To put it simply, the operating system controls the connection between
your software and your hardware. Without an operating system (OS), the
software will not work.
Examples
The following are examples of the graphical environments for Linux.
• Ambient
• Bugie Desktop
• Budgie
• CDE
• Cinnamon
• Cutefish
• Deepin DE
• EDE
Desktop Environments for Linux ◾ 5
• Elokab
• Enlightenment
• Étoilé
• GNOME Shell
• GNUstep
• Innova
• Katana
• KDE Plasma 5
• Liri Shell
• Lumina
• LXDE
• LXQt
• MATE
• MaXX
• Maynard
• Mezzo
• Moksha
• Pantheon
• Project Looking Glass
• oZone GUI
• Razor-qt
• ROX Desktop
• Sugar
• theShell
• Trinity
• UKUI (desktop environment)
6 ◾ Linux
Post-WIMP Interface
Small app mobile devices such as digital assistants (PDAs) and smart-
phones often use WIMP features with various metaphors that combine due
to the space limitations and input devices available. WIMP-incompetent
applications can use new interactive methods, collectively called the post-
WIMP user interface.
Since 2011, some touch screen operating systems such as Apple’s iOS
(iPhone) and Android use a GUI class named post-WIMP. These interac-
tive support systems use more than one finger connected to the display,
allowing actions such as compression and rotation, which a single mouse
and mouse do not support.
STRUCTURAL ELEMENTS OF DE
The visual user interface uses visual principles to represent the general
information displayed. Some principles are used to create a strand of
objects in which the user can interact and define the interface’s appearance.
Window
A window is a screen area that displays information, the content of
which is displayed independently across the screen. An example of a
window appears on the screen when “My Documents” or any other icon
is clicked on the Windows Operating System. It is easy for the user to
trick the window: it can be displayed and hidden by clicking on the icon
or app, and it can be moved to any location by dragging it (i.e., by click-
ing on a window area – usually the title bar at the top – and keeping
the pointing device button pressed, then moving the pointing device).
A window can be placed in front of or behind another window, its size
8 ◾ Linux
can be adjusted, and scroll bars can be used to navigate through sections
within it. Many windows can reopen at the same time, where each win-
dow can display a separate application or file. This is very useful when
working as a multi-tasker. System memory is the limit of the number of
windows that can be opened simultaneously. There are also many types
of special windows.
Thumbnails (icon)
Thumbnail (icon) is a small image representing objects such as a file, pro-
gram, web page, or command. They are a quick way to issue commands,
open documents, and run programs. Thumbnails are also very useful
when searching for an item in a browser list because, in most applications,
all documents using the same extension will have the same icon.
Tabs
A tab is usually a small rectangular box containing a text label or an image
icon associated with a viewing window. When the view window is acti-
vated, it shows the widgets with that tab. It can also group tabs that allow
users to switch between different widgets quickly. It applies to all modern
web browsers. With these browsers, you could have multiple web pages
open at once in a single window and quickly navigate through them by
clicking the tabs associated with the pages. Tabs are usually grouped at the
top of the window but may also be grouped to the side or bottom of the
window. Tabs are also present in the settings of many application settings.
Microsoft Windows, for example, uses the tabs in most of its control panel
discussions.
Menu
It allows the user to execute commands just by selecting from the options
menu. Options are set with the mouse or other device pointing within the
GUI. The keyboard can also be used. The menus are appropriate because
they indicate which commands are available within the software. It
reduces the number of documents a user reads to understand the software.
• The menu bar is displayed horizontally at the top of the screen and
overall windows. The drop-down menu is usually associated with
this type of menu. When you click on a menu option, a drop-down
menu will appear.
• The menu has a visual title within the menu bar. Its content is dis-
played only when the user selects it by the cursor. The user is then
10 ◾ Linux
able to select items within the drop-down menu. When a user clicks
elsewhere, the menu content will disappear.
• The context menu is not visible until the user performs a specific
mouse action, such as pressing the right mouse button. A menu will
appear under the cursor when the software-specific mouse action
occurs.
• Menu extensions are separate items within or next to the menu.
Cursor
It disables the indicator used to display location on a monitor or other
display device that responds to input from a text input or target device.
Identifier
The cursor echoes the movement of the pointing device, usually a mouse
or touchpad. The cursor is where the actions start with direct touches,
such as clicking, tapping, and dragging.
Input Point
A caret, text cursor, or input point represents the point of use seen where
the focus is. It represents an item used as the default theme for user-
initiated commands such as text typing, selected startup, or copy-paste
function.
Choice
The selection is a list of things in which the user’s performance will occur.
The user usually adds items to the list in person, although the computer
may create a selection automatically.
Repair Handle
The handle indicates the starting position of the drag and drops operation.
Usually, the cursor’s position changes when placed on the handle, indicat-
ing an icon representing the supported drag function.
Desktop Environments for Linux ◾ 11
X Window System
The X Window, also known as X11, or X, installs bitmap display windows,
standard operating systems such as Unix. It is Unix-family systems such
as Linux, the BSDs, and formal UNIX distributions. The X provides the
basic framework of the GUI: drawing and moving windows on a display
and interactive mouse and keyboard devices. X does not authorize user
interaction – individual programs manage this. Thus, the visual style of
X-based locations varies greatly; different systems may present very dif-
ferent connections.
X was introduced as part of Project Athena at the Massachusetts
Institute of Technology (MIT) in 1984. The X Protocol has been in ver-
sion 11 (hence the “X11”) since September 1987. The X.Org Foundation is
leading the X project, with the current use of the reference, X.Org Server,
available as free software and open sources under MIT License and simi-
lar licensing licenses.
The X was specially designed for use in network connectivity instead of
a virtual or attached display device. X includes network visibility, which
means that the X-based computer application somewhere in the net-
work (such as the Internet) can display its user interaction on an X server
running on another computer in the network. The X server is usually a
provider of graphics and keyboard/mouse events for X clients, meaning
that the X server usually runs on a computer in front of a human user.
In contrast, the X client applications run anywhere on the network and
communicate with them. A user’s computer can request the provision of
image content and receive events on input devices, including keyboards
and mice.
User Interface
X defines most protocols and original images. It does not deliberately
contain specifications of the user interface, such as the button, menu, or
window title window styles. Instead, application software such as window
managers, GUI widget tools and desktop environments, or user-specific
graphical user interfaces define and provide such information. As a result,
there is no standard X interface, and several desktop areas are already
popular among users.
A window manager can control the appearance of application win-
dows. It may result in desktop communications reminiscent of those for
Microsoft Windows or Apple Macintosh (examples include GNOME 2,
KDE, Xfce) or have very different controls (such as a tile window man-
ager, like wmii or Ratpoison). Some optical connectors such as Sugar or
Chrome OS avoid desktop nicknames, making their connections to spe-
cial applications easier. Window managers vary in complexity and sophis-
tication from bare-bones (e.g., twm, X-window primary window manager,
or evilwm, over-the-window window) to more expansive desktop areas
such as lighting and even direct use. Windows-direct market manages as
a trading platform.
Most users use an X with a desktop area, which installs various appli-
cations using a fixed user interface in addition to the window manager.
Popular desktop areas include GNOME, KDE Plasma, and Xfce. The
UNIX 98 General Area is the Common Desktop Environment (CDE). The
Freedesktop.org initiative discusses the interaction between desktops and
the necessary components of a competitive X desktop.
University has developed a remote access app called Alto Terminal, which
displays scattered windows on Xerox Alto. It makes remote visitors (usu-
ally DEC VAX systems using Unix) responsible for hosting window dis-
play and window content events, refreshing as needed.
X gets its name as a follower of the pre-1983 window system called W
(the letter preceding X in English characters). It operates under a V oper-
ating system. Using a network protocol that supports terminals and image
windows, the server stores the display list.
Competitors
Some people have tried to write alternatives for X. Other methods include
Sun’s NewS and NeXT’s Display PostScript, both PostScript-based systems
that support unexplained side view processes, X did not. Other current
options include:
• MacOS uses its own windows program. When Apple Inc. bought
NeXT to build Mac OS X, it changed the Display PostScript to
Quartz. One of Quartz’s authors explained that if Apple had added
support for all the features it wanted to include in the X11, it would
not be very similar to the X11 or compatible.
• Android uses the Linux kernel and uses its system to decrypt an
interface called SurfaceFlinger.
• A few X.Org engineers are developing Wayland as an alternative to
X. It works directly with GPU hardware. Wayland can use the X.org
server as a client, which needs to be root-free.
X Window System
Some window managers in X Window System like IceWM, Fluxbox,
Openbox, ROX Desktop, and WindowMaker contain highly degraded
desktop features, such as an integrated local file manager. In contrast,
others, such as evilwm and wmii, do not provide such features. Not all
program codes are part of the desktop area with visible effects. One of you
may be a low-level code. KDE, for example, provides so-called KIO slaves
that give the user access to a wide variety of visual devices.
Features
• Arexx writing language support
• A fully compatible, multi-threaded design
• Instant not synced I/O instant file functions and file notifications
• Support for PNG and other Amiga icon formats
• Built-in icon, workspace, and wbstart libraries
16 ◾ Linux
Bugie Desktop
Budgie is a desktop site currently using GNOME technology similar to GTK
(> 3.x), developed by the Solus project and contributed by multiple commu-
nities such as Arch Linux, Manjaro, openSUSE Tumbleweed, and Ubuntu
Budgie. Budgie’s design emphasizes simplicity, minimalism, and elegance.
The Solus Project will replace the GTK library with the Enlightenment
Foundation Library (EFL) to release Budgie 11. Budgie was initially devel-
oped as a default desktop distribution platform for Evolve OS Linux.
CDE
Common Desktop Environment (CDE) is a Unix desktop and OpenVMS
desktop, based on the Motif widget toolkit. It was part of the UNIX 98
Workstation Product Standard and has long been a Unix desktop associ-
ated with Unix commercial workplaces. After a long history as proprietary
software, CDE was released as free software on August 6, 2012, under the
GNU Lesser General Public License, version 2.0 or later. Since its release
as free software, CDE has been installed on Linux and BSD alternatives.
Cinnamon
Cinnamon is a free and open-source desktop X Window System sourced
from GNOME 3, following standard desktop metaphor agreements.
Cinnamon is the main desktop distribution platform for Linux Mint and
is available as a desktop of your choice for other Linux distributions and
other applications such as Unix.
The development of Cinnamon began in the April 2011 release of
GNOME 3 when the standard desktop GNOME 2 desktop was left in favor
of GNOME Shell. Following several attempts to extend GNOME 3 to suit
the design goals of Linux Mint, Mint developers have installed several
GNOME 3 components to create a standalone desktop space. The split
on GNOME was completed on Cinnamon 2.0, released in October 2013.
Apples and desktops are no longer compatible with GNOME 3.
As a distinguishing feature of Linux Mint, Cinnamon has generally
received good media coverage, mainly due to its ease of use and soft learn-
ing curve. In terms of its sequential design model, Cinnamon is similar to
the Xfce desktop and GNOME 2.
Desktop Environments for Linux ◾ 17
Enlightenment
Light, also known as E, is a compact window manager for the X Window
System. From version 20, Enlightenment is also the creator of Wayland.
Light developers have dubbed it the “real eye candy window manager.”
Enlightenment includes image shell rendering functions and can be
used with programs written for GNOME or KDE. Used in conjunction
with the Enlightenment Foundation Libraries (EFL), Lighting can refer to
the entire desktop area.
MATE
MATE is a free and open-source desktop software that works on Linux,
BSD, and illumos applications. The name initially was all uppercase let-
ters following the nomenclature of other Free Software desktop sites like
KDE and LXDE. The repetitive backronim “MATE Advanced Traditional
Environment” was adopted by the majority of the MATE community.
Using a new name avoids conflict of words with parts of GNOME 3.
KDE Plasma 5
KDE Plasma 5 is the current generation of graphics software created by
KDE, especially for Linux applications. KDE Plasma 5 followed KDE
Plasma 4 and was released on July 15, 2014. It includes a new automatic
theme, known as “Breeze,” and increased integration across all differ-
ent devices. Image integration is fully integrated into QML, which uses
OpenGL to accelerate hardware, resulting in better performance and
reduced power consumption. Mobile is a version of the Plasma 5 Linux-
based smartphones.
LXDE
LXDE is a free desktop space with relatively low service requirements. It
is particularly suitable for use on older desktop computers such as net-
books or systems-on-chip computers. LXDE is written in C program-
ming language, using the GTK 2 tool kit, and works on Unix and other
POSIX compliant platforms, such as Linux and BSD. The LXDE project
aims to provide faster and more powerful desktop space. In 2010, experi-
ments suggested that LXDE 0.5 had the lowest memory usage of the four
most popular desktop devices (GNOME 2.29, KDE Plasma Desktop 4.4,
and Xfce 4.6). It consumed less power, suggesting that Linux-distributed
mobile computers use LXDE 0.5 to discharge their batteries at a slower
speed than those at other desktop locations.
18 ◾ Linux
In the chapters that follow, you will get a deeper knowledge of the DE’s
of Linux.
CHAPTER SUMMARY
Desktop environments are an integral part of the Linux desktop, while
Linux servers often rely on a command-line interface. It is not that you
cannot install desktop environments on Linux servers. Still, it wastes
valuable system resources that can be used by applications running on
the server. You will have a little better understanding of desktop environ-
ments on Linux now. We recommend reading the explanation of Linux
and why there is so much Linux distribution.
Chapter 2
IN THIS CHAPTER
¾ Introduction
¾ KDE history
¾ KDE applications
¾ KDE version history
¾ Installation
¾ Features
INTRODUCTION
There are various terms to discuss to understand the concept of the
Ubuntu KDE. So let’s begin this with Ubuntu, and then we shall move
DOI: 10.1201/9781003308676-2 19
20 ◾ Linux
What Is Distribution?
The term “distribution” refers to the combination of these packaging of
the kernel with the GNU libraries and applications. Ubuntu is one such
distribution. It contains the Linux kernel, the GNU tools, and many other
applications and libraries.
Free Software
“Free software” is software that respects users’ freedom and community.
Approximately, it means that the users have the freedom to do anything such
as run, copy, distribute, study, change, and improve the software. Therefore,
“free software” is a topic of liberty, not price. A program is a free software
that adequately gives users all of these freedoms. Otherwise, it is not free.
Key Points
Next, we will discuss the terms GUI, CLI, and TUI, which are also related
to the Ubuntu desktop environment KDE.
This section examines the GUI and the significant components of the
Linux GUI. You will learn about standard window managers and desktop
environments used with Linux.
KDE Plasma Desktop Environment ◾ 21
Features of a GUI
There are unique features and tools to interact with the software to make
the GUI easy to use. Below is a list of all of these with a brief description.
The GUI uses icons, windows, and menus to execute commands, such as
opening, deleting, and moving files. Although the GUI operating system
is navigated using the mouse, the keyboard can also use with keyboard
shortcuts or arrow keys.
For example, if you wanted to open an application on the GUI system,
you could move the mouse pointer to the system icon and double-click it.
With the command-line interface, you will need to know the commands
to go to the program’s directory, enter the list of files, and then use the file.
Benefits of GUI
A GUI is considered more user-friendly than a text-based command-
line interface, such as MS-DOS, or the shell of operating systems like
UNIX. Unlike command-line or CUI operating systems, such as UNIX or
MS-DOS, GUI operating systems are easy to read and use because com-
mands do not need to be memorized. Additionally, users do not need to
know any programming languages. Thanks to its ease of use and modern
appearance, GUI operating systems dominate today’s market.
Command-Line Interface
CLI is a command-line program that accepts inputs to perform a particu-
lar function. Any application you can use via commands in the terminal
falls into this category. CLI is an old way of working with apps and appli-
cations and is used to perform specific tasks that users need. CLI is a text-
based visual interface, unlike the GUI, which uses graphics options that
allow the user to interact with the system and apps. CLI allows the user
to perform tasks by entering commands. Its operating system is straight-
forward but not easy to use. Users enter a command, press “Enter,” and
wait for a response. After receiving the command, CLI correctly evaluates
KDE Plasma Desktop Environment ◾ 23
KDE PLASMA
KDE is more than just a software. A community comprises programmers,
contributors, artists, writers, distributors, and users worldwide. The KDE
team is committed to building the best free desktop and mobile software.
And not only contributors but also users and fans of KDE software can be
found worldwide, assisting other users, broadcasting news, or just enjoy-
ing the information.
KDE started life as a desktop space 20 years ago. As jobs grow, KDE
becomes an international team that creates Free Software and Open
Sources. It means making multiple programs from the KDE community
work together to provide you with the best computer experience. Does that
mean you can’t use the KDE program if you don’t use the KDE desktop?
Not at all. With the help of one or two libraries, applications can be used
24 ◾ Linux
KDE HISTORY
KDE, called K(ool) Desktop Environment, was founded in 1996 by
Matthias Ettrich, a student at the University of Tübingen. At the time, he
was concerned about various aspects of the UNIX desktop. His concern
was that not every application looked or behaved the same way. In his
view, desktop applications were far more complex for end-users. You have
created a desktop environment where users can expect apps to be flexible
and easy to use to solve the problem.
The name KDE has been identified as a playground in the existing
Common Desktop, which is available on UNIX systems. In contrast, CDE
KDE Plasma Desktop Environment ◾ 25
was the X11-based user environment developed by HP, IBM, and the Sun
with the X/Open consortium, a visual connector, and a production tool
based on the Motif image widget tool kit. It was like being an easy-to-
understand desktop computer. K initially represented “Kool,” but it was
soon decided that K should not represent anything special. KDE was
extended to “K Desktop Environment” before being completely replaced
by KDE in an attempt to rename.
Initially, Ettrich chose to use the Qt Trolltech Qt framework for the
KDE project, but other editors started making KDE/Qt applications, and
in 1997, a few applications were released. On July 12, 1998, the first desk-
top version, KDE 1.0, was released. The original GPL version of the tool
kit was only available on forums using the X11 server display. However,
with Qt 4, LGPL-licensed versions are available for additional media. It
allows QD 4-based KDE software or newer versions to be distributed to
Microsoft Windows and OS X at a glance. The KDE team announced
the redesign of the KDE project on November 24, 2009. Encouraged by a
meaningful change in purpose, the word redesign focuses on highlighting
the community of application creators and other tools provided by KDE
instead of the desktop.
It was formerly known as KDE 4 but is now split into KDE Plasma
Workspaces, Applications, and Platform integrated as KDE Software
Compilation 4. Since 2014, KDE now no longer represents the K Desktop
Environment but the software community.
Matthias Ettrich first launched the KDE project in 1996. You plan to
provide a suitable UNIX-based desktop space for beginner computer
users. You have used the GUI, which is more understandable and straight-
forward for Windows OS users. KDE is currently supported with Linux,
Solaris, FreeBSD, OpenBSD, and LinuxPPC. Like LibreOffice in Ubuntu,
KDE considered KOffice to be a staple among KDE applications. It includes
word processor and spreadsheet, image editing, vector drawing, and pre-
sentation applications. The KOffice app was first released in October 2000
as part of the KDE version 2.0 package.
KDE Projects
KDE projects are managed by the KDE community, a group of people who
create and promote free software for daily use, for example, KDE Plasma
and KDE Frameworks or applications such as Amarok, Krita, or digiKam.
There are also non-coding projects such as designing a Breeze desktop and
iconset desktop theme, integrated by KDE’s VisualDesignGroup. Even
26 ◾ Linux
1. KDM
2. KWin
3. Plasma
4. Systemsettings
Workspaces are the term for all graphical environments provided by KDE.
Plasma separates components into “data engines” and visualization coun-
terparts. It is intended to reduce the total programming effort when there
are multiple possible visualizations of given data and make it easier for the
data engine and the workspaces to be written independently. Currently,
three workspaces are being developed:
Features
• Plasma features essentially an applet that contains other applets.
Two primary examples of containments are the desktop background
and the taskbar. A containment is anything the developer wants: an
image, animation, or even OpenGL. Images are commonly used, but
with Plasma, the user could set any applet as the desktop background
without losing the applet’s functionality. This also allows applets to
be dragged between the desktop and the taskbar and different visu-
alization for the more confined taskbar – from KDE 4.0 to 4.2, the
default theme such as Oxygen. It was characterized by dark tones.
In KDE 4.3, the new Air theme is replaced, which predominates in
transparency and white as the base color. New themes for Plasma
can be chosen and installed through an authority.
• The Plasma widgets’ scalability allows them to be resized and rotated
to any size, with only a brief pause to redraw themselves. The Kross
scripting framework will enable developers to write widgets in a
KDE Plasma Desktop Environment ◾ 29
Accessibility
• Name
• Invert
• Looking glass
• Magnifier
• Sharpen
• Snap Helper
• Track mouse
• Zoom
Appearance
• Explosion
• Fade
• Fade desktop
• Fall apart
30 ◾ Linux
• Highlight Windows
• Login
• Logout
• Magic Lamp
• Minimize animation
• Mouse mark
• Scale In
• Sheet
• Slide
• Sliding pop-ups
• Taskbar Thumbnails
• Thumbnail aside
• Translucency
• Wobbly windows
Window Management
• Box switch
• Cover switch
• Desktop cube
• Desktop Cube Animation
• Desktop Grid
• Flip switch
• Present windows
• Resize window
• HTML 4.01
• HTML 5 support
• CSS 1
• CSS 2.1 (screen and cached media)
• CSS 3 selectors (fully from KDE 3.5.6 [15])
• CSS 3 Other (multiple background, box size and text shadow)
• PNG, MNG, JPEG, GIF image formats
• DOM 1, 2 and section 3
• ECMA-262/JavaScript 1.5
• Scalable Vector Image Support Part
XML GUI
XML GUI is a KDE framework for designing user interaction applications
using XML, using action concepts. In this framework, the editor designs
actions that his application can use, with a few actions defined by the edi-
tor in the KDE framework, such as opening a file or closing an applica-
tion. Each action is associated with various data, including thumbnails,
captions, and tips.
An exciting part of this design is that the actions are not included in the
menus or toolbar by the editor. Instead, the editor provides an XML file
explaining the menu bar and toolbar layout. By using this application, the
user can rearrange the user interface without having to touch the source
code of the application in question.
In addition, XML GUI is useful for the KParts component interface
of the KDE component, as the application can easily integrate the KPart
GUI into its GUI. Konqueror file manager is a canonical example of this
feature. The current version is KDE Frameworks # KXMLGUI.
Sonnet
Sonnet is a spell-checking library based on Qt-based applications plugins.
It supports several plugins, including HSpell, Enchant, ASpell, and hun-
spell. It also supports automatic language detection based on a combina-
tion of different algorithms.
ThreadWeaver
It is a system library developed initially for KDE Software Compilation
4 and later redesigned in KDE Frameworks 5. It allows developers to use
multi-core processors and multithreading easily. In ThreadWeaver, the
workload is divided into individual tasks. Then, there is a relationship
between functions. ThreadWeaver will use the most efficient way to use
them. Krita used visual filtering preview using ThreadWeaver to disable
GUI lock.
KDE APPLICATIONS
Critical applications created by KDE include:
Editors
Education
Games
Photos
Other Projects
System
KDE DEVELOPMENT
Source Code
The source code for all KDE projects is stored in the source code using
Git. Stable versions are downloaded to the KDE FTP server in source code
with configuration documents. They are ready to be integrated by operat-
ing system vendors and integrated with their other systems before distri-
bution. Most users use only stable and tested versions of KDE programs or
applications, providing you with easy-to-install, pre-packaged packages.
License
The KDE software project must be released under the accessible license
terms. In November 1998, the Qt framework had two licenses under the
free and open Q Public License and a commercial license for software
developers. In the same year, a KDE Free Qt Foundation was established
that guarantees that Qt will fall under the exclusive BSD license if Trolltech
ceases to exist or a free version of Qt is released within 12 months.
KDE Plasma Desktop Environment ◾ 37
The debate continued over compliance with the GNU General Public
License (GPL), which is why in September 2000, Trolltech made a UNIX
version of the Qt libraries available under the GPL over the QPL that
removed the concerns of the Free Software Foundation. Trolltech con-
tinued to require licenses to develop Qt-related software. KDE’s primary
libraries have integrated licenses under the GNU LGPL. Still, the only way
for the patented software to use would be to develop under the terms of the
Qt patent license. Starting with Qt 4.5, Qt was also made available under
the LGPL 2.1 version, allowing patented applications to use the Qt version
of open-source officially.
Implementation
Many KDE projects use the Qt framework, which works on many applica-
tions such as UNIX, macOS, and Microsoft Windows. Since 2011 CMake
has been operating as a construction tool. It allows KDE to support a wide
range of forums, including Windows. GNU gettext is used for translation.
Doxygen is used to produce API documents.
1. K Desktop Environment 1
2. K Desktop Environment 2
3. K Desktop Environment 3
4. KDE Software Compilation 4
5. KDE Plasma 5
K DESKTOP ENVIRONMENT 1
It was the first release of the K Desktop Environment release. There are
two major releases in this series. The development of KDE began shortly
after Matthias Ettrich’s announcement on October 14, 1996, acquiring the
Kool Desktop Environment. Since then, the name Kool has been declin-
ing, and the name has just become K Desktop Environment.
38 ◾ Linux
K DESKTOP ENVIRONMENT 2
It was the second release of K Desktop Environment (now KDE Software
Compilation). There were two major releases in the series.
Big Updates
DCOP Model
The DCOP model is simple. Each application using DCOP is a client. They
communicate through a DCOP server, which functions like a traffic direc-
tor, dispatching messages/calls to the proper destinations. All clients are
peers of each other. Two types of actions are likely with DCOP: “send and
forget” messages, which do not block, and “calls,” which block waiting for
some data to be returned.
Any data sent is serialized (also referred to as marshalling in CORBA
speak) using the built-in QDataStream operators available in all Qt classes.
A simple IDL-like compiler is available – dcopidl or dcopidl2cpp – that
40 ◾ Linux
generates stubs and skeletons using the dcopidl compiler benefits safety.
The Trinity Desktop Environment uses it.
Default Environment
These operating systems offer it as the default environment:
• ALT Linux
• Ark Linux
• ArtistX
• aptosid
• BackTrack
• Chakra Linux
• Frugalware
• Kanotix
• Kororaa
KDE Plasma Desktop Environment ◾ 41
• Kubuntu
• Mageia (DVD version)
• Mandriva Linux
• Magic Linux
• MCNLive
• MEPIS
• Netrunner (operating system)
• openSUSE
• Pardus
• PCLinuxOS
• Qomo Linux
• Sabayon Linux
• Slackware
• Skolelinux
• VectorLinux
• Z-Soft
• YOPER
• PC-BSD
• BeleniX
• SuperX
System Settings
It is a KDE application used to configure the system under KDE Plasma
Workspaces. It replaces K Desktop Environment 3’s KControl.
Features
Konqueror
A web browser and file manager provide file viewer functionality to sys-
tems such as remote FTP server files, local files, and disk image files. It is
developed by developers and can work on many operating systems such as
UNIX and Windows. It is an integral part of KDE Software Compilation.
It is licensed and distributed under version 2 of the GNU General Public
License.
The term “Konqueror” referred to two main competitors when the
Konqueror browser was released for the first time: “first comes Navigator,
Explorer, and then Konqueror.” It follows the KDE naming convention,
and most KDE programs start with the letter K.
It was released in version 2 on October 23, 2000. It replaces the previous
version, KFM (KDE file manager). With the release of KDE4, Konqueror
was replaced as Dolphin’s default file manager.
JavaScript stability and capabilities. Several new plugins have been added
to Konqueror. KMail received IMAP support, including SSL and TLS,
while KOrganizer received native iCalendar support. Other improve-
ments include a new plugin-based print architecture and a personaliza-
tion wizard.
K DESKTOP ENVIRONMENT 3
The third release of K Desktop Environment is now called KDE Software
Compilation. There are six major versions in the series.
Kopete
Kopete is a multi-protocol, and free messaging client software downloaded
from KDE Software Compilation. However, it can work in many areas,
designed and integrated with KDE Plasma Workspaces. A fan nominated
by KDE Telepathy from the KDE RTCC Initiative.
Features
• Allows collecting messages within a window, with easy-to-change
chats
• Contact nicknames
• Allow contacts
• Chat login
KWallet
KWallet (short for KDE Wallet Manager) is a desktop management system
for the KDE Software Compilation. Provides a way to store sensitive pass-
word encrypted files, called “wallets.” For added security, each wallet can
be used to store different types of authentication, each with its password.
Kontact
Kontact is the information and software manager of the groupware
group developed by KDE. Supports contacts, calendars, notes, to-do
lists, news, and email. Provides many flexible image UI, such as KMail,
KAddressBook, Akregator, etc., built on a common theme.
pick up where the KDE e.V. left. This keeps the KDE 3.5 branch alive and
releases bugs fixes, additional features, and compatibility with recent
hardware. Trinity is packaged for Debian, Ubuntu, Red Hat, and other
distributions.
The Kolab Enterprise packages are still being developed and tested on
Kontact 3.5. A version based on Kontact 4 is available but not yet recom-
mended for regular use.
KDE 4.0
Most development is implemented in most of the new technologies and
frameworks of KDE 4. Both Plasma and the Oxygen style are two of the
most significant user-facing changes.
Now, Dolphin replaces Konqueror as the default file manager in KDE
4.0. It addresses complaints of Konqueror being complicated for a simple
file manager. However, Dolphin and Konqueror share as much code as
possible, and Dolphin can embed it in Konqueror to allow Konqueror to
be still used as a file manager.
Okular replaces other document viewers used in KDE 3, like KPDF,
KGhostView, and KDVI. It uses software libraries and can be extended to
50 ◾ Linux
view almost any document. Like Konqueror and KPDF in KDE version 3,
Okular can also be embedded in other applications.
Release
On January 11, 2008, KDE 4 was released. Despite being labeled a stable
release, it was intended for early adopters. Using KDE 3.5 was suggested
for users wanting a more stable, “feature complete” desktop.
The release of KDE 4.0 met with a mixed reception. While early adopt-
ers tolerated the lack of finish for some of its new features, the release was
widely criticized for its lack of stability and its “beta” quality.
Computerworld reporter Steven Vaughan-Nichols criticized KDE 4.0
and 4.1 and called for a fork of KDE 3.5 by rebuilding on top of Qt 4. The
same reporter praised KDE 4.3 and welcomed Trinity’s KDE 3.5 continu-
ation project. However, Linus Torvalds switched from GNOME to KDE
in December 2005, GNOME after Fedora replaced KDE 3.5 with 4.0. In
an interview with Computer World, he described KDE 4.0 as a “break
everything” model and “half-baked” release, claiming that he expected it
to upgrade KDE version 3.5. Significant features were being regressed due
to its extensive changes.
Pre-releases
KDE 4.0 Alpha 1 was released in the market after adding significant fea-
tures to KDE base libraries, shifting the focus onto integrating the new
technologies into applications and the primary desktop. Alpha 1 had new
frameworks to build applications with, providing improved hardware and
multimedia integration through Solid and Phonon. Dolphin and Okular
were integrated, and a unique visual appearance was provided through
Oxygen icons.
Alpha 2 was released mainly focused on integrating the Plasma Desktop,
improving the functionality, and stabilizing KDE.
Beta 1 was released with significant features included a pixmap cache
– KDE PIM improvements, speeding up icon loading, improved KWin
effects, and configuration, better interaction between Konqueror and
Dolphin, and Metalink support added KGet for enhanced downloads.
• Beta 2 was released with the support of BSD and Solaris. The release
included:
• The addition of the Blitz graphic library.
• Allowing developers to use high-performance graphical tricks like
icon animation.
• KRDC (K Remote Desktop Client) overhaul for Google’s Summer
of Code.
• Plasma provides Amarok’s central context view.
Beta 3 was released release was focused on stabilizing finishing the design
of libraries for the release of the KDE Development Platform. Plasma had
many new features, including an applet browser. The educational software
received many improvements like Marble and Parley with bug fixes in
other applications.
Beta 4 was released. A list of release blockers was compiled, listing
issues that need to be resolved before KDE starts with the desktop’s release
candidate cycle. The goal is to focus on stabilization and fixing the release
blockers. At the same time, the first release of the KDE 4.0 Development
Platform was released containing all the base libraries to develop KDE
applications, including “widget libraries, a network abstraction layer, vari-
ous libraries for multimedia integration, hardware integration to resources
on the network.”
52 ◾ Linux
KDE 4.1
It was released on July 29, 2008, and included a shared emoticon them-
ing system used in PIM, Kopete, and DXS, which lets applications
download and install data from the Internet with one click. Also intro-
duced are the GStreamer application, QuickTime 7, and DirectShow
9 Phonon backends. Plasma improvements support Qt 4 widgets and
WebKit integration, allowing many Apple Dashboard widgets to be dis-
played. There are also be ports of some applications to Windows and
Mac OS X.
New applications include:
KDE 4.2
KDE 4.2 shows KMail, Dolphin, and was released on January 27, 2009.
The release is viewed as a significant improvement beyond KDE 4.1 in all
aspects and with a suitable replacement for KDE 3.5 for most users.
in Ruby and Python. Also, support for applets written in JavaScript and
Mac OS X widgets has been improved. New desktop alterations have
been added, such as the Magic Lamp, Minimize impact, and the Cube
and Sphere desktop switchers. Other modifications, such as the Desktop
Grid, have been improved. The user can easily choose effects that have
been reworked to select the most commonly used results. Compositing
desktops have been enabled by default, where drivers can support them. It
can automatic checks confirm that compositing works before allowing it
on the workspace.
KRunner has extended functionality via several new plugins, includ-
ing spell-checking, Konqueror can access browser history, control power
through PowerDevil, KDE Places, Documents, and the ability to start spe-
cific sessions of the Kate editor, Konqueror, and Konsole. The converter
plugin also supports quickly converting between speed, mass, and distance
units. Multi-screen support has been improved via the Kephal library by
fixing multiple bugs when running KDE on more than one monitor.
KDE 4.3
KDE 4.3 desktop was released on August 4, 2009, showing Dolphin, KMail,
and a selection of desktop widgets, with this release being described as
incremental and lacking in significant new features. It fixed over 10,000
bugs and implemented almost 2,000 feature requests. Also, integra-
tion with other technologies, such as PolicyKit, NetworkManager and
Geolocation services, was another focus of this release. A more flexible
system tray has developed many new Plasmoids, including the openDesk-
top.org plasmoid, the first take on the Social Desktop. Plasma also receives
more keyboard shortcuts.
KDE SC 4.4
It was released on February 9, 2010, based on version 4.6 of the Qt 4 tool-
kit. As such, KDE SC 4.4 has Qt’s performance improvements and Qt 4.6’s
new features, such as the new animation framework Kinetic. A completely
new application replaces KAddressBook with the same name – previously
tentatively called KContactManager.The new KAddressBook is Akonadi
integration and has a streamlined user interface. Another significant new
feature is an additional new Plasma interface targeted toward netbooks.
Kopete is released as version 1.0. KAuth, a cross-platform authentication
API, is made in KDE SC 4.4. Initially, only PolicyKit is supported as a
backend.
54 ◾ Linux
KDE SC 4.5
KDE SC 4.5 was released on August 10, 2010. New features include inte-
grating the WebKit library, an open-source web browser engine used in
major browsers such as Apple Safari and Google Chrome. KDE’s KHTML
engine will continue to be developed, whereas KPackage has been depre-
cated, and KPackageKit was suggested to replace it, but it didn’t make it
replace it.
KDE SC 4.6
KDE SC 4.6 was released on January 26, 2011, and had better OpenGL
compositing along with a myriad of fixes and features.
KDE SC 4.7
It was released on July 28, 2011. The version updated KWin to be com-
patible with OpenGL ES 2.0, which will enhance its portability to mobile
and tablet platforms. Other optimizations, such as Qt Quick, were made
to strengthen this portability. This version brought some updates and
enhancements to Plasma Desktop, such as better network management
and updates to certain widgets and activities.
Apart from the desktop environment, version 4.7 updates many appli-
cations within the Software Compilation. The Dolphin file manager has
been updated to provide a clean user interface. Now it supports voice
navigation, map creation, and new plugins. The Gwenview image viewer
allows users to compare more than two photos side by side. The Kontact
database has been ported to Akonadi, allowing the database to be acces-
sible from other applications.
DigiKam has been supporting face detection, image versioning, image
tagging. Most of the applications such as Kate, Kalzium, KAlgebra,
KStars, and KDevelop have been updated. Moreover, version 4.7 fixed over
12,000+ bugs.
KDE SC 4.8
KDE SC Release 4.8 was available on January 25, 2012.
Plasma Workspaces
KWin performance was increased by optimizing effect rendering. Window
resizing was improved as well. Another KWin is QML based Window
switcher, initial Wayland support and AnimationEffect class.
KDE Plasma Desktop Environment ◾ 55
Applications
A new version of Dolphin shipped with KDE Applications 4.8. It has
improved performance with better file animated transitions name display
with other new and improved features.
KDE SC 4.9
KDE SC 4.9 was available on August 1, 2012. The release featured various
improvements to the Dolphin file manager, including the reintroduction
of in-line file renaming, back and forward mouse buttons, the advance of
the places panel, and better usage of file metadata. More, there were sev-
eral improvements to KWin and Konsole. Activities were better integrated
with the workspace—several updated applications, including Okular,
Kopete, Kontact, and educational applications.
KDE SC 4.10
It was released on February 6, 2013. Many default Plasma widgets were
rewritten in QML, and Nepomuk, Kontact, and Okular improved
significantly.
KDE SC 4.11
KDE SC 4.11 was released on August 14, 2013. Kontact and Nepomuk
received many optimizations. The first generation Plasma Workspaces
entered maintenance-only development mode.
KDE SC 4.12
KDE SC 4.12 was launched on December 18, 2013. The Kontact received
substantial improvements.
KDE SC 4.13
KDE SC 4.13 was launched on April 16, 2014. The Nepomuk semantic
desktop search was replaced with KDE’s in-house Baloo. KDE SC 4.13 was
released in 53 different translations.
KDE SC 4.14
KDE SC 4.14 was launched on August 20, 2014. The release primarily
focused on stability, with numerous bugs fixed and a few new features
added. It was the final KDE SC 4 release.
56 ◾ Linux
KDE PLASMA 5
It is the fifth and current generation of the visual workspace environment
created by KDE, mainly for Linux systems. KDE Plasma version 5 is the
successor of KDE Plasma 4 and was released on July 15, 2014.
It includes a new theme, known as “Breeze,” and increased convergence
across different devices. The graphical interface was migrated to QML,
which uses OpenGL for hardware acceleration, which resulted in better
performance and reduced power consumption. Its Mobile is a Plasma 5
variant for Linux-based smartphones.
Software Architecture
KDE Plasma version 5 is built using Qt 5 and KDE Frameworks 5. It
improves support for HiDPI displays and a convertible graphical shell,
adjusting. KDE 5.0 also includes a new default theme. Qt 5’s QtQuick 2
uses a hardware-accelerated OpenGL scene graph to compose and render
graphics on the screen, allowing the offloading of computationally expen-
sive graphics rendering tasks onto the GPU, freeing up resources on the
system’s main CPU.
It uses the X Window System. It supports that Wayland was prepared
in the compositor and planned for a later release. It was created initially
available in the 5.4 release. Stable support for an introductory Wayland
session was provided in the 5.5 release (December 2015).
Support for NVIDIA proprietary driver for Plasma on Wayland was
added in the 5.16 release (June 2019).
Development
Since the KDE Software Compilation split into KDE Plasma, KDE
Frameworks, and KDE applications, each subproject can develop at its
own pace. KDE Plasma 5 is on its release schedule, with feature releases
every four months and bugfix releases in the intervening months.
Workspaces
The latest Plasma 5 features the following workspaces:
• Plasma Desktop for any mouse or keyboard driven computing
devices like desktops or laptops
• Plasma Mobile for smartphones
KDE Plasma Desktop Environment ◾ 57
• Plasma Bigscreen for TVs and set-top boxes incl. voice interaction
• Plasma Nano, a minimal shell for embedded and touch-enabled
devices, like IoT or automotive
Desktop Features
• ArcoLinux
• Fedora – KDE Plasma Desktop Edition is an official Fedora spin dis-
tributed by the project
• KaOS
• KDE neon
• Kubuntu
• LliureX
• Manjaro – as Manjaro KDE edition
• MX Linux
• Netrunner
• openSUSE
• PCLinuxOS
• Q4OS
• Slackware
• Solus Plasma
• SteamOS 3.0
• Ubuntu Studio
History
The first Technology Preview of Plasma 5 was released on December
13, 2013. The first release version, Plasma 5.0, was on July 15, 2014. In
2015, Plasma 5 replaced Plasma 4 in many popular distributions, such as
Fedora 22, Kubuntu 15.04, and OpenSUSE Tumbleweed.
KDE Plasma Desktop Environment ◾ 59
Releases
Feature releases are released every four months and bugfix releases in the
intervening months. Following version 5.8 LTS, KDE plans to support
each new LTS version for 18 months with bug fixes, while new regular
releases will see feature improvements. Here is the complete list of the
KDE release.
KDE 5.0
July 15, 2014: KDE announces the immediate availability of Plasma 5.0,
providing an updated and user-friendly desktop experience. Plasma 5.0
introduces a large new version of the KDE workspace. The new concept of
Breeze art introduces pure visuals and improved readability. The central
workflow is simplified, while the well-known interaction patterns are left
as is. Plasma 5.0 enhances high DPI display support and delivers a flex-
ible shell, which is able to switch between user experiences on different
targeted devices. Changes under the cover include a move to a new, fully
accelerated hardware stack based on OpenGL (ES) scenegraph. Plasma is
built using Qt 5 and Frameworks 5.
Significant changes to this new version include:
public feedback, KDE developers were able to pack a large number of fixes
and enhancements for this release, among which is a complete and high-
quality artwork that follows the new 5.0 Breeze style, a re-addition of pop-
ular features like these. such as the Icon Tasks task switch and improved
stability and performance.
Regular travelers will enjoy better time-based support on the panel
clock. At the same time, those who stay at home have an updated clipboard
manager, allowing you to access past clipboard content easily. The Breeze
widget is now also available in Qt4-based applications, leading to greater
interoperability across all applications. Wayland’s support function as a
Plasma display server is ongoing, with enhanced support, but not limited
to 5.1. Changes to all default sections improve access for visually impaired
users by adding screen reader support and enhanced keyboard navigation.
In addition to visual enhancement and features, this release focuses on
stability and performance enhancement, with more than 180 bugs resolved
from 5.0 in the shell alone. KDE Plasma 5.1 requires KDE Frameworks 5.3,
which brings a more significant number of improvements and performance
improvements than a large number of adjustments to Plasma 5.1. If you
want to help make most of this happen, consider a donation to KDE so that
we can support more developers coming together to create great software
Manager only. The Notes widget and the System Load viewer are re-
entered. Multi-location support has been added to the panel clock.
Notifications have been significantly improved and fixes for many signifi-
cant and minor bugs.
The new feature allows you to switch between different widgets sharing
the same purpose easily. Changing the app launcher as an example is very
easy to find. Plasma panels have new switches for easy switching between
different widgets with the same functionality. You can easily choose which
app menu, clock, or task manager you want. The new clipboard widget
provides a redesigned user interface over the respected Plasma clipboard
manager, allowing the user to easily use the clipboard history and preview
files currently on the clipboard. Another Plasma launcher, Kicker, has
seen tremendous development, including better accessibility and integra-
tion with the package manager.
Wayland
The KWayland Library provides information on setting up Wayland at
KInfoCenter and other users. More and more work is needed to run the
Plasma operating system in Wayland.
Plasma Widgets
Plasma Media Center has been added as a preliminary technical test for
this release. Fully stable but miss a few features compared to version 1. You
can go directly to the Plasma Media Center session if you want to use it on
a media device such as a TV or projector or use it from Plasma Desktop.
It will scan videos, music, and photos on your computer to allow you to
browse and play them.
navigation. The new launcher lets you easily and quickly find applications
and recently used documents or favorites and contacts based on your pre-
vious work.
Artwork Galore
Plasma 5.4 delivers more than 1400 new icons that integrate all KDE
applications and provide Breeze-themed technology to programs such as
Inkscape, Firefox, and LibreOffice that offer a cohesive, native feel.
Color Picker
The color picker applet allows you to select a color from anywhere on the
screen and automatically copy its color code to the clipboard in various
formats (RGB, Hex, Qt QML rgba, LaTeX).
User Switch
User switches have been updated and upgraded and are now accessible
in the app launcher, the new User Switcher applet, and the lock screen. It
displays the full username and user set of the avatar.
KDE Plasma Desktop Environment ◾ 65
INSTALLATION
Steps to Install KDE
The tasksel package will be used to install KDE Plasma in our Ubuntu
programs.
• Installation of Tasksel
• Tasksel is an Ubuntu package that provides a visual interface that
allows users to install packages on their systems as if performing a
specific task. In order to use the tasksel, we first need to install it on
our systems. To do this, open the terminal by pressing the Ctrl + Alt
+ T keys or use the dash to gain access to a list of all installed appli-
cations. After opening the terminal, enter the following command:
$ sudo apt install tasksel
• If you see a screen like the one shown below, it means that tasksel
is installed on your system. Press Esc to return to the terminal.
KDE Plasma Desktop Environment ◾ 67
• The full version comes with a full KDE package, with all the main
applications and desktop space of Plasma. For users who want to
experience the full KDE, this version will be more suitable than
their counterparts.
• To install this version, enter the following command at the
terminal:
$ sudo tasksel install kubuntu-desktop
APPLICATION
Application Description
FEATURES OF KDE
KDE Plasma has recently been flooded with features, some of which even
long-term Plasma users may not be aware of. Here is a list of KDE Plasma
features that you may not know.
KRunner
It is a fantastic feature of Plasma and one of my favorites, but it is not known
if it exists. There are ways to make it work but a quick keyboard shortcut.
The default shortcut is Alt + Space, and once activated, you can do all sorts
of things. You can launch apps, search for files, run commands, and more.
Visible Desktops
Virtual Desktop is a fantastic feature common in the Linux ecosystem,
although you may have heard of it called Workspaces elsewhere. By
default, KDE Plasma comes with one Virtual Desktop. If you go to System
Settings -> Workplace Conduct -> Visual Desktops, you can add as many
as you want.
does it for your visual desktops. You can open the Desktop Grid with the
keyboard shortcut Ctrl + F8.
CHAPTER SUMMARY
In this chapter, we have introduced KDE Plasma and its features along
with history, core projects, applications, and development. We provided
a separate section for beginners so they can develop an understanding of
KDE version history.
Chapter 3
GNOME Desktop
Environment
IN THIS CHAPTER
¾ Introduction
¾ Gnome
¾ GNOME-based linux distributions
¾ History of GNOME
¾ Pros and cons
INTRODUCTION
To understand the concept of Ubuntu GNOME, let’s begin with Ubuntu
and then we will discuss the desktop environment GNOME.
DOI: 10.1201/9781003308676-3 71
72 ◾ Linux
We will cover basic terms before going deep into the GNOME desk-
top environments, including GNU/Linux, Open Source, Free Software,
Graphical User Interface (GUI), Terminal User Interface (TUI), and CLI.
What Is Distribution?
The term “distribution” refers to the combination of kernel packages with
the GNU libraries and applications. Ubuntu is one such distribution. It
contains the Linux kernel, GNU tools, and many other applications and
libraries.
Free Software
“Free software” is a software that respects users’ freedom and community.
It means that the users have freedom to do anything such as run, copy,
distribute, study, change, or improve the software. Therefore, “free soft-
ware” is a topic of liberty, not price. A free software program is on that
adequately gives users all of those freedoms. Otherwise it is not free.
Key Points
Next, we will discuss the terms which are also related to the Ubuntu desk-
top environment KDE: GUI, CLI, and TUI.
The following section examines the GUI and the significant compo-
nents of the Linux GUI. You will learn about standard window managers
and desktop environments used with Linux.
GNOME Desktop Environment ◾ 73
Features of GUI
There are unique features and tools to interact with the software to make
the GUI easy to use:
• Tab: A clickable area at the top of a window that shows another page
or location.
• Toolbar: The Button Bar, usually near the app window’s top, controls
software operations.
• Window: A rectangular section of a computer display that shows the
operating system.
The GUI uses icons, windows, and menus to execute commands, such as
opening, deleting, and moving files. Although the GUI operating system
is navigated using the mouse, the keyboard shortcuts or arrow keys can
also be used.
For example, if you want to open an application on the GUI system,
you can move the mouse pointer to the system icon and double-click it.
With the command-line interface (CLI), you will need to know the com-
mands to go to the program’s directory, enter the list of files, and then
use the file.
Benefits of GUI
A GUI is considered more user-friendly than a text-based CLI, such as
MS-DOS, or the shell of operating systems like Unix. Unlike command-
line or CUI operating systems, such as Unix or MS-DOS, GUI operating
systems are easy to read and use because commands do not need to be
memorized. Furthermore, users do not need to know programming lan-
guages. Thanks to its ease of use and modern appearance, GUI operating
systems dominate today’s market.
Command-Line Interface
CLI is a command-line program that accepts inputs to perform a par-
ticular function. Any application that you can use via commands in the
terminal falls into this category. CLI is an old way of working with apps
and applications and is used to perform specific tasks that users need.
CLI is a text-based visual interface, unlike the GUI, which uses graph-
ics options that allow the user to interact with the system and apps. CLI
allows the user to perform tasks by entering commands. Its operating sys-
tem is straightforward but not easy to use. Users enter a command, press
“Enter,” and wait for a response. After receiving the command, CLI cor-
rectly evaluates it and displays the output/effect on the same screen. The
command-line interpreter is used for this purpose.
GNOME Desktop Environment ◾ 75
GNOME
GNOME is an open-source movement, part of the GNU project and free
software. It is similar to the Windows desktop system that works on UNIX
and UNIX-like systems. It is not dependent on any other window man-
ager. The current version runs on Linux, FreeBSD, IRIX, and Solaris.
The GNOME project provides two things:
• Debian
• Fedora
• Manjaro
GNOME Desktop Environment ◾ 77
• openSUSE
• Solus
What Is openSUSE?
It is an origin of the original SUSE Linux distribution and a commu-
nity-based distribution in contrast to SUSE Linux Enterprise. The SUSE
company is still an influential sponsor of openSUSE. The relationship is
similar to Fedora, CentOS, and Red Hat Enterprise Linux. The project
uses a gecko logo to show the relationship between SUSE and openSUSE.
It is available in two flavors: the rolling-release Tumbleweed and the
stable Leap. The latter is the same as Arch Linux as it is more of a “bleed-
ing-edge” distribution with new software. You can install openSUSE as an
old Linux system, but it is also available in the Windows Store for WSL. It
may be neglected compared to other major Linux distributions, but it has
a unique set of features and a code base with a wealthy estate.
openSUSE also gives you access to vanilla GNOME. But unlike Fedora,
it follows a much slower release schedule. You won’t get access to all the
latest GNOME features as soon as they are released. However, this isn’t
technically a bad thing. It can dedicate more time and effort to make the
OS more stable and reliable by having a slow release cycle. It makes it a
perfect fit for professionals who can’t afford to have their system crash in
the middle of a meaningful work.
Now, openSUSE is distributed under two release models: Leap and
Tumbleweed.
Each major version is released every three years, whereas point releases
or minor updates are released annually with Leap. Depending on how
often you want to upgrade your system, you should pick the flavor.
78 ◾ Linux
What Is Fedora?
Fedora gives GNOME, and it is an Open-source Operating System built
and maintained by a community using the Linux kernel architecture. We
can easily install it and use it live. Workstation 33 of Fedora is available now
and ships GNOME 3.38 version I Fedora, the Only Linux Distribution, cre-
ates an operating system that is free to download, use, and modify as per
your needs. All the features, software, packages, and components included
inside are free. The Fedora community has thousands of volunteers, sup-
porters, users, and contributors who interact via various online forums,
email, and wikis to support each other. It provides the latest technology
on recent hardware platforms with rapid development and release cycles.
The default desktop of Fedora is GNOME. Still, you prefer an alterna-
tive desktop environment such as KDE Plasma Desktop or Xfce. In that
case, you can download a spin for your preferred desktop environment
and use that to install Fedora, pre-configured for the desktop environ-
ment of your choice.
Fedora offers the latest GNOME experience out of all other Linux dis-
tros. It supports an ecosystem that provides users with new and updated
software as soon as they are available.
With each new release of Fedora, the development team incorporates
the latest version of GNOME. It allows you to access all the newly released
GNOME features before anyone else.
However, since you get access to all the latest software first, there hasn’t
been much time to test them thoroughly. As such, be prepared to face
GNOME Desktop Environment ◾ 79
the occasional bugs as new updates roll out. This is why Fedora is more
suited for enthusiasts and computer geeks than regular users looking for
stability.
What Is Debian?
Debian is the oldest Linux distro with tons of forks and derivatives. It
officially supports almost all the major Linux distros, including GNOME,
which is used by default.
Using Debian, you will get to enjoy GNOME in its purest glory. But
keep in mind that you won’t get updated to the newest releases as soon as
they are available, as is the case with Fedora. But at the same time, releases
aren’t as slow as openSUSE or CentOS.
Overall, it is a highly stable and dependable Linux distro, perfect for
beginners and advanced users. You will find Debian being seamlessly used
by regular users to run day-to-day tasks and on web servers for hosting
websites and web apps.
Also, Debian is the most massive community-run distro. When you
combine that with the fact it has been around for so long, you get access to
the best hardware and software compatibility.
What Is CentOS?
CentOS (Community Enterprise Operating System) is similar to open-
SUSE as it focuses more on stability than delivering all the latest updates
and releases. You won’t get all the newest GNOME features, but you can
rest assured that you rarely face bugs or system crashes.
The GNOME 3 desktop on CentOS 7 will provide a GUI for working
with the Linux system. While I don’t suggest using a GUI on a production
server, it’s a good option if you’re using CentOS as a desktop.
As such, you will mostly find CentOS being used in enterprise situa-
tions. It is the most widely used platform in web hosting. It is also preferred
by developers and large corporations looking for a mature and reliable OS
with a longer release cycle.
with any additional customization or extensions, you can rest assured that
you will be getting the purest experience.
But that being said, you need to understand that you will need to install
GNOME, and it won’t be done for you. Furthermore, if anything goes
wrong with the OS, you need to be knowledgeable enough to fix it yourself
or find the solution through online forums.
Even installing Arch Linux can be far more intimidating than other
Linux distros.
What Is Pop!_OS?
Pop!_OS is based on Ubuntu and built by System76 to be distributed along
their computers. But now, it’s a standalone product that you can download
and install on any computer, not necessarily from their manufacturers.
The best thing about Pop!_OS is that it is ready to go as soon as you
install it. For example, you get straight out-of-the-box support for AMD
and Nvidia GPUs – you don’t need to install any drivers manually. It
makes it one of the best distros for gaming on Linux.
Like Ubuntu, it comes with a custom GNOME desktop, but it isn’t as
heavily skinned. On the contrary, Pop!_OS goes for a more minimal take,
making GNOME feel even more sleek, intuitive, and beginner-friendly.
This is why Pop!_OS is one of the most widely recommended distros for
users who are just starting with Linux.
What Is Mageia?
We have Mageia, a fork of Mandriva Linux, currently defunct. KDE is the
default desktop environment for Mageia, but you can pick GNOME as it
is also officially supported, and it will give you a pure GNOME experi-
ence. It isn’t as popular as the other distros on the list, but is gaining
popularity – the release of its latest version Mageia 7.1 ships with tons
of nifty bells and whistles. Mageia is super lightweight and easy to use
for starters, making it highly beginner-friendly. But at the same time, it
is also very flexible and offers tons of features that seasoned Linux users
will appreciate. It supports a vast repository of software, including tons of
productivity apps and games, so that you can run pretty much anything
on the distro.
Furthermore, it is entirely processor agnostic, which is compatible with
AMD, Intel, and even VIA processors. It is also very forgiving of your
hardware configuration and will give you the best possible experience
even if you are running it on limited specifications.
What Is Ubuntu?
Ubuntu 20.04 LTS version contains GNOME 3.36 with minor changes,
and Ubuntu 20.10 has GNOME 3.38 version with minor changes. When
we install a GNOME session, we can select for launching the new GNOME
through the login screen.
If you are getting into Linux, you surely must have heard about Ubuntu.
It is the most popular Linux distro. It is so popular that most non-users
think it is synonymous with Linux.
82 ◾ Linux
Back in the day, Ubuntu came out with its custom desktop environ-
ment – Unity. But, as of Ubuntu 17.10, Canonical (the developers behind
Ubuntu) has switched to the GNOME shell.
That being said, Ubuntu uses a heavily modified version of GNOME to
maintain the design aesthetics of their Unity desktop. It might be a good
thing for longtime Ubuntu users, but it isn’t appreciated by users looking
to get the GNOME experience as its developers intended.
System requirements of Ubuntu GNOME:
Various distros specialize in different fronts, so you can pick one that
resounds to your needs and requirements. If you are looking for vanilla
GNOME, go with Fedora or Arch, both have access to all the latest fea-
tures as soon as they are released. On the other hand, if you are looking
for a little more stability, then Debian, openSUSE, and Mageia are perfect
alternatives, with CentOS being the most stable and reliable with a long-
term release cycle.
However, assume you want to stay in the middle and access new fea-
tures in a reasonably timely fashion without sacrificing stability. In that
case, you can test out Manjaro or POP!_OS, both of which are incredibly
beginner-friendly. And finally, if you want to use GNOME because of its
features and are not concerned about how it looks, both will provide you
with a heavily customized GNOME desktop but are filled with valuable
features and welcome new users.
HISTORY OF GNOME
The project started as the unofficial “remix” because a few users priori-
tized the GNOME 3 desktop on Unity. The 12.10 version of GNOME
Quantal Quetzal was the initial version published on October 18, 2012.
The founder of Ubuntu, Mark Shuttleworth, and Canonical Executive
Chairman declared on April 5, 2017, that the Ubuntu mainline version
would move through Unity to the GNOME 3 desktop starting with 18.04
GNOME Desktop Environment ◾ 83
to use. Open windows were easy to lose under piles of other application
windows. In 2008, the GNOME team embarked on updating the GNOME
interface. That effort produced GNOME 3.
GNOME 3 removed the traditional taskbar in favor of an Overview
mode that shows all running applications. Instead of using a launch menu,
users start applications with an Activities hot button in the black bar at the
top. Selecting the Activities menu brings up the Overview mode, showing
both the things you can do with the favorite applications launcher to the
left of the screen and the things you are doing with window representa-
tions of open applications.
Since its release, the GNOME 3 team has improved it and made it easier
to use. GNOME 3 is modern, familiar, striking, and can balance features
and utility.
GNOME 1 (1999)
GNOME was launched by Miguel de Icaza and Federico Mena on August
15, 1997, as a free software project; they developed a desktop environ-
ment and applications for it. It was founded partly because K Desktop
Environment, growing in popularity, relied on the Qt widget toolkit,
which was used as proprietary software license until version 2.0 (June
1999). In place of Qt, GTK (GNOME Toolkit, called GIMP Toolkit) is the
base of GNOME. GTK uses the GNU General Public License, a free soft-
ware license that allows software linked to it to use a much more com-
prehensive set of permissions, including proprietary software licenses.
GNOME is licensed under the LGPL for its libraries and the GNU General
Public License for its applications.
“GNOME is a flexible Graphical User’s Interface that combines ease
of use, the flexibility, reliability of GNU/Linux. We are extremely excited
about GNOME and mean for the future of GNU/Linux computing,”
Miguel de Icaza, chief designer of GNOME said.
GNOME is designed to be portable to the modern UNIX system. It
runs on Linux systems, BSD variants, Solaris, HP-UX, and Digital Unix. It
will be included in Red Hat and other Linux distributions such as Debian
GNU/Linux and SUSE Linux.
It has features that allow users to assign an icon to a file or URL. It has
a drag and drop–enabled desktop, using the standard Xdnd and Motif
protocols.
Its code makes it easy for international users, with core components
recently supporting more than 17 languages, with more on the way. It
GNOME Desktop Environment ◾ 85
GNOME 2
It was released in June 2002 and was very similar to a traditional desk-
top interface, featuring a simple desktop in which users could interact
with virtual objects, such as windows, icons, and files. It was started with
Sawfish as its default window manager but later switched to Metacity.
In GNOME 2, the concept of handling windows, applications, and files
is similar to that of modern desktop operating systems. In the default
configuration of GNOME 2, the desktop has a launcher menu for rapid
access to installed program file locations; a taskbar can access open win-
dows at the bottom of the screen. The top-right corner features a noti-
fication section for programs to display notices during running in the
background. Hence, all these features can be moved to any position or
orientation the user wants, replaced with other functions, or removed
altogether. GNOME 2 provides similar features as the conventional
desktop interface.
GNOME 2 was the default desktop for OpenSolaris, and the MATE
desktop environment is a fork of the GNOME 2 codebase.
GNOME 2.0.2 is the predecessor version of 1.0, which is a complete,
accessible, and easy-to-use desktop environment. In addition to basic
desktop functionality, it is a robust application framework for software
86 ◾ Linux
Usability
Streamlining, consistency, and coherence are having the primary focus of
GNOME 2 Usability work.
that most of the features you care about are much easier to access,
because a million other items do not obscure them.
• Consistency: Interfaces that behave according to uniform pat-
terns are easier to learn, faster to use, and less tending to error. The
GNOME Interface Guidelines have helped make the GNOME 2
interface more predictable, producing consistency between applica-
tions and promoting usable patterns within particular applications.
• Coherence: The GNOME 2 desktop fits nicely from “Login” to “Log
Out”; countless brainstorming hours and tireless hacking have pro-
duced a desktop and more than a loose confederation of modules.
Dialogs
Applications
GNOME 3
It was released in 2011. While GNOME 1 and 2 interfaces followed the
classic desktop analogy, the GNOME Shell assumed a more abstract meta-
phor with streamlined window management workflow unified header bar
that replaces menu bar, taskbar, and toolbar and minimize and maximize
buttons hidden by default.
GNOME 3 brought many enhancements to the core software. Many
GNOME Core Applications went through redesigns to provide a more
consistent user experience, and Mutter replaced Metacity as the default
window manager. Adwaita substituted Clearlooks as the default theme.
Features of GNOME
GNOME has become one of the most efficient, stable, and reliable desktops
available for the Linux operating system. Not only that, it remains incred-
ibly user-friendly. Most users have experienced this regardlessly and can
get incredible speed with GNOME without applying any extra effort. So,
let’s look at the details of GNOME and know about its great features.
• Flatpak: It seems like one of the best things ever happened to Linux.
It lets developers distribute an app on every Linux distribution
GNOME Desktop Environment ◾ 89
with ease. The new GNOME includes GTK+ theme handling and
language configuration support.
• New Boxes Features: Boxes built-in applications can run remote and
locally installed virtual machines. So, you don’t need to install any
virtual machine such as VMware or VirtualBox to try other Linux
distros. It can automatically download operating systems from the
new box assistant; all you have to do is pick the Linux distro you
want to use, and Boxes will do the rest.
• Activities Overview: One of the essential pieces of the GNOME puz-
zle is the Activities overview. Activities are where you access applica-
tion launchers, minimize applications, search, and virtual desktops.
• Multimedia Apps: Photos App has a new import feature that
allows you to easily add photos to your library from SD cards and
USB drives. The app can now auto-detect storage devices with new
images, giving you an option to organize the pictures into albums
during import itself. Other multimedia enhancements include play-
ing MJPEG video files through a video player and reordering playl-
ists by drag and drop in the music app. Games app has an exciting
feature. It has an excellent new CRT video filter that makes game
visuals look like they are being played on an old CRT TV.
• Dash: If you don’t want application launchers on the Dash, right-click
the launcher in question and select Remove from Favorites. If you
like to add a favorite to the Dash, you need to open the Applications
overview. To do so, click on the grid icon at the bottom of the Dash.
When the Applications open, you can scroll throughout the list of
installed applications to find what you are looking for. You can run
that application or add it to the Dash with a single click. To add an
application to the Dash, right-click the application icon, and select
Add to Favorites.
• File Manager: Numerous improvements in Files application. This
feature allows batch renaming of files. Apart from that, compressed
file functionality has also been integrated into Files. Many other user
interface improvements have also been added.
• Favorites in Files: In Files, you can select files and folders and add
them to the favorites list so that you can quickly view them in a
“Starred” list, as shown above. The favorite capability has also been
90 ◾ Linux
added to the Contacts application and can pin your favorite contacts
with whom you interact more.
• Search: The GNOME Search tool is potent. Not only can it search
for installed applications within the Application overview, but it
can also search for applications not yet installed within GNOME
Software and search for files.
uses a gesture for the secondary click, which is nothing but right-click
action in a mouse. Keep a finger in contact with the touchpad and
tap with another finger to use the motion.
• Clocks App: Now, adding the UTC time zone to your world times
is possible.
• Better Icons: There’s one area where the GNOME desktop often
shorts. A slate of high-resolution icons is included to ensure that
everything looks sharp and detailed on high-density displays. Many
redesigned devices, mime-type, and app icons feature a brighter,
cleaner, and more modern look.
• App “Usage”: GNOME ships with a new technology preview app
called Usage. Using this App, you can see CPU and RAM consump-
tion and highlighted problem areas. It is a great feature that helps you
troubleshoot issues quicker than before. More features are planned
in future updates to the App.
• Screenshots: Another great feature is built-in screenshot support.
Driven by hotkeys, it allows you to capture the whole screen, an
active window, or a screen region to the clipboard or directly to a
PNG file under $HOME\Pictures\Screenshot-*.
• All-New On-Screen Keyboard: The on-screen keyboard has been
recoded entirely in GNOME. The new keyboard is user-friendly and
automatically pops up when a text is selected. The view gets away to
ensure you can see what you are typing.
• Minimalist Design: Most interfaces include quite a few on-screen
elements unrelated to the task at hand. Windows and Chromebooks
have taskbars across the bottom that contain all the favorite or open
apps. On GNOME, the panel at the top does not contain any app
launchers. The panel is small and black, like on a phone or tablet.
It includes the date and time and a few system indicators in the top
right.
GNOME SHELL
It is the graphical shell of the GNOME desktop environment starting
with version GNOME 3, released on April 6, 2011. It provides essential
functions like launching applications, switching between windows, and a
widget engine. GNOME Shell replaced GNOME Panel and some ancillary
92 ◾ Linux
Software Architecture
GNOME Shell is integrated with Mutter, a compositing window manager,
and Wayland compositor. It is based on Clutter to provide visual effects
and hardware acceleration. According to GNOME Shell maintainer Owen
Taylor, it is set up as a Mutter plugin primarily written in JavaScript and
uses GUI widgets provided by GTK+ version 3.
Features
• The changes to the user interface include but are not limited to:
• Support clutter and Mutter multi-touch gestures.
• Support for HiDPI monitors.
• A new Activities overview, which houses:
a. A dock or Dash is used for quickly switching between and
launching applications
GNOME Desktop Environment ◾ 93
• Top bar
• System status area
• Activities overview
• Dash
• Window picker
• Application picker
• Search
• Notifications and messaging tray
• Application switcher
• Indicators tray
94 ◾ Linux
Extensibility
The functionality can be changed using extensions, which is written in
JavaScript. You can find and install extensions using the GNOME exten-
sions website. Some of these extensions are hosted on the GNOME git, or
are illegal.
INSTALLATION
The “Vanilla Gnome” version is a GNOME desktop installation.
$ reboot
4. At this point, the GUI should start. You need to select desired desk-
top flavor on the login page before you login.
Or
The other way is to install full GNOME by using the tasksel com-
mand. First ensure that the tasksel is installed on your system:
$ reboot
Here are various pros and cons of the new desktop that might be impor-
tant to you:
Pros
Cons
– they will either have to learn to live without icons or hunt for a new
distribution.
• You can switch to the Activities screen to open applications. Selecting
an application that immediately changes you to the workspace means
that you have to switch back to the Activities page to open any appli-
cation you want to run simultaneously. The limitation also exists in
the classic menu of the GNOME 2 series, but it requires far more
mouse clicks in GNOME 3.
CHAPTER SUMMARY
In this chapter, we covered GNOME and introduced some of its features.
We discussed its history, core projects, applications, and development. We
also provided a separate section on the history of GNOME's versions.
Chapter 4
xfce Desktop
Environment
IN THIS CHAPTER
¾ Introduction
¾ Versions history
¾ The xfce core desktop components
¾ xfce installation
¾ Advantages and disadvantages
INTRODUCTION
Olivier Fourdan developed the xfce desktop environment, which began
in late 1996. He began his career in technology production, web develop-
ment, and embedded Linux systems. Fourdan has been working for Red
Hat since 2007, interrupted for two years at Intel between 2013 and 2014.
Since 2017, he has been active in adopting Wayland, working on many
different components, including GTK, Mutter, GNOME Control Center,
XWayland, and Mesa3D.
DOI: 10.1201/9781003308676-4 99
100 ◾ Linux
VERSIONS HISTORY
Earlier Versions
xfce started as a simple project made with XForms. Olivier Fourdan
released the program, a simple taskbar, on SunSITE. Fourdan continued
to develop the project, and in 1998, xfce 2 was released with the first ver-
sion of xfce window manager, Xfwm. He requested that the project be
included in Red Hat Linux but was rejected due to its XForms base. Red
Hat only accepts open source software and is licensed under the GPL or
BSD license, while, at the time, XForms was a closed and free source for
personal use. For the same reason, xfce was not available to Debian before
version 3, and xfce 2 was only distributed in the Debian storage area.
In March 1999, Fourdan began a complete rewriting of the project
based on GTK, a non-patented tool kit that grew in popularity. The result
was xfce 3.0, licensed under the GPL. The project received GTK drag and
dropped support, native language support, improved customization,
and full-featured free software. xfce was uploaded to SourceForge.net in
February 2001, starting with version 3.8.1.
Modern xfce
xfce 4.4 desktop showing various Xfwm effects: drop shadows behind
windows, alpha-sided windows, and panel.
In version 4.0.0, released on September 25, 2003, xfce was upgraded to
use GTK 2 libraries. It has Built-in transparency and shadow cast and a
default SVG icon set. In January 2007, xfce 4.4.0 was released. It includes
Thunar file manager instead of Xffm. Desktop thumbnail support was
added – also, various improvements were made to the panel to prevent
buggy plugins from crashing the entire panel. In February 2009, xfce ver-
sion 4.6.0 was released. This version has a new configuration backend, a
new settings manager, and a new audio connector, and several important
improvements to the session manager and other key components of xfce.
xfce 4.8.0 was released in January 2011. This version includes the
ThunarVFS and HAL exchanges with GIO, udev, ConsoleKit, and
PolicyKit, and new remote network browsing services using a few pro-
tocols, including SFTP SMB and FTP. The windows volume has been
reduced by combining all Thunar file dialog boxes into one conversation.
The panel application has been rewritten for better configuration, bright-
ness, object management, and launcher 4.8, and introduces a new menu
plugin to view the directory. The 4.8 plugin framework is always compat-
ible with 4.6 plugins. The 4.8 display configuration dialog supports RandR
xfce Desktop Environment ◾ 101
1.2. It automatically detects screens and allows users to select their pre-
ferred display setting, refresh rate, and display rotation. Many displays
can work in clone mode or place next to one. Keyboard selection has been
updated to make it easier and easier to use. Also, the manual settings are
manually edited to make it more efficient.
The development cycle 4.8 was the first to implement a new release strat-
egy developed after the “xfce Release and Development Model,” developed
at the Ubuntu Desktop in May 2009. A new web system was used to sim-
plify release management with a dedicated Transifex server and edited
by xfce translators. The project server and port infrastructure were also
upgraded to meet the expected demand following the release of 4.8.
xfce 4.10 was released on April 28, 2012, that introduced the panel’s
direct display mode and distributed most of the wiki to the Internet. The
main focus of this release was to improve the user experience.
xfce 4.12 desktop operating system on Fedora 22: note that the file man-
ager has been rewritten in GTK 3. xfce 4.12 was released two years and
ten months later, on February 28, 2015, contrary to online speculation
about the project “dead.” The goal of 4.12 was to improve user experience
and make the most of the technology currently available. New window
manager features include the Alt + Tab dialog box and intelligent cap-
ture for multiple monitoring. Also, a new panel notification panel plugin
has been introduced, as well as a rewritten text editor and an advanced
file manager. xfce 4.12 also upgraded to GTK 3 by deploying apps and
supporting plugins and bookmarks. At 4.12, the project reaffirmed its
commitment to platforms such as Unix other than Linux by installing
OpenBSD screenshots.
xfce 4.13 is an upgrade release during the transition of the transport
components to fully compliant with GTK3, including xfce-panel and
xfce-settings.
The scheduled release of xfce 4.14 was announced in April 2016 and
was officially released on August 12, 2019. The main release targets
included transferring the remaining key components from GTK 2 to GTK
3; instead of relying on Dbus-glib via GDBus, GNOME implementation
of DBus specification and extracting deleted widgets. Significant features
have been postponed for later release of 4.16. The smaller version of GTK
3 was hit from 3.14 to 3.22.
xfce 4.16 was released on December 22, 2020. Some notable changes
to this release include new icons with a color palette; advanced links
to change system settings; various panel enhancements such as hide
102 ◾ Linux
All critical components of the xfce desktop must comply with the removal
policy described in this document.
USAGE
Display Managers
xfce4-session includes a file that should add an option to display managers
to run an xfce session. xfce Desktop Environment does not have its DM,
but various options such as gdm, slim, lxdm, and lightdm. Check out this
link for details.
xfce Desktop Environment ◾ 103
Command-Line
It uses startxfce4 to start an xfce session or select an xfce Session in the
login manager, including a session manager, panel, window manager, and
desktop manager. See automatic login from the console for more informa-
tion. By default, the xfce session manager controls the implementation of
applications. It allows saving your session when you quit xfce so that the
next time you sign in, the same apps will be started automatically.
Features
xfce contains several key components of small tasks you can expect on the
desktop:
In addition to the basic set of modules, xfce also offers many additional
apps and plugins so you can customize your desktop the way you like,
for example, terminal emulator, text editor, audio connector, app finder,
image viewer, iCal-based calendar, and CD, and a DVD burning applica-
tion. You can read more about xfce modules on the projects page. xfce
project contains several different projects on each part of the desktop.
Some projects have their project pages to provide additional information.
104 ◾ Linux
Xfwm4 Behavior
• Maximize/unmaximize windows
• Resize windows
• Hide/unhide windows
xfce Desktop Environment ◾ 105
• Shade/unshade windows
• Stick/unstick windows
• Raise/lower windows
• Move windows
• Move a window to another workspace
• Close a window
Internal Plugins
There are various internal plugins used in the panel as given below.
External Plugins
There are various external plugins used in the panel as given below.
Background
The background is made of solid color or gradient, with an image
(optional) mounted on top. Images can be used in various ways to comple-
ment the screen, such as enlargement, zoom, scale, center, or tilt. Instead
of a picture, a color or gradient of two colors can be used as a desktop
background. Gradients can be horizontal or vertical.
Since the back end can be color-coded and the image at the top, you can
mix both to produce stimulating effects using images that show across the
various colors. If the image is medium or scaled and does not fill in the
correct size, the background color is displayed on both sides of the image.
Thumbnails (Icons)
The icons drawn on the desktop can be file/launcher icons or minimized
windows applications. It can be customized to various sizes, with custom
font and tooltip size, with the option to turn off tooltips completely. The
file/launcher option displays files, folders, and launchers as icons on your
desktop that can be edited, composed, copied, and exported, modeled to
have the same look and feel as a regular file manager. Launches can be
configured with the right-click and select Edit Launcher.
Note: You can use the custom folder icon optionally to use external
images in the desktop icon folders.
The reduced application icons option displays minimized windows as
icons on your desktop and can be edited freely, and provides window con-
trols such as a drop-down menu when you click the program icon to the
left of the title bar with the right-click.
All icons can be found in the ~ / Desktop directory and accessed via
the file manager. Launches are desktop files that can be edited using a text
editor or created and placed in the ~ / Desktop directory to create applica-
tion icons for desktops.
xfce Desktop Environment ◾ 109
1. Show selector on the login: Once set, the session manager will ask
you to select a session each time you log in to xfce.
2. Automatically save session on the checkout: This option instructs
the session manager to save the current session automatically when
you log out.
3. Notify on exit: This option disables the checkbox exit. Whether the
time will be saved or not depends on whether you enable automatic
saving of exit sessions or not.
4. Kiosk mode: Session Manager provides Kiosk mode support, which
helps prevent others from making changes to their session settings.
To use it you have to edit or create a $ {sysconfdir} / xdg / xfce4 /
kiosk / kioskrc file.
The way to define the format of this file is to use an example. The xfce4-
session section of your kioskrc file may look like this:
[xfce4-session]
CustomizeSplash = ALL
CustomizeChooser = ALL
CustomizeLogout = ALL
CustomizeCompatibility =% wheel
Turn off =% wheel
CustomizeSecurity = NO
It allows all users to change their splash, selector, and exit settings, but
only allows users in the group wheel to customize the interaction and
shutdown settings. No one will be allowed to adjust the security settings.
ConsoleKit
xfce Desktop requires a valid ConsoleKit session for it to work correctly.
ConsoleKit is used for system actions such as shutdown, pause, and (un)
mounting devices (via Polkit for authorization). If you are using a desktop
manager, DM will take care of that. For the console to start, this is slightly
different.
When entering the console (without starting X), use the ck-list-sessions.
Make sure it works = TRUE and local = TRUE. If not, check that the con-
solekit library is loaded with PAM.
At 4.10, start xfce with startxfce4 --with-ck-launch. It will start the
xfce4-session with the ck-launch-session. At 4.10, the xfce4-session will
oversee the launch of the dbus session.
Once xfce is launched, and you use ck-list-sessions, a second session
is created that should give you all the necessary permissions to mount
devices and use power actions (depending on each distribution, you may
need to add them to different user groups).
You can select when to start the action chosen in the drop-down menu.
This allows you to use custom commands, e.g., exit, pause.
1. Folder Mode: You can directly search for commands and run them
when Enter is pressed.
2. Extended Mode: You can search for applications installed on your
system and view command history.
To switch between modes, you can click the Up or Down arrow keys
when the entry is fixed or click the arrow on the right-hand side of the
input.
XFCE CI TEMPLATES
[CI Folder] (ci /) contains a build_project.yml template for building vari-
ous xfce projects, as well as supporting documents such as “build_libs.
sh,” which handles building any dependencies needed. It helps us to avoid
repeating the same building code for each project.
Creating a Launcher
To create a new launcher, by terminal:
exo-desktop-item-edit --create-new [DIRECTORY]
Right-
click the space on the desktop and select Create
Launcher to create a launcher on the desktop.
Editing Launches
To edit existing launchers on the desktop, right-click the launcher you
want to edit and select the Edit Startup menu. When the launcher is on
the panel, right-click the launcher you want and select Properties. Then,
in the Startup window that appears, select Edit the currently selected item
in the General tab.
The edit/create window lets you customize various features of your
launcher or desktop file. Both editor and creator contain the same fields to
customize your file.
The Internet
The pre-selected tab window for applications allows you to select your
default web browser and Mail Reader. The Web Browser is used to open
links and display texts, while Mail Reader will compose emails when users
click on email addresses, for example, on a website.
Resources
The second Preferences window tab lets you select your default File
Manager and Final Template. The File Manager has used the system to
xfce Desktop Environment ◾ 117
open folders to browse files, and the preferred Terminal Emulator will be
used to run documents and applications that need to be run in the CLI
area. For custom terminal commands, “% s” is in the command. If not, the
same rules apply as described in the paragraph above.
Command-Line Options
A simple command line in front of the end of the popular apps frame-
work is included, called exo-open. You can use this application to launch
the preferred application for a particular category or open URLs with the
default URL holder.
Exo-open supports two modes of operation. The first one will automati-
cally launch a popular application for a particular category by selecting
the pass parameter. For example, to launch a command mutt in a set of
Airport Emulator set, you can use:
exo-open - launch TerminalEmulator mutt
The second exo-supported mode opens all the parameters with the
default URL holders. Here URLs refer to fully qualified URLs (i.e., https://
www.xfce.org/ or mailto: xfce4-dev@xfce.org), or local methods (i.e., ~
/ myfile.txt). For example, to open ~ / file1.mp3 and ~ / file2.txt in the
default settings, you will use the following command:
exo-open ~ / file1.mp3 ~ / file2.txt
Required packages:
• GIO
• GLib
• GTK+
• gthread
118 ◾ Linux
• libxfce4ui
• libxfce4util
• gio-unix
• The complexity of the LIFO line, the setting of I/O, and the arrange-
ment of small background images are no longer the function of the
application developer.
It is written in an object-oriented manner using GLib and GObject. Its
modular structure makes it very flexible and valuable in most situations.
Provides plugin workspaces for extending URI schemes and MIME types
for which icons can be created and changes the background storage used
to store icons on the disk. Tumbler functionality can be extended using
special icon services used in conjunction with the D-Bus icon manage-
ment. Tumbler is used by Thunar, Ristretto, and xfce.
Lightweight Nature
Another famous and essential feature of xfce is its lightweight nature. In
most cases, xfce is a small package and convenient for system resources.
For example, in idle mode, xfce uses just ~ 400 Mb of RAM in my system.
Firefox open, and 1080p video playback has expanded to 1.20 GB.
Performance
Now, because of all that has been said before, it translates into the fact that
xfce works well on most hardware. It is fast and responsive. After testing
and knowledge, users can quickly navigate the system and use high pro-
ductivity. CPU usage in idle (or low) mode is shallow.
Modularity
The xfce architecture is entirely modular. Most of the DE components are
different, making the system more flexible. For example, the default win-
dow manager is Xfwm, the setup program is Xfconf, the desktop manager
is Xfdesktop, and the session manager is xfce4-session. These items are
120 ◾ Linux
usually integrated and do not change in most DEs. Settings for all compo-
nents are integrated into the Settings Manager to provide a compact visual
interface for convenience.
Configuration
xfce has an excellent range of configurations. From visual interface to hard-
ware preferences, everything can be easily adjusted. The Settings Manager
covers almost everything needed. In terms of appearance, there are websites
like these available for you to find various icon themes and system themes.
Stability
xfce project is stable. There are a few bugs in it, and they are often prob-
lematic because of the hardened drivers. The use of the system is entirely
smooth. The review cycle is significantly stable. xfce 4.14 was just released
after almost 4.5 years of development! All DE components work very well
to provide smooth information to users.
Panel
One of the most distinctive features of the xfce panel. It is highly cus-
tomizable, with several plugins provided by the xfce team. The width and
length of the panel can be adjusted, and users can get it on the screen as
they wish. You can also place the panel in the center of the display if you
want. You can add as many panels as you like. By default, one of the xfce
panels has already provided them installed as a dock at the bottom of the
screen. Other settings are provided, such as bar blurring, and thumbnail
size adjustment.
Plugins
The built-in plugins are excellent. They include many applications and
requirements. There are various plugins in xfce as listed below.
• CPU Graph Plugin: This shows graphical CPU usage right on the
panel. It helps to track what type of program is included in your sys-
tem. We find looking at this plugin whenever we check out a new
program, new distribution based on xfce, or different hardware than
usual.
• Pomodoro Plugin: This is an excellent production plugin. The
Pomodoro method is widely used to increase human productivity.
It is followed by a pattern of job exchanges and periods of rest, for
xfce Desktop Environment ◾ 121
Integration
Every program you put on xfce looks excellent no matter what the origi-
nal DE was developed for or whether the image enhancement kit was Qt
or GTK. GTK, Qt, GNOME, Electron, etc., everything seems to go into
the system. All GTK systems work flawlessly, but Qt systems have minor
problems.
Easy to Fix
Using an operating system will break down once and for all unless you are
incredibly familiar with the stable distribution, maybe because of a review
or a user’s error. In some DEs, many things are integrated into each other.
If you violate the application menu, you will probably need to reset the
entire DE again. In xfce, as we have said, things are modular. If the menu
breaks, re-enter that! It is straightforward to do.
xfce Components
We are now finally moving out of the standard features of the DE itself and
into the software components you will be using. Software applications are
122 ◾ Linux
XFCE INSTALLATION
Since 1996, xfce Desktop has empowered users to have a graphical user
interface (GUI), visually transforming your Linux server into a desktop-
like environment for your desktop computer. With its simple appearance,
xfce is lightweight in server hardware and faster than GNOME and KDE
launches. Once you are done with this bit of tutorial, you will be able to
share and connect to the xfce GUI by moving on to the following tutorial
on installing VNC. These commands are intended to install the xfce
Desktop Environment on the Ubuntu 16.04 LTS server. Logged in as root
user, but for rootless users, it precedes all commands with the word sudo.
With one command, we can install xfce itself and other valuable resources
that come with xfce:
$ sudo apt-get install -y xfce4 xfce4-goodies
Or
$ sudo apt-get install –y xfce4
After installation you will see the first window of xfce Desktop
environment:
xfce Removal
Step 1:
Run each of these commands so that the apt-get can use it while cleaning
xfce.
Step 2:
• BackBox
• Black Lab Linux
• Uninstall GNU + Linux OS
• Dragora GNU/Linux-free
• Buntus
• EndeavourOS
• GalliumOS
• GhostBSD community program
• Kali Linux
• Linux Lite
• Mananjaro
• MX Linux
• Mythbuntu
• QubesOS
• SalineOS
• SolydXK (SolydX)
• SystemRescueCD
• UberStudent
• Ubuntu Studio (Up to 20.04)
xfce Desktop Environment ◾ 125
• Xebian
• Xevuan
• ubuntu
Compatibility
xfce4 is written using GTK + 2 and is fully compliant with GNOME 2
applications. Desktop and window manager (xfwm4) and compatible
with K Desktop Environment (KDE), Gnome, and Rox-Filer session/file
manager.
Advantages
• xfce is a simple structure. It has very little memory and less CPU
usage than KDE or GNOME.
• The main advantage that follows is the simplicity of the visual space.
xfce desktop is not complete and straightforward. The primary desk-
top has two panels with a straight line of icons. One panel has a basic
app launcher, and the other has a workspace switch.
• xfce Default File Manager is simple, easy to use, and optimized with
a nearly flat reading curve.
• The xfce desktop is unusually stable with regular updates, with new
releases occurring over a three-year cycle.
• xfce4 has a powerful screen where tabs allow multiple terminals in a
single window.
• Lastly, xfce has a high level of flexibility (below KDE but much higher
than GNOME) and thus allows users to enjoy moderation.
126 ◾ Linux
Disadvantages
CHAPTER SUMMARY
In this chapter, we have covered an introduction of xfce with its features,
history, core projects, applications, and development. Also, we have a sep-
arate section where you get a history of xfce versions.
Chapter 5
MATE Desktop
Environment
IN THIS CHAPTER
¾ Introduction
¾ History of Mate
¾ Version
¾ Installing MATE in Ubuntu
¾ MATE applications
¾ Installation on various OS
INTRODUCTION
MATE is a free and open-source desktop application running Linux, BSD,
and illumos applications. The desktop area contains everything you see
on your computer screen. Panels open applications, display notifications,
and display time. It can control your windows and allows you to switch
between them easily.
When you look at the screenshot, all the elements make you think
of Windows as Windows and macOS as macOS. Windows and macOS
both provide one desktop space. Significant changes surrounding the new
Windows release are often related to the desktop area, such as removing
or adding Start Menu and changes to the theme. Windows 8 had more
connectivity provided on touch screens than desktops. People who did not
like the change could not upgrade to Windows 8 if they wanted to main-
tain the visual interface they were comfortable with.
For Linux, this is not a problem. You can switch to another desktop
and continue using the latest Linux software. And if your preferred visual
interface is about to undergo a significant change, MATE is an example
that doesn’t mean you have to say goodbye to what you know.
HISTORY OF MATE
MATE is based on GNOME, the most popular free open-source desktop
software like Linux. However, to say that MATE is based on GNOME is
an understatement. MATE was born as a continuation of GNOME 2 after
GNOME 3 in 2011.
The split is because GNOME 3 introduced a new interface called
GNOME Shell, based on a standard desktop design. Since the project was
open-source, developers unhappy with the change were free to take the
existing GNOME 2 code and continue working on that instead. Doing
this is called a “break” project. An Arch Linux user called Perberos has
started a MATE project, and others are jumping on board right away.
Although many Linux applications have adopted GNOME 3, MATE has
attracted more users over the past decade. Some started using Linux many
years after they broke up with GNOME. That means they are using MATE
for non-transformative reasons. Few consider it one of Linux’s most stable
and flexible features. MATE is a continuation of GNOME 2. It provides
an attractive desktop environment using common Linux metaphors and
other applications such as Unix. It is under active development to support
new technologies while maintaining the everyday desktop experience.
VERSIONS
Here we are going to discuss the versions of MATE, as given below.
Features
1. The entire MATE Desktop suite for apps and components is now
GTK3 + only.
2. They added mouse libinput support, a touchpad, different hand-
holding settings (left/right), and speed/limit acceleration.
4. It has highly improved accessibility support (especially for visually
impaired users).
5. The lock screen will load the users’ selected background instead of
the default system-defined default.
6. The MATE panel receives several improvements, including:
• Added desktop support for more startup options
• Added StatusNotifier support
• Additional support for the Menubar menu editor, if installed, is
preferred over Mozo
7. Engram, archive manager, includes a few improvements:
• Added ears and war to the list of supported types.
• It can check the rar/unrar version if the correct date is shown.
• Stable rar compress and 7z are divided into volumes.
130 ◾ Linux
8. Notifications now use support for action icons, for example, play
control icons used by media players.
9. Reset font viewer to add font browsing mode, support TTC fonts,
and expose to menus automatically.
10. Replaced UPower reduced stop/hibernate functions with ConsoleKit2
equivalent.
11. MATE terminal adds power to close tabs with the middle mouse
button.
12. Atril, the document viewer, has the most advanced page load times
and adds support for extracting history used by other jokes.
13. Many retractable GTK + modes have been modified, and many bugs
have been fixed.
With all C and Python plugins, Plugin systems in Eye of MATE
and Pluma are included in libpeas.
• Engrampa now has support for several additional formats and con-
sistent support for passwords and Unicode characters in some of
them.
• Eye of MATE now has Wayland support and has added support for
color-embedded profiles.
132 ◾ Linux
Installing MATE
The tasksel package will be used to install MATE on our Ubuntu systems.
• Installing Tasksel
• Tasksel is an Ubuntu package that provides an interface that
allows users to install packages on their systems as if they were
performing a specific task. To use tasksel, we first need to install
it on our systems.
• To do this, open the terminal by either hitting the Ctrl + Alt + T keys
or use the dash to get access to the list of all applications installed.
After opening the terminal, enter the following command:
$ sudo apt install tasksel
• To verify whether tasksel has been installed, enter the following
command into the terminal:
$ sudo tasksel
• If you see a screen similar to the one shown below, then the task-
sel has been installed onto your system. Press Esc to go back to
the terminal.
• Installing MATE
• Once the tasksel has been installed, our next step is to install the
MATE Desktop Environment on our Ubuntu system. There are
two versions of Plasma that are available for installation: mini-
mal and full.
• The minimal version comes only with the MATE desktop envi-
ronment. No other applications are installed, and users can
install whichever they want later on. This version is quite useful
if users don’t want to use too much of their memory or if users
want to stick to the default Ubuntu applications.
MATE Desktop Environment ◾ 135
MATE Desktop.
MATE APPLICATIONS
MATE is largely built with GNOME 2 applications and applications,
forged and renamed to avoid conflicts with their GNOME 3 counterparts.
Below is a list of standard GNOME applications renamed with MATE.
136 ◾ Linux
Application MATE
CORE APPLICATIONS
MATE has cracked down on several applications, such as GNOME Core
Applications, and developers have written a few more applications from
scratch. Fork applications have new names, many of them Spanish. MATE
applications include:
Caja
In Spanish, Caja, which means “box,” is a file manager embedded in the
GNOME Files, formerly known as Nautilus. Caja serves as a natural com-
ponent of the MATE desktop. Since the Caja, a fork has been developed
and new features added.
Features
Caja has many functions: creating a folder and document, displaying files
and folders, searching and managing files, and installing or extracting
fonts. Caja can manage different types of file formats.
Caja added improvements to the latest release of MATE 1.26. Some of
these are:
• libcaja: seahorse
• atril
• episode
Caja is a well-known file manager at Linux. The Caja text extension allows
users to add texts easily.
Pluma
It is the free and open-source default text editor for the MATE desktop
Linux distribution. Pluma is an image application that supports editing
multiple text files in a single window. It fully supports international
text using its Unicode UTF-8 encoding. As a general-purpose text edi-
tor, Pluma supports many common editor features and emphasizes sim-
plicity and ease of use. Its key feature set includes syntax highlighting
source code, automatic retransmission, and print support with print
preview.
Features
Pluma includes the full integration of MATE, which provides for dragging
and dropping to and from Caja (MATE file manager), application of the
MATE help system, the MATE Visual File System, and the MATE print
framework. It has Multiple Document Interface GUI tabs for organizing
multiple files. Tabs can be moved between different windows by the user. It
can edit remote files using GVfs. Supports complete overhaul and system
overhaul and search and replacement. Other code-based features include
line numbers, brackets matching, text wrapping, current line highlight-
ing, auto-loading, and a backup copy of the file.
Pluma features include multilingual spell checking with Enchant and a
flexible plugin system that allows the addition of new features, for exam-
ple, captions and integration with external applications, including Python
or Bash terminal. Many plugins are installed in Pluma itself, with many
plugins in the pluma plugin package and online.
Pluma supports printing, including preview and print previews in
PostScript and PDF files. Print options include text font, page size, layout,
margins, optional printing of page titles and line numbers, and syntax
highlighting.
138 ◾ Linux
List of Features
• Highlighting syntax
• Print and Print Preview Support
• File Restoration
• Full support for UTF-8 text
• Remote file editing support
• Search and Replace
• Adjustable plugin, with optional python support
• The perfect visual interface for favorites
• A small new map that gives you a quick overview of the content
• A new grid background pattern transforms Pluma into a writing pad
• The filter plugin supports retrieval actions
• Display shortcut/hide line numbers, Ctrl + Y
Atril
It is the official text viewer for the MATE Desktop Environment. A
simple multi-page text viewer. It can display and print PostScript (PS),
Encapsulated PostScript (EPS), DJVU, DVI, XPS, and portable document
format files (PDF). The document also allows text search, copy to clip-
board, hypertext navigation, and table bookmarks if supported by the
document. Atril is Evince’s fork.
Features
• Combined search that shows the number of results found and high-
lights results on the page
• Page icons
• Documentation: Once the reference information is included in the
PDF, Evince will display it in tree format.
• Printing Documents: Using the GNOME/GTK print frame Evince
can print any text I can open
MATE Desktop Environment ◾ 139
Supported Formats
Engrama
Engram is a MATE Environment archive manager resource. It’s the
Archives’ Fork Manager. The software allows you to create and modify
archives, archive content, view and edit archive content, and archive files.
Engmpa is a free open-source software.
• Menu bar: The menu bar menus contain all the instructions you
need to work with images in Image Viewer.
• Toolbar: It contains a subset of instructions that you can access in
the menu bar.
• Showcase: The display area shows the image file.
• Status bar: The status bar provides information about the image. To
show or hide the status bar, select View ▸ The status bar.
• Photo Collection: Image Gallery shows you all supported images in
the currently active directory. It appears when the image has been
uploaded. To show or to hide the collection, select View ▸ Photo
Collection or press F9.
MATE Desktop Environment ◾ 141
MATE Calculator
MATE Calculator started out as a gnome-calc fork, a calculation system
located in the OpenWindows Deskset of the Solaris 8 operating system.
MATE Terminal
You can use a deadly simulation app to access the UNIX shell instead of
MATE. You can use any application designed to work on VT102, VT220,
and xterm terminals with it. MATE Terminal also has the ability to use
multiple terminals in a single window (tabs) and supports different con-
figuration management (profiles). MATE Terminal is a fork of GNOME
Terminal.
• Dock Applet
• Applet Online Radio
• MATE Menu
• MATE Desktop
• Brisk Menu
142 ◾ Linux
Dock Applet
The MATE Dock Applet is a MATE panel applet that displays open win-
dows/applications as icons. The latest version of 0.78 includes five new
indicators, a new option to add space between dock icons, and more.
Among the MATE Dock, Applet features are pinning apps in the dock,
showing apps usage indicators, supporting updating apps using keyboard
shortcuts, and more. The applet can even change the color of the MATE
panels to prominent desktop background.
• Five new app indicators: circle, square, triangle, diamond, and sub-
way. With the GTK3 version of the applet (Ubuntu 16.10 and later),
the cursor color will be the current theme’s highlight color. As that
does not happen in GTK2, you can use the color back option to set
this up (see the MATE Dock Applet preferences, on the Misc tab).
• Now, you can set the space between the dock icons. 0-7 Supported
Values (Dock Preferences> Panel Options> Application Space).
• In windows that need attention, you can now adjust if the badge
(exclamation mark) should be displayed at the top of the icon instead
of the flashing icon (Dock Favorites> Mixed> Action when apps
need attention).
Ubuntu MATE 17.04, 16.10, 16.04, or 14.04 users can install the latest
MATE Dock Applet using WebUpd8 MATE PPA. Add PPA and install the
applet using the following instructions:
Once installed, right-click the MATE panel, select “Add to the panel,”
and add the “Dock” applet.
• Ice
• Radio browser
The applet should run on modern MATE Desktop and GNOME2 assets
(e.g., RHEL 6 and all other derivatives like CentOS). On the MATE desk-
top, the applet supports building with GTK2 or GTK3. You must use the
same version your MATE Desktop does.
Usage of Applets
When the applet starts, it loads the last radio station you listened to. Click
on the applet to change its status from “Pause” to “Play”; click again to
pause. The icon shows the state (playing or paused). Now, right-click the
applet and go to the “All” menu to manage your channels.
• On the “Favorites” tab, you can add new channels (name and URL
are required, URL includes a rule of thumb), remove existing ones,
or start playing one. You can also rearrange the channels there. The
list will be saved for each change.
• On the “Icecast” tab, you can download the complete Icecast direc-
tory (to be saved later), search through it, listen to the channel, or
copy one to the favorites list.
• On the “Custom” tab you can enter your list of channels. It should
only match the 4 most important fields of the Icecast XML format:
<directory>
<entry>
<server_name> Radio 1 (AAC +) </server_name>
<listen_url> http://icecast.omroep.nl/radio1-bb-aac
</listen_url>
144 ◾ Linux
When the applet launches, it will load with the latest ten channels and
top ten favorites in two separate submenus in the right-click menu. From
them, you can open the channel again. Note: Due to MATE/GNOME2
restrictions, these two submenus cannot be updated automatically and
will only change at the beginning of the applet.
When a song starts playing, a notification will display. If you do not
want to be interrupted every few minutes, use the Options tab in the All
Channels menu to disable notifications.
MATE MENU
It enhanced the MATE menu. It supports filtering, preferences, easy
release, auto session, and many other features.
This menu originated from the Linux Mint distribution and was dis-
tributed to other distros that sent the MATE Desktop Environment.
It is the MATE Menu, the MintMenu fork.
MATE DESKTOP
It now has a graphic design tool called “MATE Tweak,” developed by
Martin Wimpress, the founder and project leader of Ubuntu MATE.
MATE Desktop is a continuation of the old GNOME 2. It provides an
intuitive and attractive desktop environment using common Linux meta-
phors and other applications like UNIX. Ubuntu MATE is a community
flavor of Ubuntu using MATE Desktop. It has released Ubuntu MATE
14.04 LTS and Ubuntu MATE 14.10. MATE Tweak is a simple configura-
tion tool written in Python. It is a mint desktop fork that removes specific
Mint configuration options.
MATE Desktop Environment ◾ 145
MATE TWEAK
MATE Desktop now has a graphic design tool called “MATE Tweak,”
developed by Martin Wimpress. The founder and project leader of Ubuntu
MATE. MATE Desktop is a continuation of the old GNOME 2. The devel-
oper has developed packages for his Ubuntu MATE PPA, which are avail-
able for testing at Ubuntu 15.04, Ubuntu 14.10, Ubuntu 14.04, and Linux
Mint 17.
Installation
To add a PPA and enter a MATE Tweak, press Ctrl + Alt + T and then use
the instructions one by one.
Sudo add-apt-
repository ppa: ubuntu-mate-dev /
trusty-mate
$ sudo apt-get update
$ sudo apt-get inserting mate-tweak
Brisk Menu is an open-source menu made for the desktop Mate area,
which is usually delivered via Solus OS as the default menu applet. However,
Brisk has its functionality, e.g., a built-in search feature that mimics the
original Windows menu while still providing high performance.
It has a flexible, portable UI and compresses your battery and pleasant
memory. It does not surprise me, especially after learning that Brisk-menu
is a collaborative activity between Solus and Ubuntu MATE.
BRISK MENU
Brisk Menu is an open-source menu made for the desktop Mate area, which
is usually delivered via Solus OS as the default menu applet. However,
Brisk has its functionality, e.g., a built-in search feature that mimics the
original Windows menu while still providing high performance. It has a
flexible, portable UI and compresses your battery and pleasant memory.
Features
• Freeware: Brisk Menu is free for anyone who uses Mate Desktop to
download and use it
• The customizable UI is fully customizable and intuitive
• List of favorites
146 ◾ Linux
• Fast performance
• Hotkey menu action support
• Support for desktop actions, e.g., context menus for desktop actions
such as open incognito mode
• Sort the application and list of files by categories
• Session controls/screen saver
• Drag and drop support when working with launchers
• Sidebar launcher support
• Beauty options are available as GTK3 + CSS style options
• The Brisk Menu developers plan to bring additional changes in the
future, including updating the UI Settings to control other visual
features (labels/icons/options) and improving the style of a few win-
dow sections
Select MATE from the menu in the display manager of your choice.
The display manager, or login manager, is usually a visual application dis-
played at the end of the startup process instead of the default shell. There
are different implementations for display managers, just as there are dif-
ferent types of window managers and desktop areas. There is a certain
amount of customization and content available for each. Or, to start
MATE with startx, enter exec mate-session in your ~ / .xinitrc file. See
xinitrc for details, such as keeping login time.
INSTALLATION ON VARIOUS OS
• Fedora Linux: The applet is now available in the RPFusion Free
Fedora repo
yum install mate-applet-streamer
DISPLAY MANAGERS
There are various display managers used in MATE Desktop Environment
as given below:
1. CDM
2. Nodm
3. Console TDM
4. Ly – TUI display manager
5. Tbsm – Station-Based Session Manager
You will get brief introduction of each display manager.
CDM
So basically it is a minimalistic but full-featured feature instead of a por-
table controller such as SLiM, SDDM, and GDM that provides a fast-paced
entry, chat-based X Window System header. Written with pure bash,
CDM is virtually non-dependent yet supports many users/sessions and
can launch almost any desktop or window manager.
Console TDM
The TDM display manager is a startx text. The main branch of develop-
ment is development. The main branch is used for extraction. It has an
assistant text called tdmctl to manage tdm times. Each tdm session is a
usable script connector that will be called instead of the last exec of .xinitrc.
The following are three types of tdm sessions.
1. X: This session started within the .xinitrc file as part of a startx call
(apply this to the X window manager/desktop areas).
2. more: this session starts in the shell (apply this to Wayland sessions,
tmux wrappers, etc.).
3. Tdm session may or may not work: An active session is present
in the tdm selection screen, while an inactive tdm session is not
displayed. If the path is not a usable file, the tdm session is always
invalid.
148 ◾ Linux
Installation
Execute “make install” from the source directory (you can choose to set
DESTDIR or PREFIX). There are following dependencies:
• xinit
• dialog box (optional, cursing interaction)
• Usage: To add tdm to a local user, use
tdmctl init
tdmctl add <time name> <usable mode> [X (default)
/ additional]
Texts
There are two texts in the TDM configuration guide ($ HOME / .tdm)
used at the beginning and end of tdm.
tdmctl Commands
Nodm
It is a small display manager that logs in as a given user and starts an X ses-
sion without asking for a username or password. Using nodm is a major
security issue on a normal computer because it can give anyone access
to a computer. However, there are various cases where automatic login is
required: for example, in an embedded system such as a cell phone, a kiosk
setting, or the control panel of industrial equipment. In those cases, nodm
is easy to set up, lightweight, and should do the right thing.
Features
nodm is as small as it can be, and it tries to provide the minimum number
of features required to do a good job, very much following the goal of a
little surprise. Here is what is offered:
• Automatic login with a rooted user, doing all that needs to be done
such as setting up a session with PAM, updating lastlog, logging in
to syslog.
150 ◾ Linux
• Nodm makes the VT offer, looks at the free terminal where it will use
the X, and keeps it redistributed to X restart.
• X launched (by default, / usr / bin / X).
• When X esrver is ready to accept the connection, an X session is set:
• The DISPLAY and WINDOWPATH variables are set.
• The session wrapped in a PAM session, which sets the user’s location
• ~ / .xsession-error is terminated if any.
• Session text is run (automatically, / etc / X11 / Xsession) using “sh -l.”
• If it is an X server or X session exit, one is killed, and both are
restarted.
• If the session is out soon, nodm will wait a bit before restarting. The
waiting times are as follows:
• The first time a session is out soon, restart immediately.
• Second and third, wait 30 seconds.
• For the rest of the time, wait 1 minute. If the session lasts long
enough, the waiting time returns to zero.
• Nodm is NOT COMING yet and works in the background as a
proper daemon: more distribution than tools do that, and nodm
plays well with it. It is not a design choice: simply, so far no one has
ever felt the need to use it.
Configuration
The configuration is done with the following variables:
session X continues for less than this time, nodm will wait for a
growing amount of time before restarting (default: 60).
• NODM_XSESSION: X session command (default: / etc / X11 /
Xsession). It works using a shell so that it can be any shell command.
• NODM_XINIT was Used for older versions of nodm as the path to
the xinit program, but is now overlooked.
• NODM_X_TIMEOUT: Closing time (seconds) to wait for X to be
ready to accept the connection. If the X is not ready before this clos-
ing time, it is executed and restarted.
1. budgie
2. cinnamon
3. deepin
152 ◾ Linux
4. enlightenment
5. gnome
6. i3
7. kde
8. lxde
9. lxqt
10. partner
11. move
12. xfce
13. the pantheon
14. maxx
15. window maker
Ly should work with any X desktop space, and provide basic wayland sup-
port. The supports are given below:
$ git c
lone --recurse-submodules https://github.com/
nullgemm/ly.git
• Combine
$ make
• Check-in default tty (automatic tty2) or terminal emulator (but desk-
top situations will not start)
$ sudo make run
• If you switch between ttys after Ly’s start, you should also disable
getty in Ly’s tty to prevent “login” from reproducing over it
$ sudo systemctl disable [email protected]
Controls
You can use the keyboard up and down keys to change the current field
the left and right arrow keys to change the target desktop while in the
desktop field.
Login User
Login now starts as a root and then uses the setuid to run the entrance_
client under the non-user. It is done with sudo and su for a while before
switching to setuid. The login was also used to operate under the “login”
user but was changed to a previous commitment. Inherited design is
from second generation. It may be modified so that the login is operated
under its user interface and is not configured or operated under root. It
will require creating a user account, adding user video permissions, etc.
It is possible to accomplish this now, start logging under user “login” by
adjusting the unchecked login option.conf start_user: value “start_user”
MATE Desktop Environment ◾ 155
string: “entrance”; You will also need to create an access directory and
ensure it has the appropriate permissions. Since login will not work under
root, login will not fix this, despite having a code for that. If started as a
root, login will create the proper permissions as needed.
This includes the Lighting window manager and the Basic Lighting
Library (EFL) libraries, which provide additional desktop environment
features such as a tool kit, object canvas, and hidden objects. It has been
under development since 2005. But in February 2011, the main EFLs saw
their first stable release of 1.0. Development PKGBUILDs are download-
ing and installing the latest development code available as enlightenment-
gitAUR and its dependents.
The following are EFL-based applications, many of which are in the
early stages of development and have not yet been released:
Installation
You may also want to enter words, an EFL-based terminal emulator that
integrates well with Enlightenment. If the article invites you to install
156 ◾ Linux
other packages in the usual way, it will not show detailed instructions.
Instead, it will simply state the names of the packages to be installed.
Note: Generally, embedded or embedded links are used to identify this
article section. However, JavaScript must be turned on for these links to
work. The sub-sections summarize the standard installation procedures
depending on the package type.
Themes
Additional themes for customizing the look of the Enlightenment are
available:
• enlightenment-themes.org
• relighted.c0n.de of default themes in 200 different colors
• git.enlightenment.org (git clone theme you like, use “mark” and end
with a .edj theme file)
• packages.bodhilinux.com has a great collection (you will need to
download the .edj file to .deb; bsdtar will do this, and it is part of the
installation of Arch Linux). A good catalog can be seen in their wiki
• exchange.enlightenment.org (archive)
• enlightenment-themes.org
• relighted.c0n.de of default themes in 200 different colors
• git.enlightenment.org (git clone theme you like, use “mark” and end
with a .edj theme file)
• packages.bodhilinux.com has a great collection (you will need to
download the .edj file to .deb; bsdtar will do this, and it is part of the
installation of Arch Linux). A good catalog can be seen in their wiki
• exchange.enlightenment.org
Performance
GDM is responsible for managing the indicators in the system. It includes
authenticating users, starting user time, and ending user sessions. The
GDM is adjustable, and the configuration options are described in this
document’s “GDM Configuration” section. GDM is also accessible to users
with disabilities. GDM provides the ability to handle a large console dis-
play with VT-enabled displays. It is integrated with the Fast User Switch
Applet (FUSA) and GNOME-screensaver to take multiple shows in the
console via the Xserver Virtual Terminal (VT) interface. It can also man-
age XDMCP displays. GDM will do the following when managing the dis-
play regardless of the type of display. It will start the Xserver process, use
the Init script as the root user, and start the greeting program on display.
GDM and PAM can be configured not to require any input, which will
allow GDM to log in automatically and start the session, which can be
helpful in some areas, such as single-user systems or cookies. In addition
to confirmation, the greeting system allows the user to choose which ses-
sion to start with and which language to use. The descriptive sessions are
files ending in the .desktop appendix. By default, it is configured to display
a face browser to select their user account by clicking the image instead
of typing in their username. GDM tracks the user’s default time and lan-
guage in the users ~ / .dmrc and will apply this default if the user did not
select a session or language in the login GUI.
After verifying the user, the daemon uses the PostLogin script as root
and launches the PreSession script. After using these scripts, user time is
started. When users exit their session, the PostSession script is used as
root. These documents are provided as distribution hooks and end-users
158 ◾ Linux
to customize how times are handled. For example, using these hooks,
you can quickly set a machine that creates a $ HOME user directory and
delete it from the exit. The difference between PostLogin and PreSession
texts is that PostLogin starts before the pam_open_session call, so it is an
excellent place to do whatever needs to be done before the user session is
started. The PreSession script is called after the start of the session.
Accessibility
GDM supports “Accessible Login,” which allows users to access their desk-
top session even if they can’t use the screen, mouse, or keyboard easily in
the usual way. Affordable technology (AT) features such as an on-screen
keyboard, screen reader, screen magnifier, and Xserver AccessX keyboard
access are available. If needed, it is also possible to enable large text or
high-resolution icons and controls. See the “Accessibility Configuration”
section of the document for more information on how various accessibil-
ity features can be configured.
LightDM
It is a free X display manager and open source that aims to be easy, fast,
expandable, and multi-desktop. It can use different ends to draw User
Interfaces, also called Greeters. It also supports Wayland.
It is the default display manager for Edubuntu, Xubuntu, and
Mythbuntu from 11.10 released Lubuntu from 12.04 released to 16.10, and
Kubuntu from 12.10 to 15.04 for Linux Mint and Antergos.
SDDM
It is a modern X11 and Wayland display manager that aims to speed up,
simplify, and improve. It uses state-of-the-art technology such as QtQuick,
which gives the designer the ability to create smooth, vibrant user links.
160 ◾ Linux
SDDM has a great theme. We do not set limits on the design of the
user interface, and it depends entirely on the designer. We provide a few
callbacks to the interface that can be used to authenticate, pause, etc. We
provide some pre-made features like text boxes, combox, etc.
XDM
It contains a collection of X indicators, which may be on a local host or
remote servers. The xdm design was guided by the requirements of the X
terminals and the standard XDMCP of the Open Group, the X Display
Manager Control Protocol. It provides services similar to init, getty, and
login to character terminals: password entry and password, user authenti-
cation, and use “session.” XDM provides specific login information.
Configuration
MATE can be configured through its Mate-control-center program,
offered in a mate-control-center package. To control some computer hard-
ware, you may need to install additional tools.
Accessibility
MATE is well suited for use by those with limited vision or mobility. Install
orca, espeakAUR (Screen reader for the blind or visually impaired), and
onboard (On-screen keyboard is useful for users who can walk). Before
starting MATE, enter the following command as a user requiring acces-
sibility features:
$ gsettings s
et org.mate.interface accessibility is
real
Once you have started MATE, you can set up accessibility applica-
tions using System> Preferences> Help Technology. Although you need
Orca, you will need to run it from the Alt-F2 window to start getting the
conversation.
Notifications
$ gsettings s
et org.mate.power-manager notify-
executes false
• Void Linux
• Vector Linux
• Uruk Linux/GNU
• Ubuntu MATE
• Ubuntu
• Trisquel Linux/GNU
• Solus
• Slint
• Salix
• Sabayon
• PLD Linux
• PCLinuxOS
• Parrot Security OS
• openSUSE
• Mananjaro
MATE Desktop Environment ◾ 163
• Mageia
• Linux Mint
• Hamara Linux
• GNU GuixSD and GNU Guix
• Gentoo
• Fedora
• Debian
• Arch Linux
• AOSC
• Antergos
• Alpine Linux
• Mozo
• Déjà Dup
• GNOME Disks
• Character Map
• Passwords and Keys
• Plank
• Redshift
• Firefox
• Simple Scan
• Shotwell
• Transmission
• Evolution
• LibreOffice
• Celluloid
• Cheese
• Webcamoid
• Rhythmbox
• GParted
• gdebi
• Firmware
• Blueman
• Network Manager
• gufw
• Magnus
• Onboard
• Orca Screen Reader
MATE Desktop Environment ◾ 165
HIGHLIGHTS
MATE is a fork of GNOME 2, one of the most popular Linux desktops.
MATE follows standard desktop paradigms and provides you with a visu-
ally pleasing and intuitive interface. It is incredibly sharp out of the box
with a friendly theme and icon pack. The feel is good, too, using a minimal
app and a fast visual interface. Things are going well, and MATE can be a
great choice for a low-level system or for those who want to stay efficient
in system resources.
• User Experience: MATE feels like a unique mix of the old, tradi-
tional desktop with a different Linux twist. For older MATE appli-
cations, there is a menu at the top left with a list of categories for all
your applications, as well as a search function. At the top right is
a well-designed system tray with notifications, network, audio, and
time is at the top right. At the bottom left is a “Show Desktop” but-
ton that helps many heavyweights or those who like to use desktops
and desktop icons. There is also a trash can in the bottom right. All
you will need is the menu at the top left. A robust menu that looks at
application names and application descriptions.
• Caja File Manager: It is the most important application on the
MATE desktop. It is a good file manager with a lot of work. Out of
the box, it supports several different side windows, including a stock
list menu, tree view, directory history, and document information.
Additionally, there is a simple reset button: /// locale to see all avail-
able disks, drives, and available file systems.
• Pluma Text Editor: Pluma Text Editor is an excellent Gedit fork that
adds some friendliness to users. For one thing, all the options for
saving, opening new files, and finding or retrieving and replacing are
all in the top bar rather than hidden behind the hamburger menu. If
not, Pluma is a straightforward and easy-to-use text editor that gets
in your way and is easy to use.
• Search Tool: The MATE Search Tool is a great way to look at all your
files in your system. Similar to Catfish in Xfce, but there are more
options available. You can search files by name, content, modified
date, owner, group, size, and similar word expression patterns. It’s a
great way to work with files in your system.
166 ◾ Linux
CHAPTER SUMMARY
In this chapter, we have covered the introduction of MATE: its installa-
tion, features, history, core projects, applications, and development. Also,
we have a separate section where you get a history of MATE versions.
Chapter 6
Budgie Desktop
Environment
IN THIS CHAPTER
¾ Introduction
¾ History
¾ Budgie versions
¾ Installation
¾ New features and development of Budgie
INTRODUCTION
It is a desktop site currently using GNOME technology like GTK (>
3.x). Participants are developing the Solus project from many communi-
ties such as Arch Linux, Manjaro, openSUSE Tumbleweed, and Ubuntu
Budgie. Budgie’s design emphasizes simplicity, minimalism, and elegance.
The Solus project will replace the GTK library with the Enlightenment
Foundation Library (EFL) to release Budgie 11.
Budgie’s current desktop integrates seamlessly with the GNOME stack,
using basic technology to provide desktop information. Budgie applica-
tions typically use GTK and headers similar to GNOME applications.
DOI: 10.1201/9781003308676-6 167
168 ◾ Linux
Budgie-Remix 16.04
The 16.04 version of the budgie-remix was released on April 25, 2016,
four days after the launch of the 16.04 version of Ubuntu. The program
includes version 10.2.5 version of Budgie Desktop. It has a Mutter-
based window manager, notification center settings, and a customiz-
able panel.
The theme, Arc-GTK +, is used in this release. Budgie-remix has a
3.18 version of Nautilus, as at the time Ubuntu OS had a 3.14 version of
Nautilus compared to version 16.04 of Ubuntu.
It includes 0.11.1 version of dock panel Plank, version 3.18 gedit, ver-
sion 3.18 of GNOME images, version 3.4.3 of gThumb, version 3.3 of
Rhythmbox, version -3.18 for Totem, version 3.18 of GNOME Terminal,
version 5.1.2 version of LibreOffice, version 45.0 of Mozilla Firefox, version
2.84 of Transmission, version 3.18.9 of -GTK +, version 11.2.0 for Mesa,
version 1.18.3 for XOrg, and version 4.4.0 version for Linux kernel.
Budgie-remix is an illegal Ubuntu flavor; however, its developers aim
to make it an official member of the Ubuntu family. The goal is to release
Budgie-remix 16.04.1 in three months, followed by the first alpha of
Budgie-remix 16.10 in July. It is based on Ubuntu 16.04 LTS and includes
the latest Budgie Desktop 10.2.5. Budgie Desktop integrates seamlessly
with the GNOME stack. It consists of a libmutter-based window manager
and a custom panel providing an applet, notification, and a custom center,
called Raven.
The new illegal Ubuntu flavor already combines its art with the custom
theme of Plymouth and LightDM and the beautiful themes of Arc GTK
and Faba. Since Budgie is the GNOME shell, Budgie-remix 16.04 delivers
GNOME Settings (Control Center/Daemon Settings). In addition, Budgie-
remix 16.04 includes Nautilus 3.18, not the version found in the official
Ubuntu 16.04, which is 3.14.
That may be because Budgie-remix is not the official taste of Ubuntu,
so it uses PPA automatically, not only providing Nautilus 3.18 but also the
entire Budgie Desktop, artwork, and more. You can use the PPA to try
Budgie Desktop on Ubuntu, but remember that it will update Nautilus
170 ◾ Linux
to a version without Unity patches (you can lock the current version of
Nautilus to avoid that).
Other apps automatically installed with Budgie-remix 16.04 include the
Plank dock (0.11.1), which is used on the left screen with Intellihide and a
nice theme called Arc automatically, and:
• Gedit 3.18
• Images of GNOME 3.18
• gThumb 3.4.3
• Rhythmbox 3.3
• Totem 3.18
• GNOME Eye (Image Viewer) 3.18
• GNOME Terminal 3.18
• LibreOffice 5.1.2
• Firefox 45
• Transfers 2.84
• And various resources such as Calculator, Disks, Calendar, and
more.
Budgie-Remix 16.10
The budgie-remix 16.10 was released on October 16, 2016, three days after
Ubuntu 16.10. The program contains the Budgie Desktop 10.2.7, GTK +
3.22, Linux kernel 4.8. Many new features are used in this version, such
as full disk encryption, home folder encryption, and multilingual sup-
port during installation. It has Arc GTK + design theme icons for the new
Pocillo theme.
Built-in Software
Ubuntu Budgie delivers standard applications such as the standard
Ubuntu, with some differences:
• LibreOffice (Author, Calc, Impress)
• Chromium Browser
• GNOME Apps: Calendar, Photos, Books, Weather, Maps
• Geary Mail
• System settings
• Rhythmbox
• MPV
• Terminix
System Details
Here is the list of some technical details about Ubuntu Budgie 17.04.
• Files (Nautilus) 3.26 have a Folder Color to change the color and add
symbols to folders
• Files now come with Various Documents Templates available for use
• Settings (gnome-control-center) have a style change
174 ◾ Linux
• GNOME-based apps are now available in the latest version, 3.26 (if
released)
• Budgie-welcome now has relevant title bars to clear the window
• The Budgie-welcome translation is now available in many languages
• One-click switch between IBUS and FCITX
• GNOME images have been replaced by gThumb
• The default Budgie reception settings now have stylish and extended
edits
• Budgie can now incorporate many budgie applets from foreign
companies
• The Global Menu Applet can be added to the panel
• Budgie installed snap links and flatpak websites for more software
installation options
• The one-click theme has the best font support for key-based themes
– fonts with better size
• Night-light and Caffeine (disable screen) are now sent as default
panel icons
• Screen lock had a style change
• Move from Terminix to Tilix for a terminal template
• Support Tilix Quake mode – just press F12
• Ubuntu Background 17.10 Community Contest
• Added design wallpaper – used when using budgie-welcome
makeovers
• Enhanced Panel Icons – stylish support for standard apps like
Caffeine and Dropbox
• Login screen changed from lightdm-gtk-greeter to slick-greeter
The LTS version is supported for three years, while the standard release
is supported for nine months. The new release includes a variety of fixes
Budgie Desktop Environment ◾ 175
and improvements to the Ubuntu Budgie team that released it since the
February 18.04.2 release.
The kernel and images found in version 19.04 have been restored in ver-
sion 18.04. It is part of the Hardware-Enablement-Stack release, and 18.04
users, including HWE (see later), are automatically upgraded to the next
kernel and photo stack about three to four months after the temporary
release. 18.04.2 users will therefore see new packages from now on. All
19.04 applets and fixes back.
Most of the updates are:
• budgie-screen-applet
• budgie-weather-applet
• budgie-sys-monitor-applet
• budgie-cpufreq-applet
• budgie-advanced-brightness-controller
• Updated Pocillo theme
Ubuntu Budgie 19.04 will support for nine months until January 2020.
If you need long-term support, it is recommended that you use Ubuntu
18.04 LTS instead.
Among the notes released on the covered areas are:
18.10 Features in 19.04
• Budgie Desktop integrated with the latest GNOME 3.34 stack. Also,
the team has made significant contributions to making the overall
desktop experience better and more consistent.
• Budgie Applets has been improved to work better with user expe-
rience. Advanced applets include window preview, instant char
mini-app, vague clock applet, stopwatch applet, light control, status
notification, etc.
• NVIDIA drivers are licensed in ISO. It allows the installation of
NVIDIA drivers without an internet connection.
178 ◾ Linux
BUDGIE’S DESKTOP
Version 10.5.3 of Budgie is a small edition explaining the many bug fixes,
lifetime quality improvements, and GNOME 40 stack support.
Raspberry Pi
Version 21.10:
• Compute Module Board Support 4.
• Add a command-line option, i.e., --force-arm-mode.
Budgie Desktop Environment ◾ 181
GNOME 40 Support
Version 10.5.3 version of Budgie Desktop specifies support for the GNOME
40 stack or in conjunction with GDM (GNOME login manager that ben-
efits the gnome-shell).
In the settings of GNOME Daemon and GNOME Shell 40, there have
been specific versions that affected Budgie’s ability to use dedicated screens
as a gnome-screensaver.
Upgrades
There are a few quality life upgrades to Budgie’s version 10.5.3:
• The WM and Mutter schema settings are only used in the Budgie
session.
• The full-screen status of the rewritten app for the use of window
XIDs and diminished environments where a few unstructured flags
will not be removed within the app will be removed as a full-screen
application.
• Now, the space is adjustable within the status applet.
• There is an option in Budgie and revealed in the “Windows” section
of Budgie Desktop Settings to automatically stop notifications when
the window is in full-screen mode and does not rest when there is no
full-screen window. It helps to minimize distractions when viewing
or game content.
• The Lock Key applet may be pressed to toggle NumLock and
CapsLock if xdotool is in the application.
182 ◾ Linux
Additional Information
USING APT
Budgie Desktop is a modern and up-to-date Budgie Desktop that provides
excellent desktop information and is available on all major Linux distribu-
tions. It is designed so that it can use a few system resources.
Budgie Desktop contains a specific application launcher called the
Budgie menu that includes a few of our apps and is helpful. It provides
an easy way to search and launch apps and features like the genre as
you search and category-based filtering options. Also, Budgie contains a
Budgie Desktop Environment ◾ 183
sidebar that can be accessed by pressing the icons on the far right inside
the panel. We can see notifications, desktop control settings on the desk-
top, and a calendar.
We can get a few more features after installing and using Budgie
Desktop. This section will show you how to download and install Budgie
Desktop on Ubuntu.
Let’s start with the installation process. There is no need to install a
PPA in the Ubuntu operating system because Budgie is part of the official
Ubuntu depot. Simply put, we will need to execute the installation process.
Step 1: We need to press the shortcut keys, that is, Ctrl + Alt + T, to start
the terminal. After that, we will place an order below in our terminal
to view updates:
$ sudo apt update
$ sudo reboot
After the reboot, we will see the login screen below. We will press the
icon under the desktop.
From there, select an option, that is, budgie-desktop.
We’ll have a default look for Budgie’s desktop.
We can now use Budgie’s menu by pressing on the left side of the
desktop.
If we no longer want Budgie Desktop and wish to return to our normal
Ubuntu desktop, we will need to uninstall it by performing the following
instructions on our terminal:
184 ◾ Linux
$ sudo apt t
o delete ubuntu-budgie-desktop ubuntu-
budgie * lightdm
or $ sudo apt autoremove
Budgie DE.
• Select a desktop session like Budgie and open the desktop selection
menu.
• Select Budgie Desktop, enter your password, and press the login
button.
After installation, open the “Plank” app in Unity Dash (or the same App
Menu in the desktop area you are using) and away! To unlock Plank prefer-
ences, you need to right-click on the “Plank” icon on the far left of the dock.
Intellihide
Budgie panels (including the new spiffy dock mode) take on additional
coverage behavior. Among them is the famous intellihide feature, which
causes the panel to hide cleverly when a window passes and removes a
backup when it is released.
It Is Flexible
Using Ubuntu Budgie gives you the freedom to use the complete, fully
integrated, pre-configured, if not all, of the applications you will need on
your daily computer – or change anything in the way it looks, the way it
works, or the apps you use to suit your preferences for you.
Built-in Security
Personality Budgie is built with safety in mind. Unlike apps that update
only once a month, Ubuntu Budgie receives continuous updates. Updates
include safety features for Ubuntu Budgie and all of its components.
Security updates for all installed applications are also provided with the
same schedule. This ensures that you have the latest protection for all your
computer software, as soon as it is available! Powerful ApplicationsWhile
Budgie Desktop provides essential visual user control and computer
application. Ubuntu Budgie adds a collection of additional applications to
transform your computer into a compelling workplace: from production
to entertainment.
Games
A few years ago, Linux became the first-class playground, thanks to the
arrival of Steam Platform on Linux. Steam has more than 2,000 high-
quality indie degrees and AAA suitable for Ubuntu Budgie at the time of
188 ◾ Linux
writing. While Steam is a big step forward to play on Linux, many high-
quality and exciting open-source articles are available at Ubuntu Budgie.
Whether you like airplanes, car racing, first-person shooters, jump and
run, or card games, you will find something that will delight you.
Easy Migration
Connect your accounts, sync your calendars, and download your favorite
apps. Ubuntu Budgie is your operating system.
Chapter 7
Cinnamon Desktop
Environment
IN THIS CHAPTER
¾ Introduction
¾ History
¾ Software components
¾ User guide
¾ Cinnamon applications
¾ Installing Cinnamon on Ubuntu
¾ Core components and benefits
INTRODUCTION
There are various terms to discuss to understand the concept of the
Cinnamon. So let’s begin with basic terms, then we move forward to the
desktop environment Cinnamon.
Now we are going to cover basic terms before going deep into the
Cinnamon desktop environment such as distribution, open-source Linux
desktop environment, GUI, TUI, CLI, and so on.
What Is Distribution?
The term “distribution” refers to the combination of the packaging of the
kernel with the GNU libraries and applications. Ubuntu is one such dis-
tribution. It contains the Linux kernel, the GNU tools, and many other
applications and libraries.
Key Points
Next, we will discuss GUI, CLI, and TUI, which are also related to the
Ubuntu desktop environment Kool Desktop Environment (KDE).
Cinnamon Desktop Environment ◾ 191
This section examines the Graphical User Interface (GUI) and the sig-
nificant components of the Linux GUI. You will learn about standard win-
dow managers and desktop environments used with Linux.
Features of a GUI
There are unique features and tools to interact with the software to make
the GUI as easy to use as possible. Below is a list of all of these with a brief
description.
The GUI uses icons, windows, and menus to execute commands, such as
opening, deleting, and moving files. Although the GUI operating system
is navigated using the mouse, the keyboard can also use with keyboard
shortcuts or arrow keys.
For example, if you wanted to open an application on the GUI system,
you could move the mouse pointer to the system icon and double-click it.
With the command-line interface, you will need to know the commands
to go to the program’s directory, enter the list of files, and then use the file.
Benefits of GUI
A GUI is considered more user-friendly than a text-based command-line
interface, such as MS-DOS, or the shell of operating systems like UNIX.
Unlike command line or CUI operating systems, such as UNIX or
MS-DOS, GUI operating systems are easy to read and use because com-
mands do not need to be memorized. Additionally, users do not need to
know any programming languages. Thanks to its ease of use and modern
appearance, GUI operating systems dominate today’s market.
Command-Line Interface
CLI is a command-line program that accepts inputs to perform a particu-
lar function. Any application you can use via commands in the terminal
falls into this category. CLI is an old way of working with apps and appli-
cations and is used to perform specific tasks that users need. CLI is a text-
based visual interface, unlike the GUI, which uses graphics options that
Cinnamon Desktop Environment ◾ 193
allow the user to interact with the system and apps. CLI allows the user
to perform tasks by entering commands. Its operating system is straight-
forward but not easy to use. Users enter a command, press “Enter,” and
wait for a response. After receiving the command, CLI correctly evaluates
it and displays the output/effect on the same screen. The command-line
interpreter is used for this purpose.
CLI is introduced with a telephone typewriter. This system was based
on batch processing. Modern computers support CLI, batch process-
ing, and a single interface GUI. To make good use of CLI, the user must
enter a set of commands (one by one) immediately. Many applications
(mono-processing systems) still use CLI on their operators. In addition,
programming languages like Forth, Python, and BASIC provide CLI. The
command-line translator is used to use a text-based interface.
Another feature of CLI is the command line used as a sequence of char-
acters used in the user interface or shell. Command information is used
to inform users that CLI is ready to accept orders. MS-DOS is an example
of CLI.
CINNAMON
It is a free and open-source desktop X Window System source from
GNOME 3, following standard desktop metaphor agreements. Cinnamon
is the main desktop distribution platform for Linux Mint and is available
as a desktop of your choice for other Linux distributions and other appli-
cations such as Unix.
The development of Cinnamon began as a reaction to the April 2011
release of GNOME 3 when the standard desktop GNOME 2 desktop
was left in favor of GNOME Shell. Following several attempts to extend
194 ◾ Linux
GNOME 3 to suit the design goals of Linux Mint, Mint developers have
installed several GNOME 3 components to create a standalone desktop
space. The split on GNOME was completed on Cinnamon 2.0, released
in October 2013. Apples and desktops are no longer compatible with
GNOME 3.
As a distinguishing feature of Linux Mint, Cinnamon has generally
received good media coverage, mainly due to its ease of use and soft learn-
ing curve. In terms of its sequential design model, Cinnamon is similar to
the Xfce desktop and GNOME 2 desktop (MATE and GNOME Flashback).
History
Like a few other GNOME-based desktop environments, including
Canonical Unity, Cinnamon became dissatisfied with the GNOME
team’s traditional desktop experience in April 2011. Until then, GNOME
had included a standard desktop theme. But GNOME 3 was replaced by
GNOME Shell, which lacked a function-like panel and other basic desktop
features. The abolition of these essential features was unacceptable for dis-
tribution developers such as Mint and Ubuntu, aimed at users looking for
collaborative sites where they could be relieved immediately.
The Linux Mint team initially decided to upgrade the GNOME Shell
extensions to overcome this difference to replace the remaining fea-
tures. The results of this effort were “Mint GNOME Shell Extensions”
(MGSE). At the time, the MATE desktop environment was also forked
from GNOME 2. Linux Mint 12, released in November 2011, then merged
both, thus giving users the choice of GNOME 3-with-MGSE or traditional
GNOME desktop 2.
However, even with MGSE, GNOME 3 was still missing out on the
luxury of GNOME 2 and was not well received by the user community.
Some missing features could not be changed at the time, and it seemed
that the extensions would not work in time. In addition, GNOME devel-
opers could not meet the needs of Mint developers. To give Mint develop-
ers better control over the development process, GNOME Shell was forked
as “Project Cinnamon” in January 2012.
Gradually, various key applications were replaced by Mint developers.
As of version 1.2, released in January 2012, the Cinnamon window man-
ager is Muffin, the fork of GNOME 3’s Mutter. Similarly, from September
2012 (version 1.6 onwards), Cinnamon includes a Nemo file manager with
a fork from Nautilus. Cinnamon-Control-Center, installed since May 2013
(version 1.8 onwards), integrates GNOME-Control-Center functionality
Cinnamon Desktop Environment ◾ 195
Overview
The Cinnamon desktop environment is a vast development project.
Between 2006 and 2010, the most prominent Linux Mint desktop space
was GNOME 2. It was very stable and trendy. In 2011, Linux Mint 12 could
not be shipped via GNOME 2. The upcoming GNOME team released a
brand-new desktop (GNOME 3 aka “GNOME Shell”) using the latest
technology (Clutter, GTK3), which had a completely different design, and
we used a very different paradigm than the previous one but used the
same word spaces and therefore could not be installed near GNOME 2.
After the decision from Debian to upgrade GNOME to version 3, GNOME
2 was no longer available in Linux Mint. To address this issue, two new
projects were launched.
A project called “MATE” was started by an engineer named Perberos.
Its goal was to redesign and repack GNOME 2 to its original form.
Linux Mint started a project called “MGSE.” Its goal was to upgrade the
GNOME 3 extensions to replace some of the lost and found functionality
in GNOME 2 (panel, systray, application menu, alt-centric tab selector,
window-list, etc.).
Linux Mint 12 has been distributed on both MATE and GNOME3 +
MGSE. Six months later, and after a huge amount of work, MATE was
stable, and from the extension set, MGSE became a GNOME 3 fork called
Cinnamon. Linux Mint 13 was the first Linux release for the Cinnamon
desktop deployment. Since Linux Mint has a MATE and Cinnamon sys-
tem, both provide users with a desktop, one forked from GNOME 2 and
the other forked and based on GNOME 3.
Other recent improvements include the following:
SOFTWARE COMPONENTS
X-Apps
Cinnamon introduces X-apps based on GNOME core applications but is
modified to work across Cinnamon, partner and xfce; they have a stan-
dard user interface (UI).
Features
Features provided by Cinnamon include:
• Desktop results
• Apples
• Extensions
The volume and light adjustment are applied to the scroll wheel while
pointing to the taskbar icon. As of January 24, 2012, there were no official
documents for Cinnamon itself, although most GNOME Shell documents
apply to Cinnamon.
USER GUIDE
Amazing GUI
It is no secret that GUI seems essential to any Linux distribution. We even
have users who like a particular distro just because of the beautiful nature
of the desktop, and Cinnamon is one of them. The Cinnamon desktop
does not come with unnecessary icons and shortcuts.
Cinnamon Desktop.
You can stop using System Settings and go to the desktop menu. You
can choose whether they appear in the primary or secondary monitor or
all user monitors with multiple monitors.
198 ◾ Linux
Use of Desklets
Cinnamon offers several desklets, including a weather app, a desktop photo
frame application, time and date, sticky notes, CPU, or disk monitors.
Adding Desklets.
One of my favorites is the Time and Day desktop. That’s what we call
desklets – a one-purpose app that adds to your desktop for easy access.
Speed
Since you started using Linux, some have used Cinnamon on Fedora,
Debian, and Ubuntu. Cinnamon worked well in all of these distros and
quickly and easily launched apps. The desktop itself does not take long to
load once it is entered. Also, Cinnamon is compatible with hardware on
PCs with fewer resources like Ram. Unless you use additional applications
such as Desklets, Cinnamon should work fine on your PC.
Integration
With Linux desktop locations, you will find specific applications in them
all. For example, you say you want to install a GNOME-screenshot in
another location like KDE, Mate, or Budgie – if the specified location
does not support the required GNOME screen libraries, you will not be
able to install it. Fortunately, with Cinnamon, things are getting a lot
better because of the strong integration of libraries. You can install mul-
tiple applications regardless of the desktop environment for which they
Cinnamon Desktop Environment ◾ 199
are designed. Cinnamon supports all KDE libraries, GNOME, and other
Desktop domains.
Extremely Customizable
Although not available as KDE, Cinnamon allows you to customize it
enough to have a good user interface. The control center application gives
you access to all Cinnamon desktop configurations. You can open a win-
dow in the configuration feature in the window that opens. You can also
change the look of your desktop image using theme options in system set-
tings. You can customize window parameters, thumbnails, and pointers,
and upgrade your desktop. Additionally, you also customize the fonts and
desktop background.
All visibility settings are located at the top of the window. Everything in
the “System Settings” window looks clean and tidy. Go to System Settings
and find something similar to that given below.
System Settings.
want to change the speed of results, you can do it with the customiza-
tion tab.
Effects Setting.
• Font selection: In this section, you can customize the fonts you use
for the whole system by size and type, and with the font settings, you
can fine-tune the look.
Font Selection.
Cinnamon Desktop Environment ◾ 201
Customize Settings.
202 ◾ Linux
Cinnamon Panel
The Cinnamon panel or toolbar comes with a very simple setup: the open
application menu, system tray, and application selector. However, you
can customize the panel and add new program launchers. To do this, go
to the program menu, right-click on the program you want, and select
“Add to panel.” Additionally, you can add launchers to the desktop or the
“Favorites” bar. Cinnamon also allows you to set program launchers on
the panel as you wish with “edit mode.”
Adding Panel.
Multiple Workspaces.
Flexibility
Cinnamon desktop environment makes it easy to use and navigate due to
the high flexibility in the Graphical User Interface. For example, if you use
only a few applications, it can be challenging to get reduced applications
or those running in the background from the toolbar. One of the features
you can use to solve this is to reset the operating system buttons to a selec-
tor. This way, you can easily click on any operating system without much
hassle. Also, Cinnamon desktop has a helpful menu that gives you access
to a few features and utilities, including desklets, create a new document,
and more.
Nemo
Like any other desktop environment, Cinnamon has its fair share of auto-
mated apps. Another one that caught my eye was the file manager, Nemo.
You will have worked closely with other file managers like Nautilus and
Krusader. With Cinnamon, that’s when you get exposure to this great
204 ◾ Linux
app. Nemo comes with a clean user interface, and the feature buttons are
well-positioned. Compared to using Nemo with Nautilus and Cinnamon,
Nemo seems to have a much better alliance with Cinnamon compared to
Nautilus.
Stability
As of October 2013, Cinnamon has ceased to be a GNOME frontend over
GNOME and no longer needs GNOME to be installed. Share desktop
space with its rights. Since then, the developers have added many features,
and as of this writing, the latest release is Cinnamon 3.6.7. Cinnamon is
very stable and works well with several Linux distributions.
Cinnamon Apples
Cinnamon apples are all the features in your panel below, such as a cal-
endar or keyboard layout switch. In the Administration tab, you can add/
remove pre-installed applets. You should check out the apples you can
download. The weather and CPU Indicator applets were my choices in
addition.
Cinnamon Desktop Environment ◾ 205
Applets.
Desktop Wallpaper
To change the desktop background on the Cinnamon desktop, right-click
on the desktop and select “Change Desktop Background.” It will open an
easy-to-use window, where the system folders are available on the left side,
and in the mounting window, there is a preview of photos within each
folder.
CINNAMON APPLICATIONS
Cinnamon introduces X-Apps based on GNOME Core Applications but
modified to work across Cinnamon, MATE, and XFCE; they have a stan-
dard user interface.
Or
When you run the above command in the terminal, you will see the
following lines of code:
cinnamon-common cinnamon-control-center
cinnamon-control-center-date
cinnamon-common-goa cinnamon-control-screensaver
cinnamon-control-center
It will download files up to 150 MB in size. This also provides you with
Nemo (Nautilus fork) and Cinnamon Control Center. These bonus fea-
tures give a Linux Mint experience.
After installing, you will see your installed desktop environment as
given below:
If you have used PPA to install Cinnamon, you should also remove the
PPA from your list:
• Cinnamon-screensaver (screensaver)
• various csd- * processes (which are daemon plugin settings and run-
ning in the background)
The Nemo process begins when you browse files and directories. It stays
open as long as at least one file manager window is open. The Cinnamon
settings process starts when you open System Settings and stays open as
long as at least one configuration module is turned on.
CINNAMON LIBRARIES
Cinnamon-Menus
The Cinnamon menus library provides reading and monitoring activi-
ties for a set of computer-based desktop applications. Cinnamon menus
can quickly add a list of installed apps to the program menu, download
menu system icons, alt-tab selector, and window list, and keep this data
synced whenever applications are installed or removed from a computer.
The Cinnamon menus library is built in C, and the source code is available
on Github.
Cinnamon Desktop Environment ◾ 209
Cinnamon-Desktop
It is a collection of libraries and settings used by other parts of Cinnamon.
Whenever multiple desktop components need access to the same app
(whether a setting or a proper function), we put this device on a Cinnamon
desktop.
Cinnamon-desktop contains libCinnamon desktop library, Cinnamon-
about, the program and other comprehensive desktop documents. The lib-
Cinnamon-desktop library provides a shared API for several applications
on the desktop, but that can’t sit on a multi-platform platform for reasons.
There is no API or ABI guarantee, though we do our own best to provide
stability. API documents are available via gtk-doc.
Muffin
Muffin, or libmuffin, is more accurate in the window handling library.
The Windows Manager does not work with a separate process within the
Cinnamon desktop area. The primary Cinnamon process uses the libmuf-
fin library and uses both visual components (panel, applet, etc.) and a win-
dow manager.
Clutter
Clutter and Cogl libraries are part of the muffin package now. It is a
library for creating and displaying both 2d and 3d image features. It is
210 ◾ Linux
used by both the muffin itself (e.g., mixing and setting the stage) and St
in Cinnamon (all St widgets are clutter players). Cogl is a library used for
clutter in 3d rendering. Muffin is built in C, and source code is available
on Github.
CJS
CJS is a Cinnamon Javascript translator. It uses Mozilla’s SpiderMonkey,
which makes it possible to interact with GObject and connect with the
GIR, GNOME, and Cinnamon libraries using that language. CJS is also
processed within a significant Cinnamon process, and desktop compo-
nents written in Javascript are contained in a large portion of Cinnamon.
CJS has been upgraded to C ++ and Javascript, and the source code is
available on Github.
CORE COMPONENTS
Cinnamon-Session
The Cinnamon-session manager is responsible for presenting all the
required components after logging in and closing the session properly if
you want to exit. Among other things, the session manager introduces the
key components required for the session (such as the desktop itself and its
components) and applications configured to start automatically.
The Cinnamon-session also provides a DBus interface called the
Existing Interface Connector, making it easy for applications such as
media players to set busy times and prevent power management (pause,
long sleep, etc.) and storage-screen during video playback. Session manag-
ers allow applications to register to be closed automatically. For example,
a text editor is registered for a session when it is launched and works with
it is on the go. If the document is not saved, the session recognizes it and
allows you to save your work before signing out.
Cinnamon-Settings-Daemon
The Cinnamon-settings-daemon is a collection of processes that run in
the background during your Cinnamon-session. The Cinnamon-settings-
daemon provides a wide range of sessions and functions requiring a long
process. Among the services used by the Cinnamon-settings-daemon
are XSettings Manager, which provides themes, font, and other settings
to GTK + programs, and the clipboard manager, which stores the clip-
board’s contents when the program exits. Many user interface features of
Cinnamon Desktop Environment ◾ 211
Cinnamon-Screensaver
Cinnamon screensaver is responsible for the lock screen and the mini-
mal handling of certain power management functions (although most
of them are csd-enabled within the Cinnamon Settings Daemon).
Cinnamon-screensaver is built into Python, and source code is available
on Github.
Cinnamon
The Cinnamon github project is the largest and most active project within
the entire project.
It contains various sub-sections labeled C:
Nemo
Nemo is Cinnamon’s file manager. When you open your home directory or
browse files using Nemo, another small part of Nemo is the Nemo-desktop.
Its role is to manage desktop icons and desktop content menu. When you
log in, the Nemo-desktop starts automatically with a Cinnamon-session.
The Nemo process only starts when you browse the directions and stops
when you open the last file manager window. Nemo is upgraded to C, and
source code is available on Github.
Nemo Extensions
Nemo offers a set of APIs and is very easy to expand, both in C and
Python. Nemo extensions is a Github project where common extensions
are stored. Some Nemo extensions are made in C and some in Python.
Their source code is available on Github.
X-APPS
A project called “X-Apps” was launched in 2016 to produce standard GTK
desktop applications. The idea for this project is to replace applications that are
no longer integrated well outside of the area (this is the case with the growing
number of GNOME applications) and provide our desktop locations with the
same set of key applications, so that each change, each new feature upgrade,
and each minor improvement will not gain only one place, but all.
The main ideas of X-Apps are as follows:
• Using modern tools and technologies (GTK3 HiDPI support, set-
tings, etc.)
• Using standard user interface (titlebar, menubar)
• To work everywhere (be it normal, desktop-agnostic, or
distro-agnostic)
• To provide performance to users who already enjoy (or have enjoyed
in the past by distributing lost functionality)
• To keep up with the reverse (to work on as many distributions as
possible)
All three Linux Mint programs come with the same XApps libraries
and applications. When working on XApps, our development efforts are
focused on improving all desktops.
BENEFITS
It is still distributed under the terms of the GNU General Public License.
The basic technology is made with a fork from the GNOME desktop. Since
version 2.0, Cinnamon is a complete desktop and not just a GNOME
location like GNOME Shell and Unity. Cinnamon is a fast version of 3D,
which should be used frequently. It provides users with an “easy-to-use
and comfortable desktop experience” while staying up-to-date with the
latest technology and power. The DE was founded by Clement Lefebvre,
who also developed and continues to develop the Linux Mint distribu-
tion for Linux. Linux Mint has also collaborated on the development of
a GNOME desktop-based desktop platform known as MATE. It is the
main Desktop for Linux Mint distribution and is available as a desktop
of your choice for other Linux distributions and other applications such
as UNIX.
Cinnamon Desktop Environment ◾ 215
Extension
Cinnamon can be replaced with themes, applets, and extensions. Themes
can customize the look of Cinnamon features, including but not lim-
ited to the menu, panel, calendar, and box usage. Apples are icons or text
from a panel. Five applets are shipped automatically, and developers are
free to create their own. A tutorial on creating simple apples is available.
Extensions can change the performance of Cinnamon. Developers can
upload their themes, applets, and extensions to the Cinnamon webpage
and allow users to download and rate.
Flexibility
Cinnamon Desktop has an excellent exit menu that you can access with
the right-click. This menu contains a selection of other commonly used
functions such as accessing Desktop Settings and adding Desktop, as well
as other Desktop-related functions.
Consolidation
The choice of Desktop does not depend on the availability of long-term
applications. All apps, regardless of the Desktop they are designed for, will
work well on any other desktop, and Cinnamon is the same. All librar-
ies required for the use of applications written for KDE, GNOME, or any
other desktop are available and make using any Cinnamon desktop appli-
cation a seamless experience.
Speed
Cinnamon is quick and easy. Applications upload and display instantly.
The Desktop itself loads quickly during login, although this is my personal
experience and is not based on any timely testing.
Visible Connector
Cinnamon has a clean look using easy-to-read fonts and color combina-
tions. The Desktop is not interrupted by unnecessary rooting, and you
can edit what icons are displayed on the Desktop using System Settings
=> Desktop Menu. This menu also allows you to specify whether desktop
icons are displayed only on main monitors, only on secondary monitors,
or on all monitors.
Discovery
Cinnamon is available in Linux Mint 12 storage and is included in all
versions of Linux Mint 13 and above as one of the four possible desktop
216 ◾ Linux
environment options, the other being MATE. It is also the user of your
choice in the Linux Mint Debian Edition Update Pack 4 respin.
Settings Editor
Settings editor for easy customization. Customize panel, calendar, themes,
desktop effects, applets, and extensions.
Overview Mode
New views all over the world have been added to Cinnamon. These two
methods are “Expo” and “Scale,” which can be configured in Cinnamon
Settings.
Audio Enhancements
Audio settings are completely rewritten in Python to provide additional
features such as notifying users when no input device is available on the
custom page, visual changes in the audio settings panel, the ability to mute
all volume controls simultaneously, with additional adjustments to the
volume slider. / mute buttons, check the audio dialog boxes, and add the
appropriate icons.
Touchpad Settings
Cinnamon users can gain full control of the touchpad pad available on
their previously unlocked portable computer. The center-click action is
fixed in the image frame.
CHAPTER SUMMARY
In this chapter, we have covered the introduction of Cinnamon with its
features, history, core projects, applications, and development. Also, we
have a separate section where you get a history of Cinnamon versions.
Cinnamon has features that DEs like GNOME and Unity do not have.
Cinnamon is custom-made for DE and does not require any external plu-
gin, widget, or tweak tool to customize the desktop. Cinnamon can benefit
any new Linux user with fantastic and necessary features.
Chapter 8
LXDE Desktop
Environment
IN THIS CHAPTER
¾ Introduction history
¾ Core components
¾ Installation of LXDE in Ubuntu
¾ Reasons to use LXDE
¾ Lubuntu distribution
INTRODUCTION
LXDE (abbreviation for Lightweight X11 Desktop Environment) is a
lightweight desktop operating system like Unix and Unix, such as BSD
and Linux. It is designed to use fewer system resources than other desk-
top environments like GNOME. Initially approved by Taiwanese pro-
gram editor Hong Jen Lee in 2006, it was written in C programming
language using the GTK tool kit; the new version, released in July 2013,
is based on Qt.
The popularity of LXDE has grown slightly since its first release and is
now the default desktop distribution platform for several Linux, includ-
ing Lubuntu, Knoppix, and Raspbian. Its tests have shown that it requires
about half as much RAM compared to operating systems. It also uses less
power, making it a good choice for portable computer users who want to
extend their battery life.
Overview
LXDE is written in C programming language, using the GTK 2 tool kit,
and works on Unix and other POSIX compliant platforms, such as Linux
and BSD. The LXDE project aims to provide faster and more powerful
desktop space. In 2010, experiments suggested that LXDE 0.5 had the low-
est memory usage of the four most popular desktop devices (GNOME
2.29, KDE Plasma Desktop 4.4, and Xfce 4.6). It consumed less power sug-
gesting that Linux-distributed mobile computers use LXDE 0.5 and dis-
charge their batteries slower than those at other desktop locations.
LXDE uses output extracts from its components (or groups that have
a corresponding dependency). The window manager (default) used is
Openbox but can configure a third-party window manager with LXDE,
such as Fluxbox, IceWM, or Xfwm. LXDE combines the GPL licensed
code with the LGPL licensed code.
After installing the basic Gentoo system and the X server, there are sev-
eral options to consider in terms of which site has the best images to use.
Many options are available, from minimalistic window managers such as
Openbox to desktop environments like KDE and GNOME. Some users
may want a lightweight image area but do not wish to install and config-
ure each component, like Openbox. For some time, users in this position
have been installing Xfce because it fits the definition of a lightweight area
and comes with a suite of light applications. While Xfce provides a fully
integrated environment without the extensive use of the KDE or GNOME
application, it can rely on the heavy side. Finally, another Xfce version has
been created: Lightweight X11 Desktop Environment or LXDE for short.
Users, however, who do not like all those dependencies (dbus, polkit, etc.)
which are pulled by lxsession should check out Lumina.
HISTORY
The LXDE was started in 2006 by Taiwanese program coordinator Hong
Jen Yee, also known as PCMan, when he published PCManFM, a new
file manager and the first LXDE module. Compared to DistroWatch’s
LXDE Desktop Environment ◾ 219
Qt Port
LXDE is heading to Qt in 2013 and is trying to work with Razor-qt,
another lightweight desktop. Hidden characters in the application menu
are in traditional Chinese. On July 3, 2013, Hong announced the full Qt
port of the LXDE suite, and on July 21, Razor-qt and LXDE announced
plans to integrate two projects. This integration meant that GTK and Qt
versions would be available for a long time, but, in the end, all the original
team efforts were focused on the Qt port, LXQt.
CORE COMPONENTS
There are various core components of Qt port in LXDE as given below.
Usage
Openbox allows right-clicking (or another component) “root menu” on
desktop and enables users to configure windows management. When the
window is lowered, it becomes invisible. To highlight windows, use the
Alt + Tab or desktop menu, which is accessible by right-clicking (or, again,
any other user-binding object) menu. Extending Openbox and other small
programs that add icons, task layers, launchers, eye candy, and more like
driver restore are common.
Features
The Openbox menu system has a way of using flexible menus. It is done
by accepting the output of the text and using the output as a menu
source. Each time the user points his mouse to the submenus, the script is
restarted, and the menu is restarted. This capability allows users and soft-
ware developers to have more flexibility than the usual menus available
from other window managers.
Features
• Full support for GVfs with seamless access to remote file systems
• Twin panel
LXDE Desktop Environment ◾ 221
• Thumbnail images
• Desktop Management – displays a background image and desktop
• Bookmarks
• Many languages
• Browsing tabs (such as Firefox)
• Volume management such as mount/unload/unload, requires gvf
• Drag and drop support
• Files can be dragged between tabs
• File organization (Default application)
• Provides the following views: thumbnail, merge, detailed list, thumb-
nail, and left-sided scrub
Merge Flags
Features
LXDE Desktop.
Current Developments
Despite the team moving to LXQt development, some developers have
continued to keep LXDE on GitHub, and, as of March 2021, there is a new
commitment to supporting the latest version of GTK 2. From July 2019,
the LXTerminal release is based on GTK 3 to avoid relying on the old VTE
lib.
GTK 3 Port
As of May 2020, there is a GTK 3 test port built by the Arch Linux commu-
nity. GTK 3 versions are already designed for the following components:
LXAppearance, LXAppearance-ObConf, LXDE-common, LXDE-icon-
theme, LXDM, LXhotkey, LXInput, LXLauncher, LXPanel, LXRandR,
LXSession, LermSession, PCerminal, and Open. Another advantage of
using GTK 3 is that the GTK 3 systems operate traditionally in Wayland.
PCManFM is a popular file manager that can be used with tile window
managers, so having PCManFM native Wayland is helpful for people who
use Sway.
228 ◾ Linux
Default Desktop
• Knoppix
• LXLE Linux
• Peppermint OS
• Raspberry Pi OS
• Trisquel Mini
• Arch Linux
• Artix Linux
• Debian
• Devuan
• Fedora
KNOPPIX
It is a Debian-based operating system designed to run directly on a CD/
DVD (Live CD) or USB flash drive (Live USB), the first of its kind in any
application. Knoppix was founded, and named after him, Linux mentor
Klaus Knopper. It is loaded from the removable drive and then pressed
into a RAM drive when you start the program. Decompression is notice-
able and on the way.
Although KNOPPIX is primarily used as a Live CD, it can also be
installed on a hard disk as a standard application. Computers that support
the launch on USB devices can download KNOPPIX from a live USB flash
drive or memory card. There are two main programs: standard compact-
disc (700 megabytes) and DVD (4.7 gigabytes) “Maxi” edition. The CD
edition has not been updated since June 2013 until recently. From version
9.1, CD images are also released. Each major program has two language
programs: English and German.
KNOPPIX usually contains free and open-source software, but it also
includes some proprietary software, as long as it meets certain conditions.
Knoppix can easily copy files to hard drives with inaccessible applications.
To quickly and safely use Linux software, Live CD can be used instead of
installing another OS.
LXDE Desktop Environment ◾ 229
More than 1,000 software packages are included in the CD edition, and
more than 2,600 packages are included in the DVD program. Up to 9 GB
can be stored on DVD in compressed format. These packages include:
• Terminal server
LXLE Linux
LXLE is a Linux distribution based on Ubuntu/Ubuntu LTS, using the
LXDE desktop environment. The LXLE is a lightweight distro focused on
visual aesthetics, working well for old and new hardware.
Peppermint OS
It is a Debinu Stable-based Linux distribution using the Xfce desktop. The
Peppermint OS is a Debinu Stable-based Linux distribution, using the
Xfce desktop environment. It aims to provide a standard setting for new-
comers to Linux, which requires low hardware resources to work.
Peppermint OS was initially conceived at the Black Rose Pub in
Hendersonville, NC (North Carolina), the USA, at night drinking and dis-
cussions about the future of the Linux desktop. Peppermint was initially
designed to be a social media platform.
The construction of the alpha development included possible guidelines
before the decision to install Lubuntu was made. There was a little exper-
imentation with KDE, E17, Adobe Air, and several code bases between
January and February 2010. Alpha was built using the Lubuntu 10.04 code
base starting in March 2010. Peppermint was released for a small group of
independent beta testers.
Releases
Peppermint One was released On May 9, 2010, and it received more than
25,000 downloads. It quickly passed its webmaster and switched to VPS.
NET. VPS.NET became the first sponsor of the Peppermint project.
Peppermint Ice was released on June 20, 2010. Play Chromium as the
default browser and install a blue and black theme to separate it from
Peppermint One.
Peppermint Two was released on June 10, 2011, features from two pre-
vious programs, Packing Chromium as its default browser next to the Ice
program for creating Direct Site Browsers. It was also the first Peppermint
version in both 32 and 64-bit versions.
On July 23, 2012, Peppermint Three was released. Chromium stable
storage is automatically enabled; specific theme and fixed artwork; a few
LXDE Desktop Environment ◾ 231
default web applications in the menu; posted via GWoffice; and GIMP 2.8
added to the Peppermint repository.
On June 13, 2013, Peppermint Four was released. Peppermint Four
was based on code Ubuntu 13.04 and used the LXDE desktop space
with Xfwm4 instead of Openbox as a window manager. Model games,
Entanglement, and First Person Tetris have been added. Added are meta-
packages of famous works such as photography and photography in the
Featured Software Manager section.
On June 23, 2014, Peppermint Five was released.
With this release, we are preparing for the future. The state of tech-
nology is constantly changing, and we are constantly responding
to meet the needs of our users. We are 100% driven to deliver a
fast, secure, and widely available OS. Peppermint Five is another
step forward.
Shane Remington, COO of Peppermint OS, LLC
Raspberry Pi OS
The Raspberry Pi OS (formerly known as the Raspbian) is a Debian-based
Raspberry Pi program. Since 2015, the Raspberry Pi Foundation has offi-
cially provided as the primary operating system for the Raspberry Pi fam-
ily of single-board computers. Mike Thompson and Peter Green created
the first Raspbian version as a standalone project. The first building to be
completed was completed on July 15, 2012.
Raspberry Pi OS is a highly developed Raspberry Pi line for single-
board integrated computers with ARM CPUs. It works on all Raspberry
Pi except Pico microcontroller. Raspberry Pi OS uses the modified LXDE
as its desktop component with an Openbox packaging window manager
and unique themes. Distribution is accompanied by a copy of the algebra
program Wolfram Mathematica, Minecraft version called Minecraft: Pi
Edition (note that Minecraft: Pi Edition is no longer included as a Debian
bullseye update), and a lightweight version of Chromium web browser.
Versions of Raspberry Pi
Raspberry Pi OS has the following installation options with two 64-bit
options:
LXDE Desktop Environment ◾ 233
All versions are still distributed as .img disk image files. These files can
flash to microSD cards where Raspberry Pi OS is running. In March 2020,
the Raspberry Pi Foundation published the Raspberry Pi Imager. This cus-
tom disk allows the installation of Raspberry Pi OS and other Raspberry
Pi-enabled applications, including RetroPie, Kodi OS, and others.
Features
History
The project started in 2004 with Vigo University’s support for Galician
language for educational software. It was officially launched in April 2005
with Richard Stallman, founder of the GNU Project, as a special guest.
According to project director Rubén Rodríguez, Galician’s support has
sparked interest in South American and Mexican communities of immi-
grants from Ourense Province. In December 2008, Trisquel was added
by the Free Software Foundation (FSF) to its Linux-approved list of Free
Software Foundation distributions.
Versions
Five basic versions are available, as given below.
1. Trisquel
2. Trisquel Mini
3. Triskel
4. Trisquel Sugar TOAST
5. Trisquel NetInstall
There are various other alternate desktops for LXDE, as given below.
Firefox web browser, Evolution mail, K3b disc burner, VLC media
player, GIMP image editor, and Evince document viewer. Debian is a
popular choice for servers, such as part of the LAMP stack operating
system.
Features
1. A few flavors of Linux kernel are available in each port. For exam-
ple, the i386 port tastes IA-32 PCs that support Local Extension and
real-time computers, older PCs, and x86-64 PCs. Linux kernel does
not contain firmware without resources, although such firmware is
available for free packages and other installation media.
2. Debian offers CD and DVD images specially designed for XFCE,
GNOME, KDE, MATE, Cinnamon, LXDE, and LXQT. MATE is
officially supported, while Cinnamon support is added with Debian
8.0, Jessie. Unusual window managers like Light, Openbox, Fluxbox,
IceWM, WindowMaker, and others are available.
3. Multimedia support has been a problem for Debian regarding codecs
threatened with possible copyright infringement, without resources,
or under limited licenses. Although packages with distribution
problems may enter the uncomfortable area, libdvdcss is not hosted
on Debian.
LUBUNTU DISTRIBUTION
It is a Ubuntu-based lightweight Linux distributor and uses the LXQt
desktop instead of GNOME desktop. Lubuntu was initially managed as
“light, resource-efficient, and energy-efficient,” but now aims at “efficient
but standard distribution focused on getting out of the way and allowing
users to use their computer.” Lubuntu initially used the LXDE desktop,
but moved to the LXQt desktop with Lubuntu 18.10 in October 2018, due
to slow LXDE development, loss of GTK 2 support, and being active, and
stable LXQt development without GNOME reliance. The name Lubuntu is
a portmanteau for LXQt and Ubuntu. The name LXQt is derived from the
combination of the LXDE and Razor-qt project, while the word Ubuntu
means “humanity for others” in Zulu and Xhosa. Lubuntu received offi-
cial recognition as an official member of the Ubuntu family on 11 May
2011, starting with Lubuntu 11.10, released on October 13, 2011.
History
The LXDE desktop was first made available to Ubuntu in October 2008,
with the release of Ubuntu 8.10 Intrepid Ibex. These earlier versions of
Lubuntu, including 8.10, 9.04, and 9.10, were not available as separate
downloads for ISO images and can only be installed on Ubuntu as differ-
ent lubuntu-desktop packages from Ubuntu repositories. LXDE can also
be added to previous versions of Ubuntu.
In February 2009, the LXDE project became a self-care project within
the Ubuntu community leading to a new official release called Lubuntu.
In March 2009, the Lubuntu project was launched on Launchpad by Mario
Behling, which included the logo for the first project. The project estab-
lished an official Ubuntu wiki project page, listing applications, packages,
and components.
In August 2009, the first ISO test was released as a Live CD, with
no installation option. A preliminary test in September 2009 by Linux
Magazine reviewer Christopher Smart showed that Lubuntu’s RAM was
LXDE Desktop Environment ◾ 239
LIST OF APPLICATIONS
Lubuntu LXDE versions include the following applications:
User Apps
• Guvcview: webcam
• LightDM: login manager
• Light Locker: screen lock
• MPlayer: video player
• mtPaint: graphics
• Pidgin: instant messenger and microblogging
• scrot: screenshot tool
• Simple scanner: scanning
• Sylpheed: email client
• Synaptic Software Center: package managers
• Transfer: bittorrent client
• Update Manager
• Startup Disk Creator: USB ISO author
• Wget: command line web downloader
• XChat: IRC
• Xfburn: CD burner
• Xpad: recognition
From LXDE
• LXSession
• Edit LXSession
• LXShortCut
• LXTask
• LXTerminal
• Menu-Cache
• Openbox: window manager
• PCManFM: file manager
Up to and including the 18.04 LTS, Lubuntu was also able to access Ubuntu
storage through Lubuntu Software Center, Synaptic package manager, and
APT that allows installation of any applications available on Ubuntu.
CHAPTER SUMMARY
In this chapter, we have covered LXDE with its features, along with his-
tory, core projects, applications, version history. We have a separate sec-
tion where you get a history of LXDE versions.
Chapter 9
Other Desktop
Environments
IN THIS CHAPTER
¾ LXQt desktop environment
¾ Enlightenment desktop environment
¾ Pantheon desktop environment
History
LXDE developer Hong Jen Yee tried Qt in early 2013 and released the first
version of Qt-based PCMan File Manager on March 26, 2013. He clarified,
however, that this means no departure from GTK to LXDE, saying that
“GTK and Qt versions will stay together.” He later installed the Xrandr
front-end LXDE on Qt.
On July 3, 2013, Hong Jen Yee announced the Qt port of the full LXDE
suite, and on July 21, 2013, Razor-qt and LXDE announced their deci-
sion to merge the two projects. This integration meant that GTK and Qt
versions lasted only a short time, but eventually the GTK version devel-
opment was canceled, and all efforts were focused on the Qt port. The
combination of LXDE-Qt and Razor-qt was renamed LXQt, and the first
release, version 0.7.0, was made available on May 7, 2014.
With the release of version 0.13 on May 21, 2018, the LXQt project was
officially separated from LXDE by moving to a separate GitHub organiza-
tion. It uses Openbox as its default window manager.
In order to differentiate between LXDE and LXQt, we must first talk
about a toolkit. The toolkit provides a way to draw the app’s visual inter-
face consistently. In addition to the toolkit, engineers should create and
configure toolbar buttons and drop-down menus for each application. On
Linux, there are two main tools: GTK + and Qt.
LXDE uses GTK + 2, which is a very old code. GTK + 3 has been
around since 2011. LXDE Maintenance Hong Jen Yee had problems with
some changes to the GTK + 3, so he released a GT-based hole in 2013.
Shortly after that, a Qt LXDE version with a separate desktop interface
called Razor-qt merged to form LXQt.
What Is LXQt?
Desktop location is what you see on screen. The panel is a way to organize
applications in windows and allows you to move them around.
Windows and macOS all have desktop space. On Linux, there are mul-
tiple desktop areas. You can change desktop interactions using the same
program, background library, and Linux kernel. Most Linux-based appli-
cations prefer a desktop environment that will be used automatically.
Some allow you to select your favorite desktop location, while others are
outside the desktop area. There is a human personality called Lubuntu
that provides a desktop environment for LXQt. There is also the LXQt
version of Fedora. If you are using another Linux-based operating system,
you must install LXQt.
Other Desktop Environments ◾ 245
SOFTWARE COMPONENTS
LXQt consists of many software components depending on Qt and KDE
Frameworks 5.
Qterminal
QTerminal is a lightweight Qt terminal simulator based on QTermWidget.
It is the ultimate open-source emulator, specially designed for Linux dis-
tribution, built with advanced features including, split end, multiple tab,
custom shortcut, and unique color scheme.
The only lxqt-build-build tool bonds represent the architectural
dependence. All major Linux and BSD platforms offer the official binary
packages. Just use package manager to search for the qterminal charac-
ter unit.
Falkon
Falkon is a KDE web browser that uses the QtWebEngine rendering
engine, known as QupZilla. It aims to be a lightweight browser avail-
able in all major forums. This project was initially started for educa-
tional purposes only. But from its inception, Falkon has grown into a
rich browser. Falkon has all the standard functions you expect in a web
browser. It includes bookmarks, history (both and sidebar), and tabs.
It automatically enables you to block ads with the built-in AdBlock
plugin.
History
The first version of QupZilla was released in December 2010 and was writ-
ten in Python with PyQt4 binding. After a few versions, QupZilla is com-
pletely rewritten in C ++ with Qt Framework. The first public release was
1.0.0-b4. Up to version 2.0, QupZilla used QtWebKit. QtWebKit has now
been withdrawn, and newer versions use QtWebEngine.
sddm
Simple Desktop Display Manager (SDDM) is the display manager (image
entry program and session manager) for X11 and Wayland window sys-
tems. SDDM was written from scratch in C ++ 11 and supported themes
with QML. SDDM is a free and open-source software subject to GNU
General Public License version 2 or later.
Other Desktop Environments ◾ 247
lximage-qt
LXImage-Qt is a Qt port for LXImage, a simple and fast image viewer.
Features
lxmenu data
The LXMenu Data Package provides the files needed to create desktop
menus that are compatible with LXDE Freedesktop.org. This package is
known for its build and performance using the LFS-11.0 platform.
lxqt-about
It is a chat window that provides information about LXQt and its operat-
ing system. The library is provided by all other major Linux components
such as Arch Linux, Debian, and openSUSE. Just use the package manager
to search for the lxqt-about character unit.
lxqt-admin
This repository provides two GUI tools to configure LXQt operating sys-
tem settings.
248 ◾ Linux
Usage
Like the same tools provided by lxqt-config, lxqt-admin tools can be
launched from the Configuration Center and in the main menu – Favorites
– LXQt settings. Real use should be self-explanatory. Using settings GUI
verification agent for active polkit is introduced to get root password.
lxqt-archive
Simple and easy Qt file storage. The main I/O functions are transferred
from Engrampa (Gnome File Roller fork). This is just the result (archive)
of archiving programs such as tar and zip.
The supported file types are as follows:
.taz) * lrzip (.tar.lrz, .tlrz) * lzip (.tar.lz, .tlz) * lzop (.tar.lzo, .tzo) * 7zip
(.tar.7z) * xz (.tar.xz)
22. Individual files are compressed with gzip, bzip, bzip2, compress,
lrzip, lzip, lzop, rzip, xz.
lxqt-common
This collection includes a number of support files used by various LXQt
components. Among these are image files, themes, desktop installation
files according to the XDG Desktop Menu Definition, template configura-
tion files in various components such as PCManFM-Qt or Openbox win-
dow manager, and script startlxqt used to start LXQt times. The LXQt
logo was designed by @ Caig and licensed CC-BY-SA 3.0. The LXQt theme
“Plasma” is based on the Next KDE Plasma theme by the KDE Visual team.
The Openbox window manager automatically stores user settings in
the $ XDG_CONFIG_HOME / openbox / rc.xml file, usually / home /
<user> /.config/openbox/rc.xml. When Openbox is used as the LXQt
window manager, the $ XDG_CONFIG_HOME / openbox / lxqt-rc.xml
file is used instead. This allows you to keep LXQt-specific settings simul-
taneously using different settings when Openbox is e. g. is used in “only”
sessions of a private window manager outside of any desktop area. LXDE
uses the same way the custom configuration file $ XDG_CONFIG_HOME
/ openbox / lxde-rc.xml.
In order to maintain a consistent return, those configuration files are
handled by LXQt as follows:
lxqt-config
This repository provides several tools for configuring both the LXQt and
the underlying operating system. On the other hand, it has several GUI
tools to customize topics such as standard appearance, interface devices,
or screen resolutions. On the other hand, the GUI “Configuration Center”
summarizes all those configuration tools and counterparts of other LXQt
components or third-party applications.
Brightness
Brightness settings for output devices. Technically, the colors are adjusted
to mimic different brightness if the LXQt operating system does not allow
you to adjust the light itself.
File Associations
Provides MIME types for applications used to handle them. Binary
lxqt-config-file-associations.
Locale
Locale used within the LXQt session. This GUI sets the natural variables
known as LANG or LC_ *. Settings apply to the entire session, i.e., to pro-
grams running within LXQt sessions but not to LXQt sessions, too. Binary
lxqt-config-locale.
Monitor Settings
Adjusts screen resolutions, screen layouts, and other preferences.
Other Desktop Environments ◾ 251
lxqt-globalkeys
This room provides tools for setting up global keyboard shortcuts for
LXQt sessions, which run for the entire LXQt session and are not limited
to separate applications. The main components are two lxqt-globalkeysd
binary and lxqt-config-globalkeyshortcuts. Lxqt-globalkeysd works
similarly to a daemon called the LXQt Module and does real work. The
GUI lxqt-config-globalkeyshortcuts is used to customize the shortcut
settings.
Binary Packages
Official binary packages are offered by all major Linux and BSD shares.
Just use package manager to search for lxqt-globalkeys.
Usage
Windows administrators can provide shortcuts and also their range
may exceed one of the lxqt-global keys in LXQt sessions. It resulted in a
warning message “Global shortcut C + A + d + cannot be registered,” see
https://github.com/lxqt/lxqt/issues/1032. As shown in this version, lxqt-
notificationd will display a warning in the event of such a conflict. Users
can decide if they want the said shortcut handled by the appropriate win-
dow manager lxqt-globalkeys keys.
lxqt-globalkeys
Daemon-like lxqt-globalkeysd can be modified from the “Basic Settings”
section in the LXQt Session Settings session setting for lxqt-session.
Configuration dialog “Global Activity Manager” (binary lxqt-config-glo-
balkey shortcuts) used to customize shortcuts can be opened in the main
menu panel – Preferences – LXQt Settings – Shortcut Keys and provided
by the lxqt-config Setup Center.
lxqt-notification
Lxqt-notificationd is the use of the LXQt daemon according to the Desktop
Notifications Specification. This specification explains how to display
notifications in pop-up windows on desktops. Notices like these are fre-
quently used in chat or email clients to notify incoming messages, media
players to signal the start of another track but also on the desktop itself
to indicate volume changes or the like. Lxqt-notificationd combines dual
252 ◾ Linux
lxqt-qtplugin
This repository provides library libqtlxqt to integrate Qt and LXQt. With
this plugin, all Qt-based programs can use LXQt settings, as a thumbnail
theme. Official Binary Packages are offered by all major Linux compo-
nents such as Arch Linux, Debian (like Debian stretch only), Fedora, and
-openSUSE. Just use your package manager to search for the lxqt-qtplugin
character unit.
lxqt-panel
The LXQt panel is the default bar at the bottom of your screen. The panel
contains an application menu, desktop switch, instant launch bar, task bar,
system tray containing applets, and clock. The panel is highly customiz-
able with several settings and plugins detailed in the customization sec-
tion and also contains how to add or remove apples.
lxqt-runner
Lxqt-runner provides GUI from desktop and allows application launch or
program shutdown. The calculation function is also used. Technically, it
contains a binary lxqt-runner. Binary is used similarly to a daemon called
the LXQt Module and delivers the GUI on hitting the default keyboard
shortcut.
lxqt-session
Repository lxqt-session provides tools for handling LXQt sessions. First
there is the lxqt-session session manager. Binary was introduced at the
beginning of the LXQt session and is responsible for introducing and
monitoring all the other components that make up the sessions. The GUI
“LXQt Session Settings” (lxqt-config-session binary) is used to adjust
various settings that affect the session, e.g., any windows manager can
use any applications that should start automatically. Binary lxqt-leve is
about interrupting or interrupting times. It comes with a few options that
reflect the action we are starting, e.g., --leave, --hibernate, --reable, or
--restart.
Other Desktop Environments ◾ 253
LXQt Desktop.
254 ◾ Linux
History
Rasterman (Carsten Haitzler) released the first edition of Enlightenment
in 1997. The 0.17 version, also called the E17, was upgraded for 12 years
from December 2000 until December 21, 2012, when it was officially
released. During development it was also renamed as DR17 (Development
Release 17). It was completely reprinted on DR16 and designed to be a
complete desktop shell, based on the new Enlightenment Foundation
Libraries (EFL). The E16 is in active development outside of the E17, reach-
ing a record 1.0 in 2009 (1.0.23 from 2021). Bodhi Linux was built next to
the Enlightenment 17 desktop, but put it on a fork to build a Moksha desk-
top. Elive Linux also used the E17 fork as its primary desktop until 2019,
when the 3.7 series was built. The current version is E25.
Version
Here is the list of versions of the enlightenment desktop environment with
its features as given below,
E16
E16 provides features that allow users to create a grid of workspaces known
as “virtual desktops.” It allows switching between them, which is achieved
by hurling the mouse cursor. You can have up to 8 × 8 desktops in a single
grid, and up to 32 grids are possible, making 2,048 possible workspaces.
You can enable a sort of “map” of the desktops, called the pager if they get
lost. It also provides the ability to put windows in groups “iconification,”
which is similar to minimizing but the windows are stored in “iconboxes”
that can be moved, the ability to change the type of or remove altogether
the borders and title bars, advanced keybinding settings to allow the use
of Enlightenment solely with a keyboard a compositor with effects such as
fading and transparency.
Other Desktop Environments ◾ 255
E17
The E17 has many key features such as the following:
3. Thumbnails on desktop
10. Level: supports all required standards (NetWM, ICCCM, XDG, and
more)
E21
3. Wizard development
E22
E23
Enlightenment Desktop.
Other Desktop Environments ◾ 257
History
Unlike many other desktop environments, Pantheon is very close to the
Linux operating system (more commonly known as “distribution” or “dis-
tro”). The engineers behind Elementary OS are the same people behind
the Pantheon. The Pantheon started as another way people could put it on
Ubuntu. Ubuntu is widely regarded as the most popular Linux version of
personal computers if that name is unfamiliar. At that time, it used a desk-
top space known as Unity. That link had a panel at the top and a separate
icon dock at the bottom left of the screen. The design encouraged people
to find and unlock the software by searching.
The Pantheon was no other way to Unity than GNOME, one of the old-
est and most established desktop centers for free desktop and open source.
Elementary OS founder Daniel Fore and others knew they could not
change GNOME to their favorite, so they used multiple building blocks
to build something of their own. Their creation, Pantheon, is written with
GTK + and Vala. Unlike other developed methods like GNOME and the
KDE Plasma desktop, which you can install on almost any Linux version,
the Pantheon is most visible on Elementary OS only. That being said, you
do not need to use Elementary OS to install the Pantheon. As a free proj-
ect, some can use and redistribute the code as they wish.
The Pantheon desktop environment is built on the GNOME software
base, GTK, GDK, Cairo, GLib (GObject and GIO), GVfs, and Tracker. The
desktop allows multiple workplaces to schedule user activity. Pantheon
apps designed and developed by foundations include:
Bryan Lunduke of Network World wrote that the Pantheon desktop envi-
ronment, the first OS platform, was among the best of 2016. Pantheon is
also being released as an ongoing desktop of choice of GeckoLinux.
Development
• Jupiter
• 0.2 Luna
• 0.3 Freya
• 0.4 Loki
• 5.0 Juno
• 5.1 Hera
• Odin
• 6.1 Jólnir
Features
The New Interface
Starting with the user interface, we discover a new Pantheon desktop.
Pantheon is a home desktop explicitly designed for the first OS, which
Other Desktop Environments ◾ 259
has gained a lot of flow. This clean and modern desktop may be one of the
main reasons for the initial success.
Dark Mode
Pantheon finally gets black mode. Everything looks clean and advanced
on the first OS while all the operating system applications and applica-
tions installed to follow this black mode maintenance process is made so
as not to force third-party applications to use this black mode which could
lead to a bad UI. Black mode is just recommended. You can also set a dark
mode to enter at sunset or from time to time.
Performance
While playing with the original OS 6, we noticed a slight increase in operat-
ing times. Most automated system apps also have Flatpacks and Flatpacks
with the original head up. They have all their dependencies attached to
them. They also have to be read and uploaded to memory when you click
the app icon.
CHAPTER SUMMARY
In this chapter, we have covered three DE introductions and its features,
history, core projects, applications, and version history. We have provided
a separate section where you get history of their versions.
Appraisal
U buntu and other Linux distro systems took the open-source and
the IT world by storm in the early years. They support various desk-
top environments such as GNOME, KDE, MATE, and more. The oper-
ating system could have grown into a fully featured desktop and server
offering that has won users’ hearts globally. Besides the solid technical
platform and impressive dedication to quality, desktop environment (DE),
e.g., MATE, GNOME, LXDE, KDE, enjoys success because of its vast
community of enthusiastic users who help support, document, and test
every point of Linux landscape. The term used in this chapter is the desk-
top environment.
So what is DE? A desktop environment is the desktop metaphor of a
bundle of programs running on top of an operating system that shares a
standard graphical user interface (GUI). It is described as a graphical shell.
The desktop environment mainly was on personal computers until mobile
computing. Desktop GUIs help the user quickly access and edit files, while
they usually don’t provide access to all of the features in the underlying
operating system. Besides, the traditional command-line interface (CLI)
is still used when complete control over the operating system is required.
It consists of various icons, windows, toolbars, folders, wallpapers, and
desktop widgets. A GUI provides drag and drop functionality and other
features that complete the desktop metaphor. A desktop environment
aims to be a way for the user to interact with the system using concepts
similar to those used to interact with the rest of the world, such as buttons
and windows. This is the piece users are interacting with. There are many
desktop areas (GNOME, Cinnamon, Mate, Pantheon, Enlightenment,
KDE, Xfce, etc.). Each desktop includes built-in applications (such as file
managers, configuration tools, web browsers, and games).
You have the official guide to these unique desktop environments in
your hands. Each of us working on this book has shown a high level of
261
262 ◾ Appraisal
technical competence and shares this knowledge with you all. We gath-
ered together to create a book that offers a solid understanding of the
essential points of Ubuntu and explains the fundamentals along with the
other LXDE, Budgie, Cinnamon, or other details.
This book varies in the coverage of various topics. This is intentional.
Other books do not cover some topics, and those topics deserve more
coverage here. There are some topics that power users master. Other top-
ics are things the power users should know about. They can understand
some history, some other options, or have what they need to listen to fur-
ther discussions with different technical views without being completely
confused.
This book is planned for intermediate and advanced users or those who
want to become middle and advanced users. Our goal is to give you the
right direction, to help you enter the higher stages by telling you to use as
many tools and ideas as possible. We give you some thoughts and meth-
ods to consider so that you can seek out more. Although the content of
this book is for intermediate to advanced users, new users who pay atten-
tion will benefit from each chapter as all chapters are related. The central
pointer is that more detailed or related information is provided at the end
of each chapter.
This book helps you to learn these skills and tells you how to learn more
about your system, Linux, with the software including Ubuntu Distros
with the desktop environment. Most importantly, it enables you to over-
come your fear of the system by telling you more about it and how it works.
You can also install other Linux distros like Fedora, OpenSuse, Manjora,
etc.
This book is not a pure reference book but properly guides you with
step-by-step procedures for performing tasks. This book is organized by
topics and includes many useful commands.
Chapter 1 discusses the basic understanding of the desktop environ-
ment, and its features also have some specific terms like GUI, CLI, TUI.
The chapter describes the vast resources available to support this book.
You will also get a brief knowledge of DE history, features, and some pros
and cons.
Chapter 2 gives a quick review of the KDE Plasma introduction
installation, describes valuable commands such as apt-get snapd, and
gives some brief knowledge of the user interface, core projects, and ver-
sion history environment system.
Appraisal ◾ 263
265
266 ◾ Bibliography
A upgrades, 181–182
using APT, 182–185
Ambient, 15–16
Budgie-indicator-applet 0.7.0, 179
Android, 14
Budgie Panel Dock Mode, 185–186
Applet Online Radio, 143–144
Budgie-remix 16.04, 169–170
Applications, Linux component, 3
Budgie-remix 16.10, 170–171
Archive (thunar-archive plugin), 111
Budgie-remix 17.04, 171–172
Arch Linux, 79–80, 146, 235
Budgie Welcome, 182
Artix Linux, 235
Bugie Desktop, 16
Atril, 130, 138–139
Bulk Renamer, 111
B
C
Binary lxqt-config-file-associations, 250
Binary lxqt-config-input, 250 Caja file manager, 136–137, 165
Binary lxqt-config-locale, 250 Calligra Suite, 35
Binary lxqt-config-monitor, 250 CDM, 147
Blueberry, 214 CentOS (Community Enterprise
Bootloader, 2 Operating System), 79
Brisk Menu, 145–146 Cinnamon, 16. see also specific Cinnamon
Budgie 19.10, 177–178 entries
Budgie Applets, 177 Cinnamon applets, 204–205
Budgie Calendar Applet, 179 Cinnamon control center, 194, 212–213
Budgie desktop environment, 167–168 Cinnamon-desktop, 209
bug repair and cleaning, 180–181 Cinnamon desktop environment
features and development applications, 205
Budgie Panel Dock Mode, 185–186 benefits, 214
built-in security, 187 audio enhancements, 216
flexibility, 187 consolidation, 215
games, 187–188 discovery, 215–216
Intellihide, 186 extension, 215
migration, 188 flexibility, 215
night light, 186–187 overview mode, 216
settings app, 187 settings editor, 216
GNOME 40 support, 181 speed, 215
Raspberry Pi, 180–181 touchpad settings, 216
Ubuntu Budgie (see Ubuntu Budgie) visible connector, 215
269
270 ◾ Index
S releases, 168–179
Ubuntu Budgie 17.10, 172–173
SDDM, 154, 159–160
Ubuntu Budgie 18.04, 173–175
Share Plugin (thunar-shares-plugin), 111
Ubuntu Budgie 19.04, 175–177
ShowImg, 34
Ubuntu Budgie 20.10, 178–179
Simple Desktop Display Manager
Ubuntu Budgie 21.10, 182
(SDDM), 223, 246
Ubuntu Budgie Team Wallpapers 19.04,
Slick-greeter, 214
176
Solid, device assembly frame, 32–33
Ubuntu GNOME, 71–72, 81–82
Solus project, 167
distribution, 72
Sonnet, 33
free software, 72
Step, KDE applications, 34
in Linux, 76–77
Structural elements, of DE
open-source Linux desktop
controls (widgets), 8–9
environment, 72
menu, 9–10
remix, 76
tabs, 9
Ubuntu KDE, 19
thumbnail (icon), 8
distribution, 20
window, 7–8
free software, 20
SuperKaramba, 29
open-source Linux desktop
environment, 20
T
Tabs, 9 V
Tasksel, 66–67
Budgie desktop environment, 184 VCS Plugin (thunar-vcs-plugin), 112
in MATE Desktop, 134–135 Volume Manager (thunar-volman), 112
Tbsm, station-based session manager, 153
Terminal user interface (TUI), 23, 75, 193 W
terminology-gitAUR, 155
Text-based User Interface. see Terminal Wiki2Learn, 35
user interface Window, 7–8
ThreadWeaver, 33 Window, icons, menus, pointer (WIMP), 6
Thumbnail (icon), 8 post-WIMP interface, 7
Thunar file manager, 111–112, 122 Window Shuffler, 178–179
Tilix Quake mode, 173 Windows Shell, 14–15
Trinity Desktop Environment, 48–49
Triskel, 234, 235
X
Trisquel, 233–234
history, 234 X-Apps, 196–197, 213–214
versions, 234–235 X Display Manager Control Protocol
Trisquel Mini, 234–235 (XDMCP)
Trisquel NetInstall, 234, 235 accessibility, 161
Trisquel Sugar TOAST, 234, 235 configuration, 160–161
Tumbler, thumbnail service, 118–119 notifications, 161
Ubuntu MATE workstations, 161–162
X server, 160
U
XDM, 154, 160
Ubuntu Budgie Xed, 196, 205, 214
history, 168 xfce4-appfinder, program finder, 113–114
Index ◾ 277