Desktop environments

Linux is very flexible when it comes to how graphical desktops looks like. However almost all make use of X. To explain in a sentence what is X, I would say X is the infrastructure needed to run graphical programs, without having any graphical software. So the various desktops make use of this infrastructure that forms a nicely powerful layer to the hardware.

The desktop that you mostly use and where you have discovered all features needed is probably the one you like the most. Therefore it is recommending a desktop might never be based on a neutral opinion.

It is a good idea to use applications not thighed to the desktop environment, so the work and data will be still available on major version updates or desktop changes.

KDE

KDE is a full featured desktop using the GPL version of the QT libraries and comes with many applications that simply are there and work without being worried how to install and configure them (screen capture, system monitor, info center, file find, file manager that asks to do links instead of copy and duplicate files... ).

Advantage: KDE is a complete solution.

Disadvantage: It might be considered a bit bloated, having big foot print and makes the used depending on KDE applications.

Important

The many (but not all) KDE applications can be installed easily when not using KDE.https://www.kde.org/applications/. They have obvious dependencies to QT.

Once having installed a program that depends on QT, the KDE applications do not require a lot of dependencies.

Links: https://www.kde.org/

https://wiki.gentoo.org/wiki/KDE

KDE can have many window effects as wobbly windows and the desktop cube. For this, it is important that direct rendering is working and KDE gets started with the Window manager plasma (not Openbox). The the desktop cube can be made visible by a key sequence.

Note

Simply short pressing the key sequence to see the cube and then use the mouse to move around. When done, re-press the key sequence to go back. The default key sequence Ctrl + F11 might conflict with an other already set key sequence and therefore not work. In this case a custom key sequence as Ctrl + space can be set.

Figure 5.1. KDE cube

The KDE cube


Gnome

The desktop environment Gnome has a long tradition and is probably the best compromise between full blown slow fancy desktop and fast, friendly intuitive and usable. It uses gtk library and is therefore full GPL. Ubuntu makes use of Gnome.

Gtk stands for Gimp tool Kit and shows it origin. Gimp is the Gnu Image Manipulation Program.

For Gentoo set the automount useflag, to have the gnome-volume-manager dealing with the devices plugged in. See the D-Bus section for more details.

Gnome 3 depends on systemd and therefore a migration is tricky. An other indication that it has become a big chunk is that it does no more run with compiz.

Xfce

Xfce means XForms Common Environment, however new versions of it do not make use of Xforms anymore, to keep the name, Xfce means something as X Freakin' Cool Environment.

It is considerably less complex than KDE and Gnome, but still well featured and fast.

Distributions on Netbooks as Linpus for the Acer Aspire One make use of Xfce.

LXDE

LXDE the Lightweight X11 Desktop Environment is an other attempt to have what many people want, a non bloated fast simple desktop. http://lxlinux.com/#index and for gentoo https://wiki.gentoo.org/wiki/LXDE

Many distributions as Knoppix has jumped toward LXDE. Additionally it is well layered and follows the standards. To get it fancy LXDE can be run with compiz.

Since it is lightweight not too many applications come. The following might be considered to additionally install

  • Leafpad a gui editor

  • LXDM a display manager to login graphically (Add lxdm to /etc/conf.d/xdm). The configuration file is /etc/lxdm/lxdm.conf . There is also a simple gui lxdm-config

Some other packages are recommended to be installed as:

  • To have media mounted via gui make sure gvfs is installed

  • check that consolekitd is running (On gentoo rc-update add consolekit default)

  • file-roller to get archiving support

  • shutterbug for screen-shots

  • installing oxygen-icons and gnome-icon-theme gives some new icons or pops up missing ones

To see date and seconds click on the clock, go to the digital clock settings and insert %F %R:%S

For gentoo emerge lxde-meta and echo "exec startlxde" >> ~/.xinitrc

Desktop files

Desktop icons are defined in the *.desktop files found in ~/Desktop and . pcmanfm wants to be clever and smart and does not show their filenames but interprets their contents. pcmanfm finds inside those *.desktop text files a link to an icon and a name to be shown.

The easiest way to get such files is going to the menu and right click the mouse and select put to desktop. However going to /usr/share/applications and see what desktop files are already available and then just copy them to ~/Desktop. The *.desktop files is an other option. Since the *.desktop files are text files they can be edited using a text editor or created via command lxshortcut -i ~/Desktop/<name>.desktop that starts a gui to create a *.desktop file. Path to the executable, Name on the desktop and finally an icon has to be placed. Icons for that can be found under /usr/share/icons or /usr/share/pixmaps for those directories not path and file extension must be added. For Icons in other directories the path must be present.

Important

Desktop files should be validated using the desktop-file-validate tool.

