Desktop environment

A desktop environment (DE) is made of a bundle of programs, which share a common graphical user interface (GUI).




A desktop environment bundles together a variety of components to provide common graphical user interface elements such as icons, toolbars, wallpapers, and desktop widgets. Additionally, most desktop environments include a set of integrated applications and utilities. Most importantly, desktop environments provide their own window manager, which can however usually be replaced with another compatible one.


  • KDE
  • How to install and configure KDE Plasma as your desktop environment

    • GNOME
    • How to install and configure GNOME as your desktop environment


      Andreas Bauer. All rights reserved.

      KDE desktop environment

      How to install and configure KDE Plasma as your desktop environment




      Install audio

      pacman -Syu pipewire pipewire-alsa pipewire-jack pipewire-pulse wireplumber pipewire-docs helvum
      

      Install KDE Plasma

      pacman -Syu xorg plasma plasma-wayland-session kdeconnect xdg-desktop-portal sshfs fwupd packagekit-qt5 sonnet
      
      systemctl enable sddm
      
      pacman -Rscn flatpak plymouth
      

      Tip

      Disabling capslock key in KDE

      System Settings > Input Devices > Keyboard > Advanced > Caps Lock key behavior > Caps Lock is disabled
      

      Tip

      KDE Plasma tiling

      Activate it in System Settings > Workspace Behavior > Desktop Effects
      and then you can tile a window dragging it while holding down the Shift key.
      To create custom tile layouts, hold down the Meta key, and then press T.
      

      Tip

      KDE fix Firefox fonts

      fc-match sans
      fc-match serif
      fc-cache --really-force


      List of applications

      Visual Studio Code

      yay -Syu visual-studio-code-bin
      
      Tip

      Fix VS Code remote connection uses 100% CPU of remote machine

      Set settingsSync.keybindingsPerPlatform to false
      Set search.followSymlinks to false

      Image Viewer

      yay -Syu nomacs
      

      PDF Viewer

      pacman -Syu okular kdegraphics-mobipocket khtml chmlib calligra
      

      VNC

      pacman -Syu remmina freerdp libvncserver spice-gtk webkit2gtk-4.1
      

      Image Editing

      pacman -Syu gimp krita inkscape
      

      Audio editing

      pacman -Syu audacity
      

      Video editing

      pacman -Syu kdenlive
      

      Office Suite

      pacman -Syu libreoffice-fresh ttf-caladea ttf-carlito ttf-dejavu ttf-liberation hunspell hunspell-en_us hunspell-de
      

      sane: for scanner access

      Static Webpages

      pacman -Syu hugo
      

      Andreas Bauer. All rights reserved.

      GNOME desktop environment

      How to install and configure GNOME as your desktop environment




      Install audio

      pacman -Syu pipewire pipewire-alsa pipewire-jack pipewire-pulse wireplumber pipewire-docs helvum
      

      Install GNOME

      pacman -Syu gnome gnome-extra gnome-themes-extra gnome-power-manager qt5ct libsecret seahorse
      

      Install extensions and additional themes

      yay -Syu gnome-shell-extension-dash-to-panel gnome-shell-extension-arc-menu gnome-shell-extension-no-overview gnome-shell-extension-tray-icons-reloaded xcursor-pro-cursor-theme adwaita-qt
      

      Optional MacOS theme

      yay -Syu whitesur-icon-theme whitesur-gtk-theme
      

      Remove bloat

      pacman -Rscn baobab gnome-recipes gnome-books gnome-boxes gnome-builder gnome-chess gnome-connections tali gnome-games geary ipython gnome-nibbles totem epiphany gnome-software polari iagno lightsoff four-in-a-row gnome-robots hitori gnome-klotski gnome-mines gnome-mahjongg gnome-sudoku quadrapassel swell-foop gnome-tetravex gnome-taquin gnome-remote-desktop
      

      Configuration of Qt5 apps under environments other than KDE Plasma

      /etc/environment
      
      export QT_QPA_PLATFORMTHEME=qt5ct
      

      Run qt5ct to set an Qt5 icon theme


      Use Xorg backend by default

      /etc/gdm/custom.conf
      

      uncomment WaylandEnable=false


      Enable display manager

      systemctl enable gdm.service -f
      

      Hide user from GDM login list

      To hide a ordinary users from the login list create or edit a file named after the user

      /var/lib/AccountsService/users/username
      
      [User]
      SystemAccount=true
      
      Info

      GNOME login using tty (GDM disabled)
      Sessions are stored in /usr/share/xsessions

      ~/.xinitrc
      
      #!/bin/sh
      
      userresources=$HOME/.Xresources
      usermodmap=$HOME/.Xmodmap
      sysresources=/etc/X11/xinit/.Xresources
      sysmodmap=/etc/X11/xinit/.Xmodmap
      
      # merge in defaults and keymaps
      
      if [ -f $sysresources ]; then
          xrdb -merge $sysresources
      fi
      
      if [ -f $sysmodmap ]; then
          xmodmap $sysmodmap
      fi
      
      if [ -f "$userresources" ]; then
          xrdb -merge "$userresources"
      fi
      
      if [ -f "$usermodmap" ]; then
          xmodmap "$usermodmap"
      fi
      
      # start some nice programs
      
      if [ -d /etc/X11/xinit/xinitrc.d ] ; then
       for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
        [ -x "$f" ] && . "$f"
       done
       unset f
      fi
      
      export XDG_SESSION_TYPE=x11
      export GDK_BACKEND=x11
      exec gnome-session
      
      # redirect output to /dev/null.
      >/dev/null 2>&1
      

      Start an Xorg display server

      ~/.zprofile
      
      #
      # ~/.zprofile
      #
      [[ -f ~/.zshrc ]] && . ~/.zshrc
      
      if [[ -z $DISPLAY && $(tty) == /dev/tty1 ]]; then
          XDG_SESSION_TYPE=x11 GDK_BACKEND=x11 exec startx
      fi
      
      Tip

      Disable caps lock

      Tweaks > Keyboard & mouse > additional layout options > Caps Lock behaivior

      Confusingly, it is shown as Disabled
      But this means that any customization on that is disabled
      In the dropdown choose Caps Lock is disabled option and you are done


      Unlock the keyring for a display manager

      /etc/pam.d/login
      
      #%PAM-1.0
      
      auth       required     pam_securetty.so
      auth       requisite    pam_nologin.so
      auth       include      system-local-login
      auth       optional     pam_gnome_keyring.so
      account    include      system-local-login
      session    include      system-local-login
      session    optional     pam_gnome_keyring.so auto_start
      

      Set login keyring as default

      ~/.local/share/keyrings/default
      
      login
      

      Automatically change default keyring password with user password

      #%PAM-1.0
      #password       required        pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3
      #password       required        pam_unix.so sha512 shadow use_authtok
      password        required        pam_unix.so sha512 shadow nullok
      password        optional        pam_gnome_keyring.so
      

      Complete initialization automatically

      ~/.zprofile
      
      [[ -f ~/.zshrc ]] && . ~/.zshrc
      
      if [ -n "$DESKTOP_SESSION" ];then
          eval $(gnome-keyring-daemon --start)
          export SSH_AUTH_SOCK
      fi