Page tree

The Green Linux Desktop Concept

What you get with your Green Linux Desktop:

  • Ubuntu 20.04 LTS (newest LTS release)
  • Ubuntu 18.04 LTS (New installations until 01.12.2020, afterwards only 20.04 unless there are special reasons for an 18.04 installation)
  • GNOME Desktop (DESY Default Desktop)
  • Fully and exclusively managed by Puppet config management
  • Kerberos and AFS credentials to fully integrate into other DESY systems
  • A local home directory (without backup) with certain links precreated into your AFS home directory (backup)
    • Documents : Your documents, presentations, ...
    • private : Your private folder
    • public : An AFS sharing folder accessible by others via AFS
    • www : The directory accessible by others via the
    • afs : Your AFS home
    • ... you are of course free to create other links into AFS on your own
  • Possibility to install further software on your own, without needing root permissions
  • Full support for the operating system: Contact UCO

Please check the summary page for information on the version availability.

Software installation

Licensed software

Before installing software: Check whether it can be freely used in a company. Otherwise, fees may apply!

software can be installed from preconfigured repositories. These are currently:

~# ls -l /etc/apt/sources.list.d/
total 44
-rw-r--r-- 1 root root 150 Aug 12 17:19 desy.list
-rw-r--r-- 1 root root 176 Aug 12 17:19
-rw-r--r-- 1 root root 115 Aug 12 17:19 elastic.list
-rw-r--r-- 1 root root 131 Aug 12 17:19 google-chrome.list
-rw-r--r-- 1 root root 135 Aug 12 17:19 nextcloud-client.list
-rw-r--r-- 1 root root 134 Aug 12 17:19 puppetlabs.list
-rw-r--r-- 1 root root 176 Aug 12 17:19 ubuntu-partner.list
-rw-r--r-- 1 root root 279 Aug 12 17:19 ubuntu-security.list
-rw-r--r-- 1 root root 276 Aug 12 17:19 ubuntu-updates.list
-rw-r--r-- 1 root root 252 Aug 12 17:19 ubuntu.list
-rw-r--r-- 1 root root 142 Aug 13 09:19 yfs.list

You will see that we provide some software via our own repos, and that we also include repos from other products that might be of interest to DESY users.

Available software can be queried on the command line using e.g.

$ apt-cache search someapp

However, installing software using apt will fail, as users have no root access. Also sudo will not help. Valid options are the Software Store or the PackageKit console client (pkcon) for regular packages and for snaps there is the snap command.

Software store

The preferred way to install software is via the corresponding software store:

  • 18.04 and newer: Packages is a brown box with a green arrow.
    • Alternatively, the program can also be started via the command line with the command gpk-application.
  • On older releases: When using Unity desktop, an icon presenting a bag with an "A" on it should be present - that is the Ubuntu Software Center.

PackageKit console client (pkcon)

With pkcon, packages can be installed via the command line. This is useful if you want to manage software on your office computer from the home office via SSH, for example.

Example: Package management via pkcon
~$ openstack --version
Command 'openstack' not found, but can be installed with:

~$ pkcon search python-openstackclient
Searching by details          [=========================]
Loading cache                 [=========================]
Querying                      [=========================]
Finished                      [=========================]
Available       python-openstackclient-doc-5.2.0-0ubuntu1.all (ubuntu-focal-main)       OpenStack Command-line Client - doc
Available       python3-openstackclient-5.2.0-0ubuntu1.all (ubuntu-focal-main)  OpenStack Command-line Client - Python 3.x
Available       python3-zaqarclient-1.11.0-0ubuntu3.all (ubuntu-focal-main)     OpenStack Zaqar Queueing API, client and library - Python 3.x

~$ pkcon install python3-openstackclient
Resolving                     [=========================]
Testing changes               [=========================]
Finished                      [                         ] (0%)
The following packages have to be installed:
 docutils-common-0.16+dfsg-2.all        text processing system for reStructuredText - common data
 ieee-data-20180805.1.all       OUI and IAB listings
 python-babel-localedata-2.6.0+dfsg.1-1ubuntu2.1.all    tools for internationalizing Python applications - locale data files
 python3-wrapt-1.11.2-2build1.amd64     decorators, wrappers and monkey patching. - Python 3.x
Proceed with changes? [N/y] y
Installing                    [=========================]
Loading cache                 [=========================]
Downloading packages          [=========================]
Running                       [=========================]
Installing packages           [=========================]
Finished                      [=========================]

~$ openstack --version
openstack 5.2.0

~$ pkcon remove python3-openstackclient
Resolving                     [=========================]
Testing changes               [=========================]
Finished                      [                         ] (0%)
The following packages have to be removed:
 python3-openstackclient-5.2.0-0ubuntu1.all     OpenStack Command-line Client - Python 3.x
Proceed with changes? [N/y] y
Removing                      [=========================]
Loading cache                 [=========================]
Running                       [=========================]
Removing packages             [=========================]
Finished                      [=========================]

~$ openstack --version
Command 'openstack' not found, but can be installed with:

For more information, see man pkcon and pkcon --help.


On 18.04 and above, it is also possible to install snaps via snap install <name>. However, this option should only be chosen if the application is not in Packages or apt-cache search <name> cannot find it.