Finally right click on the mouse lets to move menu icons to the desktop.

Note

However also documents and links to documents can be placed can be placed in the Desktop directory and appear as icons on the screen.

The menu is made from *.desktop files in ~/.local/share/applications for user menus and /usr/share/applications for global menus. The parameter

Categories=Game

inside those files defines the category where they pop up. The valid categories can be found at: https://standards.freedesktop.org/menu-spec/latest/apa.html There is also the java application lxmed that is a gui for this.

Inside the directory /usr/share/applications also a file mimeinfo.cache can be found. Having a file of a mime type, then the desktop file handling this type of data can be found. This cache file is created from the *.desktop files using their mime type declaration:

MimeType=video/dv;video/mpeg;video/x-mpeg;

File managers as pcmanfm make use of desktop files in /usr/share/applications that, when clicking on a file the mime type is defined (looking at the file extension) and via mimeinfo.cache the *.desktop file is found and therefore started including passing the name of the file being clicked.

Note

It takes the desktop files from /usr/share/applications and not from ~/Desktop

Desktop files can also be started automatically when they are put in /etc/xdg/autostart

Inside the *.desktop files there is the command including an variable as %f that represents a single file name.

Note

AdobeReader.desktop has %U inside indication that is an URL but pcmanfm passes a file and then acroread does not open the file. Changing %U to %f fixes this issue.

Window Managers

X is even layered more than expected this allows to exchange the window manager with something that does fancy stuff. Window managers create a window space where a program can run. As examples for window managers:

Desktop environment

Window Manager

KDE

Plasma, Openbox, Kwin

Gnome

metacity

Xfce4

Xfm4

LXDE

Openbox (is considered as standalone manager)

X

twm (comes with X)

There are also some standalone Window Managers, since they want to be complete more than just the Window manager is coming with those programs:

  1. Compiz to make your desktop fancy

  2. Fluxbox

  3. TWM (is often the default one since it is basic with not much dependent libraries, as a result it is ugly, and often used jut to test X)

  4. Openbox

The Inter-Client Communication Conventions Manual (ICCCM) defines a standard way for Window managers and allows to exchange window managers.

Windows have windows decoration, this is usually the top colored bar showing on the right the window size and close icons and on the left an icon identifying the running program. Alt + Space can open its menu where new commands as move window, move up/down, Un/decorate, ... appear.

Openbox customization

Since openbox is rather basic some customization might be useful https://wiki.gentoo.org/wiki/Openbox.

Install fonts as ttf-bitstream-vera and corefonts

The menu is /etc/xdg/openbox or user level ~/.config/openbox/menu.xml There is the program menumaker that can create menus as mmaker -v OpenBox3 that then can be edited and copied to cp .config/openbox/menu.xml /etc/xdg/openbox/menu.xml .

There is also an autostart script for system wide /etc/xdg/openbox/autostart.sh and on user level ~/.config/openbox/autostart.sh

Compiz

To evolve GUI's to have more alive desktops many projects have been created beryl, compiz and a merge of both compiz-fusion. There is a lot of activities since many people like a fancy desktop. According http://www.compiz.org/, everything will be merged again and will be called simply compiz version 8. See also its wiki http://wiki.compiz.org/. Currently compiz-fusion seems to be the most stable option.

Installing compiz

Since compiz is just a window manager it needs desktops that are layered. Unfortunately some as gnome don't fit in this category, so compiz can no more work with it. On the other hand X11 become more plug and play capable and works almost without xorg.conf (that has become a directory /etc/X11/xorg.conf.d in the modular X11). So compiz can be used to pimp up simple desktop environment as LXDE.

Set the xcb, svg useflags. Lots of packages have to be unmasked to do the emerge compiz-fusion. After unmasking emerge compiz-fusion.

To start it unmask and emerge fusion-icon. Different options can be selected, as selecting the window manager a is possible.

Working with compiz

Configure compiz via the menu Settings => CompizConfig Setting Manager. See: http://wiki.compiz.org/CCSM .

If you see no window title, minimize/maximize/close buttons, verify the CompizConfig Setting Manager has Window Decoration enabled, since those buttons are part of the window decoration. To get a nice windows decorations emerald can be installed.

Ctrl+Alt and click on the mouse lets you turn the cube plug in and then the screen capture program can produce something as below:

Figure 5.2. Compiz cube

compiz


And Ctrl+Alt+Down Arrow shows you the following, where you can use left and right key to get the desktop desired:

Figure 5.3. Compiz screens

compiz


To get burning windows when close, select in the Settings Manager, Paint fire on the screen plus Animations Add-On. The in Animations go to Close Animation and edit the first entry, change there to Burn effect and leave the other things as window match as they are.


Linurs Hosttech startpage