Skip to main content

KDE Plasma

BaseKDE Plasma is a modern, highly customizable desktop environment that strikes a rare balance in the Linux ecosystem: it delivers a gorgeous, feature-rich visual experience without hogging your system resources. While it looks premium out of the box, its true power lies in its absolute modularity, allowing you to tweak everything from window rules to panel layouts.

The base KDE Plasma packagesdesktop forcan be installed by either the fullplasma Plasmagroup experience.or Bundlethe withplasma-meta othermeta package. The group installs all packages toin preventit once, while the meta package conflictspulls providingin the samepackages functionality.via dependencies and installs new packages when the meta package gets updated to include new packages as dependencies. Which one you choose is personal preference how you'd like to manage your installation.

Install either plasma or plasma-meta:

# Plasma group
pacman -S plasma

kde-applications# Plasma meta package
pacman -S plasma-meta

This will install only the desktop without barely any applications. Instead of installing the massive kde-applications bundle (which includes over 190 packages, many of which you may never use), Arch Linux splits the ecosystem further into modular, category-specific groups and meta-packages.

Use the table below to selectively install only the categories that you need:

NOTE: The same rules as for the base plasma group/meta package apply.

Group Name Meta-Package Name Category Focus Key Included Applications kde-accessibility kde-accessibility-meta Accessibility kmouth (speech synthesizer), kmousetool kde-education kde-education-meta Education & Science marble (virtual globe), kalzium (periodic table), cantor kde-games kde-games-meta Gaming & Entertainment kpat (solitaire), kshisen, granatier (bomberman clone) kde-graphics kde-graphics-meta Graphics & Creativity gwenview (image viewer), okular (document viewer), kolourpaint kde-multimedia kde-multimedia-meta Audio & Video kdenlive (video editor), dragon (media player), juk (music player) kde-network kde-network-meta Networking & Remote kdeconnect (phone sync), kget (download manager), krdc (remote desktop) kde-office kde-office-meta Productivity calligra (office suite), krosspython kde-pim kde-pim-meta Personal Information Management kmail (email), korganizer (calendar), kaddressbook kde-sdk kde-sdk-meta Software Development katedevel, cervisia, kompare (diff tool) kde-system kde-system-meta System Administration ksystemlog (log viewer), kdiskfree (storage space manager) kde-utilities kde-utilities-meta Desktop Utilities kate (advanced text editor), kcalc (calculator), filelight (disk analyzer)

If you want the complete suite of KDE applications (over 190 packages), install kde-applications (group) or kde-applications-meta (meta package).

Setting up the display manager

TheBy plasmadefault, both the group and meta package groupinstall includesboth SDDM and the new Plasma Login ManagerManager. forThe signingdefault intosince KDE Plasma 6.6 is Plasma Login Manager, as it's specifically designed to better integrate with KDE Plasma.

Enable the display manager to start on boot and present a graphical login interface:

systemctl enable plasmalogin

The default keymap is set to US English. If your keyboard layout differs, change the default keymap with localectl:

NOTE: Executing this command while chrooted into the installation environment will produce an error that the locale could not be found. To set itit, properly,finish the installation, reboot into the installed system, press CTRL + ALT + F3 when Plasma Login Manager shows up (or any F-key between 2 and 7) to switch to a different console, log in via the command line and execute the command as root.

localectl set-x11-keymap de

KDE Wallet

KDE Wallet is the integrated password manager and secret store of KDE Plasma. It stores passwords to websites, WiFi networks, network shares, SSH keys and more.

Unlock Wallet automatically on login

To automatically unlock your wallet on login, the kwallet-pam package provides the necessary PAM modules (already part of the plasma package group).

There are several caveats to consider:

  • Only blowfish encryption is supported
  • Wallet can only be unlocked if the autologin method saves the password, e.g. when using pam_autologin
  • Wallet cannot be unlocked when logging in with a fingerprint
  • Wallet must be named kdewallet (default name)
  • Disabling automatic closing of Wallet may be desired to keep it from asking for the password after every use
  • When choosing to secure Wallet with a password it must match the user account password

Automatic unlocking can also be achieved by setting no password. Do keep in mind, however, that this could lead to potentially undesired read/write access to your secrets. Enabling Prompt when an application accesses a wallet under Access Control is highly recommended.

When setting up with SDDM as display manager (default for Plasma) no further PAM configuration is necessary, as the config comes with SDDM.

Storing SSH key passphrases in Wallet

KDE Wallet can be used to store passphrases for SSH keys and have a KDE prompt appear asking for the password.

To also automatically unlock the SSH keys a SSH agent needs to be set up and running.

The openssh package (since version 9.4p1-3) comes with a systemd user unit to start the SSH agent on login regardless of a graphical session running:

NOTE: This needs to be run as the user you set up earlier, without sudo.

systemd enable --user ssh-agent

The user unit creates a Unix socket for other applications to communicate with the agent. For these applications to know this socket, the SSH_AUTH_SOCK environment variable needs to be set. This can be achieved via user-specific systemd environment variables.

On login, systemd parses *.conf files in ~/.config/environment.d/ and sets environment variables from these. Environment variables are set in a KEY=VALUE fashion.

Create a new file ~/.config/environment.d/ssh_agent.conf:

SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent.socket

Additionally, to have a KDE dialog box appear in case the passphrase is not stored in your Wallet, point the SSH_ASKPASS environment variable to the ksshaskpass application (also included in the plasma package group):

SSH_ASKPASS=/usr/bin/ksshaskpass
SSH_ASKPASS_REQUIRE=prefer

Chromium-based browsers

To make Chromium-based browsers (Google Chrome, Microsoft Edge, Brave, Opera, etc.) use Wallet as a password store launch it with --password-store=kwallet5 or --password-store=detect.

To make this launch argument persistent, add it to the "flags" file for the Chromium-based browser you want to use:

Browser Path
Chromium ~/.config/chromium-flags.conf
Google Chrome ~/.config/chrome-flags.conf
Google Chrome DEV ~/.config/chrome-dev-flags.conf
Vivaldi ~/.config/vivaldi-stable.conf

See also: Making flags persistent on Arch Wiki

Misc additional packages

Additional packages you might want:

Name Description
freerdp Support for the Remote Desktop Protocol used for remote login to MS Windows machines
kimageformats Support for additional image formats in Dolphin and Gwenview
flatpak Support for installing applications as Flatpak packages from Flathub through Discover
fwupd Firmware update manager; allows UEFI capsule updates in Discover if supported by firmware
packagekit-qt6 Manage Arch packages in Discover