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.

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.

KDE

KDE is a full featured desktop using the GPL version of the QT libraries. The well beloved KDE3.5 version got replaced by the bloated KDE4 version. The desktop looks nice, has a lot of fancy features but did not focus enough to the commonly needed daily features.

Unfortunately KDE comes with lots of K-applications that also have disappeared (Kmail, Quanta, ... ). As a beginner it is nice to follow everything that has a K in its name, since it fits well together. The lesson learned, is to take care that you do not depend on one tool chain that becomes a dinosaur and occasionally dies. It is better to be modular and take care about the standard interfaces and data formats.

The big step to go from KDE3 family to the KDE4, has frustrated me. So I moved to less bloated desktops.

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

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

Some notes on QT: QT has been created by the company Trolltech. Trolltech has put some of their SW under GPL to make it available to the Linux world, some other SW was kept commercial. In 2008 Trollech got bought by Nokia. But now Microsoft takes over Nokia.Luckily the QT code is open source.

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

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. 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. 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

Gnome

metacity

Xfce4

Xfm4

KDE

Kwin

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.

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.1. 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.2. 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 Servernest startpage