Skype, Vidyo, Chrome Browser, OwnCloud client, ...

... the above section. Although these software programs are not part of the standard Ubuntu repositories, we have configured special repositories. The software is available via Ubuntu Software Center. Please note that for searching, you might need to enter the full name of the software, "sky" for "skype" might not be sufficient unless you press the "Show technical items" link at the very bottom of the window.

Compiling and installing sofware

If compiled, some software by default wants to install itself into directories not writable to normal users.

Changing these defaults usually is very easy. Software then can be installed into local user directories, or even on network shares. The latter has the advantage, that software is available also on other machines.

Have a look at for a brief overview.

Reboot via a remote session

On green desktops it is possible to reboot the host via a SSH session. Anyone who can connect to the computer via SSH can do so, but this only works if there are no other SSH connections from other users or a graphical session from another user. Otherwise you will receive the following message:

Multiple Users connected via SSH
% reboot
User otheruser is logged in on sshd.
Please retry operation after closing inhibitors and logging out other users.
Alternatively, ignore inhibitors and users with 'systemctl reboot -i'.

Only the reboot command can work, permissions for systemctl reboot -i or similar commands are not granted. Please ask the other logged in users (Use w or loginctl to list every connected user) to disconnect from the machine to successfully trigger a reboot.

Preserving the home partition when reinstalling a green desktop

With 20.04 installs, it is possible to keep the home partition, but this feature is still new. Unexpected states on some systems could create issues, so please backup your data as a precaution. Please note in the request if you want to test this function with the new installation.

Some other notes on this topic:

  • It must be ensured that no programs are started in the .zshrc or similar, which are no longer present after installation. Otherwise it may no longer be possible to open the terminal
  • GNOME extensions are stored in your home under ~/.local/share/gnome-shell/extensions. For this reason, the extensions are also kept, which could lead to some bugs in the GNOME GUI. Move the folder and log out and in again if something like this happens.

Docker and the Green Desktop?

This is possible since Ubuntu 18.04, please check Docker on Green Desktop for more details.

Python and pip

Often, python packages should be installed using pip.

This can be done:

  • make sure the Ubuntu Package python-pip is installed (see above, use the software center if needed)
  • Then
    pip install YourApplication 
    under your account. This will install software in $HOME

Mounting Windows directories

This is possible without root access using Nautilus (The standard Ubuntu File System Browser).

Please check

for documentation.

Other SMB services like the ASAP3 system work in a similar fashion.

One word of caution: You SHOULD NOT click "Remember forever" because of troubles when changing password: Your account might get suspended because of too many failures.

Configuring default printer

No default printer is set, so if an application is using "default printer" , the first one in the row is used.

You can (and maybe should) change this: Click on "System settings", then "Printers". Chose the printer you like and right-click on it. Then click on "Set as default". You then should chose "set as my personal default printer" ... you cannot change the system-wide settings.

Changing Windows Manager

For Ubuntu 18.04 and upwards, GNOME is the default window manager. For Ubuntu 16.04 and older, Unity is the default window manager.

DESY IT recommends to stick with the default window manager.

However, should you feel the need to use another one, you can do so - at your own risk.

When logging in, click on the small Ubuntu logo next to the username/password field, and you are prompted to alternatives.

KDE is by default not installed on the system, so cannot be chosen. To install KDE, please use the Ubuntu Software Center and install Kubuntu - this will install all necessary files and configure the login manager.

FVWM2 and ICEWM and some other window manager are also available via the Software Center.

But, again, some features are only available via Unity.

Changing language for users

You can change the language used within the Ubuntu Desktop:

  • Open System Settings
  • Open Language Support
  • Chose the desired language in the list and drag it to the first position in the list
  • A language which is grey does not yet have language packages installed. If your language of choice is greyed out, click on Install/Remove Languages and select the language. All needed packages will be installed
  • DO NOT click on Apply System-Wide: This is not necessary for you and would break DESY system configuration.
  • Log-out and log-in again
  • On login, you will be asked whether you want to update the names for system folders (.e.g. Documents -> Dokumente). DO NOT perform this action, as they will break links to AFS that we have configured for you

If you have changed your language, please do not forget that support can only help with German or English error messages.

Changing Capslock behaviour

You can change the language used within the Ubuntu Unity Desktop:

  • Install gnome-tweak-tool using the Ubuntu Software Center

  • run gnome-tweak-tool (16.04) or gnome-tweaks (18.04) from the console

  • 16.04: Select "typing" from the left bar

  • 16.04: Chose the "Caps lock behaviour" you need

  • 16.04: Close gnome-tweak-tool to save

  • 18.04: Chose "Keyboard & Mouse" from the left menu

  • 18.04: Chose "Additional Layout Options"

  • 18.04: "Cap Lock Behaviour" -> "Caps Lock is disabled"  and close to save


Ksplice is a commercial tool allowing to patch the Linux Kernel while running.

Its use for DESY desktops is discouraged, and the product is not installed by default:

  • Too many operational issues have been observed
  • Ksplice does not fix issues on the glibc and systemd, thus providing only partial security
  • No labels