KDE

Resources

KDE is a free software community, producing a wide range of applications including the popular Plasma desktop environment.

Gentoo support for the KDE project is excellent, with comprehensive packaging of KDE Frameworks 5, Plasma 5, and Applications, as well as a wide array of other miscellaneous KDE-based software.

Prerequisites[edit | edit source]

Profile[edit | edit source]

Choosing an appropriate profile, although not required, is recommended as it sets a number of global and package-specific USE flags to ease installation and ensure a smooth KDE experience.

In order to choose the most suitable profile, first list what's available:

root #eselect profile list
  ...
  [1]   default/linux/amd64/17.1 (stable)
  [2]   default/linux/amd64/17.1/selinux (stable)
  [3]   default/linux/amd64/17.1/hardened (stable)
  [4]   default/linux/amd64/17.1/hardened/selinux (stable)
  [5]   default/linux/amd64/17.1/desktop (stable)
  [6]   default/linux/amd64/17.1/desktop/gnome (stable)
  [7]   default/linux/amd64/17.1/desktop/gnome/systemd (stable)
  [8]   default/linux/amd64/17.1/desktop/plasma (stable)
  [9]   default/linux/amd64/17.1/desktop/plasma/systemd (stable)
  ...

Then, select the right profile, substituting X with the appropriate profile number:

root #eselect profile set X

For Plasma 5 desktop environment choose desktop/plasma with OpenRC or desktop/plasma/systemd with systemd. Note that other USE flag combinations than set by the profile may technically be possible (especially if selected applications are run instead of a full KDE Plasma desktop environment), but may be unsupported, untested, or lead to unexpected loss of functionality.

Services[edit | edit source]

Default choices of these services will be pulled in automatically - by the installation steps in the following chapters - depending on the profile selection made earlier, but still need to be set up properly before starting KDE Plasma for the first time. For deviating from the defaults, it is recommended to install them in advance of KDE Plasma or KDE Release Service via emerge ‑‑oneshot so that Portage will take them into account. Follow the links for information how to set up these services.

Session tracker[edit | edit source]

Choose exactly one of:

  • elogind: Standalone logind package, default for desktop/plasma profile, extracted from systemd project for use with OpenRC or other init systems.
  • systemd: Uses the session tracker part of systemd. Users of systemd do not need to take any other initiative here.

Device manager[edit | edit source]

Choose exactly one of:

  • udev: Enables support for udev Linux dynamic and persistent device naming.
  • eudev: Fork of udev for better compatibility with older kernels and various toolchains.
  • systemd: Uses the device manager part of systemd. Users of systemd do not need to take any other initiative here.

Miscellaneous[edit | edit source]

  • D-Bus: Enables use of the D-Bus message bus system.
  • polkit: Enables the polkit framework for controlling privileges for system-wide services.
  • udisks: Enables support for some storage related services.

X server[edit | edit source]

Read and follow the instructions in the X server article to setup the X environment.

Plasma[edit | edit source]

Plasma 5 is the current generation of KDE's desktop environment, based on Qt 5 and KDE Frameworks 5.

Available versions[edit | edit source]

KDE Gentoo Ebuild repository Status
KDE Plasma 5.20.5 kde-plasma/plasma-meta-5.20.5 gentoo Stable for amd64, arm64 and x86; Testing for arm and ppc64
KDE Plasma 5.21.3 kde-plasma/plasma-meta-5.21.3 gentoo Testing for amd64, arm, arm64, ppc64 and x86
KDE Plasma 5.21 stable branch kde-plasma/plasma-meta-5.21.49.9999 KDE Live version
KDE Plasma master branch kde-plasma/plasma-meta-9999 KDE Live version
Note
Before proceeding, make sure to choose a Plasma profile.

Installation[edit | edit source]

The kde-plasma/plasma-meta package provides the full Plasma 5 desktop, configurable by a wealth of USE flags:

USE flags for kde-plasma/plasma-meta Merge this to pull in all Plasma 5 packages

bluetooth Enable Bluetooth Support
browser-integration Enable integration with Chrome/Firefox with browser extensions
colord Enable kde-plasma/kwin color management via x11-misc/colord
crypt Pull in kde-plasma/plasma-vault for encrypted vaults integration
desktop-portal Enable sys-apps/xdg-desktop-portal backend implementation for Plasma
discover Pull in resources management GUI; a centralised GHNS alternative and optional sys-apps/fwupd frontend
display-manager Pull in a graphical display manager
elogind Enable session tracking via sys-auth/elogind
firewall Pull in kde-plasma/plasma-firewall for system firewall administration
grub Pull in Breeze theme for sys-boot/grub
gtk Enable Breeze widget style and system settings module for GTK+
handbook Enable handbooks generation for packages by KDE
kwallet Enable support for KWallet auto-unlocking via kde-plasma/kwallet-pam
legacy-systray Add support for legacy applications using kde-plasma/xembed-sni-proxy
networkmanager Enable net-misc/networkmanager support
plymouth Pull in Breeze theme for sys-boot/plymouth
pulseaudio Install Plasma applet for PulseAudio volume management
qrcode Enable support for easy WiFi network sharing using QR codes with kde-plasma/plasma-nm
sddm Pull in the x11-misc/sddm display manager and system settings module
sdk Pull in kde-plasma/plasma-sdk for Plasma development
smart Pull in kde-plasma/plasma-disks for disk health monitoring
systemd Enable use of systemd-specific libraries and features like socket activation or session tracking
thunderbolt Pull in kde-plasma/plasma-thunderbolt control center module
wallpapers Install wallpapers for the Plasma Workspace

root #emerge --ask kde-plasma/plasma-meta

Alternatively, kde-plasma/plasma-desktop provides a very basic desktop, leaving users free to install only the extra packages they require - or rather, figure out missing features on their own.

Warning
Please note that only installing kde-plasma/plasma-desktop will be missing important packages such as kde-plasma/powerdevil (power management, suspend and hibernate options), kde-plasma/systemsettings and many more, do not expect support in this case.

Starting Plasma[edit | edit source]

Display manager[edit | edit source]

SDDM (Simple Desktop Display Manager) is the recommended login manager and is pulled in automatically via kde-plasma/plasma-meta by default. This is the preferred option. Alternatively, LightDM can be used and pulled in by setting USE flag -sddm for kde-plasma/plasma-meta. Change the setting accordingly in /etc/conf.d/xdm. Also, be sure to read through the SDDM page if further issues appear.

No display manager[edit | edit source]

Plasma can be started the old-fashioned way with startx, but extra care needs to be taken to ensure it gets a valid session.

FILE ~/.xinitrc
#!/bin/sh
exec dbus-launch --exit-with-session startplasma-x11

Widgets[edit | edit source]

Many useful widgets are in the kde-plasma/kdeplasma-addons package (already pulled in by kde-plasma/plasma-meta):

root #emerge --ask kde-plasma/kdeplasma-addons

System tray[edit | edit source]

Plasma 5 uses the StatusNotifier specification for systray icons [1]. As not all applications have been ported to the new system, some workarounds exist [2], and Plasma 5 has a means to convert old xembed-based system tray icons to StatusNotifier icons.

Legacy support is enabled by activating legacy-systray for kde-plasma/plasma-meta, which is pulling in kde-plasma/xembed-sni-proxy.

FILE /etc/portage/package.use/kde-plasma-settingsChange USE flags for kde-plasma/plasma-meta
# xembed system tray support for legacy applications
kde-plasma/plasma-meta legacy-systray

Pidgin[edit | edit source]

net-im/pidgin requires x11-plugins/pidgin-indicator. After install, the Ubuntu Indicator plugin can be found under Tools | Plugins.

KWallet[edit | edit source]

Many users will be introduced to kde-frameworks/kwallet, Plasma's encrypted password storage, while adding a (wireless) network connection after login or adding E-Mail accounts in kde-apps/kmail.

For managing KWallets, importing and exporting passwords, there is kde-apps/kwalletmanager:

root #emerge --ask kde-apps/kwalletmanager

KWallet auto-unlocking[edit | edit source]

kde-plasma/kwallet-pam provides a mechanism to avoid being subsequently asked for access to kwallet after login.

root #emerge --ask kde-plasma/kwallet-pam

It requires the following setup:

  • For KWallet security, use classic blowfish encryption instead of GPG
  • Choose same password for login and kwallet
  • Configure a display manager with support for PAM - both x11-misc/sddm and x11-misc/lightdm fulfill that requirement:
FILE /etc/pam.d/sddmConfig lines for KWallet PAM unlocking via SDDM
-auth           optional        pam_kwallet5.so
-session        optional        pam_kwallet5.so auto_start
Note
For LightDM, /etc/pam.d/lightdm needs to be edited instead.
Note
If the filesystem containing your user's KWallet files is mounted by pam_mount upon logging on, you may need to copy ~/.local/share/kwalletd/kdewallet.salt to the same path on your root filesystem. Otherwise, PAM attempts to unlock KWallet before the home directory is available and fails. The file ~/.local/share/kwalletd/kdewallet.kwl which actually contains the encrypted KWallet passwords does not need to be copied.

Disabling KWallet[edit | edit source]

To disable the KWallet subsystem completely, edit the following file:

FILE ~/.config/kwalletrc
[Wallet]
Enabled=false

SSH/GPG Agent startup/shutdown scripts[edit | edit source]

ssh-agent scripts are located in /etc/xdg/plasma-workspace/env and /etc/xdg/plasma-workspace/shutdown. Shutdown scripts require executable bit set because they are not sourced. The Keychain article provides more information about this.

Non-root user authentication for dialogs[edit | edit source]

Some KDE dialogs such as printers, adding wireless networks and adding users require administrator authentication. This is handled through sys-auth/polkit and operates independently from app-admin/sudo. By default in Gentoo, the root account is the only administrator, and so even if a user account can run root commands through sudo, authentication in these KDE dialogs will fail.

Adding wireless networks using net-misc/networkmanager is allowed by a polkit rule which is part of the Gentoo package and already allows access for every user in the group plugdev. For other dialogs you need to configure the behavior manually: If you would like all users of the group wheel to be administrators, create a copy of /etc/polkit-1/rules.d/50-default.rules starting with a number lower than 50, and edit the line return ["unix-user:0"] to the following:

FILE /etc/polkit-1/rules.d/49-wheel.rulesAdministrator wheel group
polkit.addAdminRule(function(action, subject) {
    return ["unix-group:wheel"];
});

The Polkit wiki page provides more details on rules configuration.

Run GUI applications with root privileges[edit | edit source]

Warning
It could be a very bad idea to start GUI applications with root privileges, versus adding the regular user to the relevant group or simply just running the command unprivileged. Only use kdesu when absolutely necessary.

KDE Plasma has a utility in order to start graphical programs with root privileges. It is provided by kde-plasma/kde-cli-tools - if built with USE flag kdesu, a graphical frontend to kde-frameworks/kdesu is installed. This requires Xorg, and only works within X.

FILE /etc/portage/package.use/kde-plasma-settingsChange USE flags for kde-plasma/kde-cli-tools
# Build graphical frontend for kde-frameworks/kdesu (requires X)
kde-plasma/kde-cli-tools kdesu X

Remember to rebuild the package to pick up the changes:

root #emerge -1 kde-cli-tools

It can be used by invoking kdesu either from KRunner or a terminal emulator:

user $kdesu <program-name>

A message dialog will be displayed prompting for the root password.

Note
Some applications such as kwrite, dolphin etc. refuse to be opened with kdesu for security reasons.

Applications[edit | edit source]

Release Service consists of various applications and supporting libraries based on Qt 5/KDE Frameworks 5.

Available versions[edit | edit source]

KDE Gentoo Ebuild repository Status
KDE Release Service 20.08.3 kde-apps/kde-apps-meta-20.08.3 gentoo Stable for amd64, arm64 and x86; Testing for ppc64
KDE Release Service 20.12.3 kde-apps/kde-apps-meta-20.12.3 gentoo Testing for amd64, arm64, ppc64 and x86
KDE Release Service master branch kde-apps/kde-apps-meta-9999 KDE Live version
KDE Release Service is divided in the following meta packages:
Package name Description
kde-apps/kdeaccessibility-meta Accessibility applications and utilities.
kde-apps/kdeadmin-meta Administrative utilities, which helps in managing the system.
kde-apps/kdecore-meta Basic applications such as file browser, editor, terminal emulator.
kde-apps/kdeedu-meta Educational applications and games.
kde-apps/kdegames-meta Standard desktop games.
kde-apps/kdegraphics-meta Graphics applications such as image viewers, color pickers, etc.
kde-apps/kdemultimedia-meta Audio and video playback applications and services.
kde-apps/kdenetwork-meta Network applications and VNC services.
kde-apps/kdepim-meta PIM applications such as emailer, addressbook, organizer, etc.
kde-apps/kdesdk-meta Various development tools.
kde-apps/kdeutils-meta Standard desktop utilities such as a archiver, a calculator, etc.

Installation[edit | edit source]

The kde-apps/kde-apps-meta package provides the full Release Service bundle, but alternatively, one or several smaller meta packages from the list above may be picked instead:

root #emerge --ask kde-apps/kde-apps-meta

Localization[edit | edit source]

Plasma-5 and Applications are shipping their localization per-package. Enable your localization in systemsettings.

KDE PIM[edit | edit source]

KDE PIM is a whole suite of applications to manage personal information including mail, calendar, contacts and more. It has several optional runtime dependencies to extend its functionality:

Frameworks[edit | edit source]

KDE Frameworks 5 is a collection of libraries and software frameworks that provide the foundation for KDE Plasma 5 and KDE Applications, but may be leveraged by any Qt application.

As Frameworks are mostly libraries and provide little user functionality, it's not necessary to install them manually - the required packages will be pulled in automatically as dependencies.

Available versions[edit | edit source]

KDE Gentoo Ebuild repository Status
KDE Frameworks 5.77.0 kde-frameworks/*-5.77.0 gentoo Stable for amd64, arm64 and x86, testing for arm and ppc64
KDE Frameworks 5.80.0 kde-frameworks/*-5.80.0 gentoo Testing for amd64, arm, arm64, ppc64 and x86
KDE Frameworks master branch kde-frameworks/*-9999 KDE Live version

More KDE software[edit | edit source]

The most important KDE applications are in the Gentoo ebuild repository and many are located in the kde-apps and kde-misc categories.

Troubleshooting[edit | edit source]

Refer to the Troubleshooting sub-article.

See also[edit | edit source]

External links[edit | edit source]

References

    This article is issued from Gentoo. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.