KDE: Difference between revisions

From ArchWiki
(→‎Using window rules: this is a Kwin feature; KDE does not refer to any specific piece of software (not since KDE4))
 
(129 intermediate revisions by 41 users not shown)
Line 2: Line 2:
[[de:KDE]]
[[de:KDE]]
[[es:KDE]]
[[es:KDE]]
[[fa:KDE]]
[[it:KDE]]
[[it:KDE]]
[[ja:KDE]]
[[ja:KDE]]
Line 28: Line 27:
=== Plasma ===
=== Plasma ===


Before installing Plasma, make sure you have a working [[Xorg]] installation on your system.
[[Install]] the {{Pkg|plasma-meta}} meta-package or the {{Grp|plasma}} group. For differences between {{Pkg|plasma-meta}} and {{Grp|plasma}} reference [[Package group]]. Alternatively, for a more minimal Plasma installation, install the {{Pkg|plasma-desktop}} package. Upstream KDE has [https://community.kde.org/Distributions/Packaging_Recommendations package and setup recommendations] to get a fully-featured Plasma session.


[[Install]] the {{Pkg|plasma-meta}} meta-package or the {{Grp|plasma}} group. For differences between {{Pkg|plasma-meta}} and {{Grp|plasma}} reference [[Package group]]. Alternatively, for a more minimal Plasma installation, install the {{Pkg|plasma-desktop}} package.
If you are an [[NVIDIA]] user with the proprietary {{Pkg|nvidia}} driver and wish to use the Wayland session, enable the [[NVIDIA#DRM kernel mode setting|DRM kernel mode setting]].


To enable support for [[Wayland]] in Plasma, also [[install]] the {{Pkg|plasma-wayland-session}} package. If you are an [[NVIDIA]] user, also install {{Pkg|egl-wayland}} if it is not already installed, and if the session does not start with the proprietary {{Pkg|nvidia}} driver, also enable the [[NVIDIA#DRM kernel mode setting|DRM kernel mode setting]]. If that does not work, too, check the instructions on the [https://community.kde.org/Plasma/Wayland/Nvidia KDE wiki].
=== Plasma Mobile ===
 
[[Install]] {{AUR|plasma-mobile}}.


=== KDE applications ===
=== KDE applications ===
Line 44: Line 45:
== Starting Plasma ==
== Starting Plasma ==


{{Note|Although it is possible to launch Plasma under [[Wayland]], there are some missing features and known problems. See [https://community.kde.org/Plasma/Wayland_Showstoppers Wayland Showstoppers] for a list of issues and the [https://phabricator.kde.org/project/board/99/ Plasma on Wayland workboard] for the current state of development. Use [[Xorg]] for the most complete and stable experience.}}
{{Note|As of KDE Plasma 6, the Wayland session has matured enough to become [https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2188 the default and preferred one]. The [[Xorg]] session is still supported, but will be removed in a future release. See [https://community.kde.org/Plasma/Wayland_Known_Significant_Issues Wayland Known Significant Issues] and [https://community.kde.org/Plasma/X11_Known_Significant_Issues X11 Known Significant Issues] for more information.}}


Plasma can be started either using a [[display manager]], or from the console.
Plasma can be started either using a [[display manager]], or from the console.
Line 52: Line 53:
{{Tip|The preferred [[display manager]] is [[SDDM]].}}
{{Tip|The preferred [[display manager]] is [[SDDM]].}}


* Select ''Plasma (Wayland)'' to launch a new session in [[Wayland]].
* Select ''Plasma (X11)'' to launch a new session in [[Xorg]].
* Select ''Plasma (X11)'' to launch a new session in [[Xorg]].
* Select ''Plasma (Wayland)'' to launch a new session in [[Wayland]].
* Select ''Plasma Mobile (Wayland)'' to launch a new Plasma Mobile session in [[Wayland]].


=== From the console ===
=== From the console ===


* To start Plasma with [[xinit|xinit/startx]], append {{ic|1=export DESKTOP_SESSION=plasma}} and {{ic|exec startplasma-x11}} to your {{ic|.xinitrc}} file. If you want to start Xorg at login, please see [[Start X at login]].
* To start a Plasma on Wayland session from a console, run {{ic|1=/usr/lib/plasma-dbus-run-session-if-needed /usr/bin/startplasma-wayland}}[https://community.kde.org/KWin/Wayland#Start_a_Plasma_session_on_Wayland].
* To start a Plasma on Wayland session from a console, run {{ic|1=startplasma-wayland}}[https://community.kde.org/KWin/Wayland#Start_a_Plasma_session_on_Wayland]. Manually starting a dbus-session through {{ic|1=dbus-run-session}} should not be needed [https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/128].
* To start Plasma with [[xinit|xinit/startx]], append {{ic|1=export DESKTOP_SESSION=plasma}} and {{ic|exec startplasma-x11}} to your {{ic|.xinitrc}} file or run directly in the console {{ic|startx /usr/bin/startplasma-x11}}. If you want to start Xorg at login, please see [[Start X at login]].


== Configuration ==
== Configuration ==
Line 81: Line 83:


Global themes can also be installed through ''System Settings > Appearance > Global Theme > Get New Global Themes...''.
Global themes can also be installed through ''System Settings > Appearance > Global Theme > Get New Global Themes...''.
{{Warning|Global themes are commonly provided by end users and not monitored. You should use extreme caution when downloading and applying global themes. They can run arbitrary code and loss of user data has [https://discuss.kde.org/t/warning-global-themes-and-widgets-created-by-3rd-party-developers-for-plasma-can-and-will-run-arbitrary-code-you-are-encouraged-to-exercise-extreme-caution-when-using-these-products/12714 occurred].}}


====== GTK application appearance ======
====== GTK application appearance ======
Line 117: Line 121:
  $ xprop -remove _KDE_NET_WM_SHADOW
  $ xprop -remove _KDE_NET_WM_SHADOW


then select the panel with the plus-sized cursor. [https://forum.kde.org/viewtopic.php?f=285&t=121592] For automation, install {{Pkg|xorg-xwininfo}} and create the following script:
then select the panel with the plus-sized cursor. [https://forum.kde.org/viewtopic.php%3Ff=285&t=121592.html] For automation, install {{Pkg|xorg-xwininfo}} and create the following script:


{{hc|/usr/local/bin/kde-no-shadow|<nowiki>
{{hc|/usr/local/bin/kde-no-shadow|<nowiki>
#!/bin/bash
#!/bin/bash
for WID in $(xwininfo -root -tree | sed '/"Plasma": ("plasmashell" "plasmashell")/!d; s/^  *\([^ ]*\) .*/\1/g'); do
for WID in $(xwininfo -root -tree | sed '/"plasmashell": ("plasmashell" "plasmashell")/!d; s/^  *\([^ ]*\) .*/\1/g'); do
   xprop -id $WID -remove _KDE_NET_WM_SHADOW
   xprop -id $WID -remove _KDE_NET_WM_SHADOW
done
done
Line 135: Line 139:


See [[HiDPI#KDE Plasma]].
See [[HiDPI#KDE Plasma]].
==== Plasma Mobile ====
To use Plasma Mobile on small screens, [https://invent.kde.org/plasma-mobile/plasma-phone-settings plasma-phone-settings] contains several settings which can be applied globally ({{ic|/etc/xdg}}) and/or per user {{ic|~/.config}}.
===== Applications blacklist =====
{{ic|/etc/xdg/applications-blacklistrc}} (or {{ic|~/.config/applications-blacklistrc}}) removes applications from the applications menu/launcher to unclutter it.
===== KDE globals =====
{{ic|/etc/xdg/kdeglobals}} (or {{ic|~/.config/kdeglobals}}) does the following:
* Sets the webbrowser to [https://apps.kde.org/angelfish/ Angelfish].
* Sets the look and feel ([https://invent.kde.org/plasma/plasma-mobile/-/tree/master/look-and-feel org.kde.plasma.phone]) such that e.g. windows are maximized and do not have a titlebar.
===== Lock screen =====
{{ic|/etc/xdg/kscreenlockerrc}} (or {{ic|~/.config/kscreenlockerrc}}) locks the screen immediately after login. This is useful in combination with [[SDDM#Autologin]].
===== KWin =====
{{ic|/etc/xdg/kwinrc}} (or {{ic|~/.config/kwinrc}}) does the following:
* Disables blur to improve performance.
* Enables the [https://maliit.github.io/ Maliit] virtual keyboard.


==== Window decorations ====
==== Window decorations ====
Line 148: Line 178:
{{Note|Although all modern Linux desktops share the same icon theme format, desktops like [[GNOME]] use fewer icons (esp. in menus and toolbars). Themes developed for such desktops usually lack icons required by Plasma and KDE applications. It is recommended to install Plasma compatible icon themes instead.}}
{{Note|Although all modern Linux desktops share the same icon theme format, desktops like [[GNOME]] use fewer icons (esp. in menus and toolbars). Themes developed for such desktops usually lack icons required by Plasma and KDE applications. It is recommended to install Plasma compatible icon themes instead.}}


{{Tip|Since some icon themes do not inherit from the default icon theme, some icons may be missing.  
{{Tip|Since some icon themes do not inherit from the default icon theme, some icons may be missing.
To inherit from the Breeze, add {{ic|breeze}} to the {{ic|1=Inherits=}} array in {{ic|/usr/share/icon/''theme-name''/index.theme}}, for example: {{ic|1=Inherits=breeze,hicolor}}. You need to reapply this patch after every update to the icon theme, consider using [[Pacman hooks]] to automate the process.}}
To inherit from the Breeze, add {{ic|breeze}} to the {{ic|1=Inherits=}} array in {{ic|/usr/share/icon/''theme-name''/index.theme}}, for example: {{ic|1=Inherits=breeze,hicolor}}. You need to reapply this patch after every update to the icon theme, consider using [[Pacman hooks]] to automate the process.}}


==== Space efficiency ====
==== Space efficiency ====


The Plasma Netbook shell has been dropped from Plasma 5, see the following [https://forum.kde.org/viewtopic.php?f=289&t=126631&p=335947&hilit=plasma+netbook#p335899 KDE forum post]. However, you can achieve something similar by editing the file {{ic|~/.config/kwinrc}} adding {{ic|1=BorderlessMaximizedWindows=true}} in the {{ic|[Windows]}} section.
The Plasma Netbook shell has been dropped from Plasma 5, see the following [https://forum.kde.org/viewtopic.php%3Ff=289&t=126631.html#p335947 KDE forum post]. However, you can achieve something similar by editing the file {{ic|~/.config/kwinrc}} adding {{ic|1=BorderlessMaximizedWindows=true}} in the {{ic|[Windows]}} section.


==== Thumbnail generation ====
==== Thumbnail generation ====
Line 199: Line 229:
[[Install]] {{Pkg|powerdevil}} for an integrated Plasma power managing service. This service offers additional power saving features, monitor brightness control (if supported) and battery reporting including peripheral devices.
[[Install]] {{Pkg|powerdevil}} for an integrated Plasma power managing service. This service offers additional power saving features, monitor brightness control (if supported) and battery reporting including peripheral devices.


{{Tip|
{{Tip|Integration with [https://pointieststick.com/2021/07/23/this-week-in-kde-power-profiles-and-a-more-polished-kickoff/ power profiles] requires the [[power-profiles-daemon]] optional dependency.
* An alternative package without [[NetworkManager]] and [[Bluez]] dependencies is provided by {{AUR|powerdevil-light}}.
* An alternative package with [[Wikipedia:DDC/CI|DDC/CI]]-enabled [[backlight]] control for external monitors is provided by {{AUR|powerdevil-ddcutil}}.
* Integration with [https://pointieststick.com/2021/07/23/this-week-in-kde-power-profiles-and-a-more-polished-kickoff/ power profiles] requires the [[power-profiles-daemon]] optional dependency.
}}
}}


{{Accuracy|1=Regarding the note below, it might be that the problem is the logind setting ''LidSwitchIgnoreInhibited'' which defaults to ''yes''. [https://bbs.archlinux.org/viewtopic.php?pid=1649022#p1649022]}}
{{Accuracy|1=Regarding the note below, it might be that the problem is the logind setting ''LidSwitchIgnoreInhibited'' which defaults to ''yes''. [https://bbs.archlinux.org/viewtopic.php?pid=1649022#p1649022]}}


{{Note|Power Devil may not [[Power management#Power managers|inhibit]] all logind settings (such as the lid close action for laptops). In these cases, the logind setting itself will need to be changed - see [[Power management#Power management with systemd]].}}
{{Note|Power Devil may not [[Power management#Power managers|inhibit]] all logind settings (such as the lid close action for laptops). In these cases, the logind setting itself will need to be changed - see [[Power management#ACPI events]].}}


=== Autostart ===
=== Autostart ===
Line 224: Line 251:
** {{ic|~/.config/plasma-workspace/shutdown/}}: for executing scripts when Plasma exits.
** {{ic|~/.config/plasma-workspace/shutdown/}}: for executing scripts when Plasma exits.


See [https://docs.kde.org/trunk5/en/plasma-workspace/kcontrol/autostart/index.html official documentation].
See [https://docs.kde.org/stable5/en/plasma-workspace/kcontrol/autostart/index.html official documentation].


=== Phonon ===
=== Phonon ===
Line 234: Line 261:
:Phonon was originally created to allow KDE and Qt software to be independent of any single multimedia framework such as GStreamer or xine and to provide a stable API for a major version's lifetime.
:Phonon was originally created to allow KDE and Qt software to be independent of any single multimedia framework such as GStreamer or xine and to provide a stable API for a major version's lifetime.


Phonon is being widely used within KDE, for both audio (e.g., the System notifications or KDE audio applications) and video (e.g., the [[Dolphin]] video thumbnails).
Phonon is being widely used within KDE, for both audio (e.g., the System notifications or KDE audio applications) and video (e.g., the [[Dolphin]] video thumbnails). It can use the following backends:


==== Which backend should I choose? ====
* [[VLC]]: {{Pkg|phonon-qt5-vlc}}
* [[GStreamer]]: {{Pkg|phonon-qt5-gstreamer}}, see [[GStreamer#Installation]] for additional codec support
* [[mpv]]: {{AUR|phonon-qt5-mpv}}, {{AUR|phonon-qt5-mpv-git}}


You can choose between backends based on [[GStreamer]], [[VLC]], [[mpv]] and [[MPlayer]] – some available in versions for Qt4 applications and Qt5 applications ({{AUR|phonon-qt4-gstreamer}}, {{Pkg|phonon-qt5-gstreamer}} – {{AUR|phonon-qt4-vlc}}, {{Pkg|phonon-qt5-vlc}}, {{AUR|phonon-qt4-mplayer-git}}, {{AUR|phonon-qt5-mpv}}).
KDE [https://community.kde.org/Distributions/Packaging_Recommendations#Non-Plasma_packages recommends only the VLC backend]. The GStreamer backend is [https://invent.kde.org/libraries/phonon-gstreamer/-/issues/1 unmaintained] but prominent Linux distributions (Kubuntu and Fedora-KDE for example) use it as default because that allows them to easily leave out patented MPEG codecs from the default installation.
 
[https://www.phoronix.com/scan.php?page=news_item&px=MTUwNDM Upstream prefers VLC] but prominent Linux distributions (Kubuntu and Fedora-KDE for example) prefer GStreamer because that allows them to easily leave out patented MPEG codecs from the default installation. Both backends have a slightly different [https://community.kde.org/Phonon/FeatureMatrix features set]. The Gstreamer backend has some optional codec dependency, install them as needed:
 
* {{Pkg|gst-libav}} — Libav codecs.
* {{Pkg|gst-plugins-good}} — PulseAudio support and additional codecs.
* {{Pkg|gst-plugins-ugly}} — additional codecs.
* {{Pkg|gst-plugins-bad}} — additional codecs.


{{Note|1=<br>
{{Note|1=<br>
* Multiple backends can be installed at once and prioritized via the ''phononsettings'' application.
* Multiple backends can be installed at once and prioritized via the ''phononsettings'' application.
* According to the [https://forum.kde.org/viewtopic.php?f=250&t=126476&p=335080 KDE forums], the VLC backend lacks support for [[wikipedia:ReplayGain|ReplayGain]].
* According to the [https://forum.kde.org/viewtopic.php%3Ff=250&t=126476.html#p335080 KDE forums], the VLC backend lacks support for [[wikipedia:ReplayGain|ReplayGain]].
* If using the VLC backend, you may experience crashes every time Plasma wants to send you an audible warning and in quite a number of other cases as well [https://forum.kde.org/viewtopic.php?f=289&t=135956]. A possible fix is to rebuild the VLC plugins cache:
* If using the VLC backend, you may experience crashes every time Plasma wants to send you an audible warning and in quite a number of other cases as well [https://forum.kde.org/viewtopic.php%3Ff=289&t=135956.html]. A possible fix is to rebuild the VLC plugins cache:
{{bc|# /usr/lib/vlc/vlc-cache-gen /usr/lib/vlc/plugins}}
{{bc|# /usr/lib/vlc/vlc-cache-gen /usr/lib/vlc/plugins}}
}}
}}
Line 295: Line 317:
* {{App|kde-gtk-config|GTK2 and GTK3 Configurator for KDE.|https://invent.kde.org/plasma/kde-gtk-config|{{Pkg|kde-gtk-config}}}}
* {{App|kde-gtk-config|GTK2 and GTK3 Configurator for KDE.|https://invent.kde.org/plasma/kde-gtk-config|{{Pkg|kde-gtk-config}}}}
* {{App|System policies|Set of configuration modules which allows administrator to change [[PolicyKit]] settings.|https://invent.kde.org/system/polkit-kde-kcmodules-1|{{AUR|kcm-polkit-kde-git}}}}
* {{App|System policies|Set of configuration modules which allows administrator to change [[PolicyKit]] settings.|https://invent.kde.org/system/polkit-kde-kcmodules-1|{{AUR|kcm-polkit-kde-git}}}}
* {{App|wacom tablet|KDE GUI for the Wacom Linux Drivers.|https://www.linux-apps.com/p/1127862/|{{Pkg|kcm-wacomtablet}}}}
* {{App|wacom tablet|KDE GUI for the Wacom Linux Drivers.|https://www.linux-apps.com/p/1127862/|{{Pkg|kcm-wacomtablet}}{{Broken package link|replaced by {{Pkg|wacomtablet}}}}}}
* {{App|Kcmsystemd|systemd control module for KDE.|https://github.com/rthomsen/kcmsystemd|{{AUR|systemd-kcm}}}}
* {{App|Kcmsystemd|systemd control module for KDE.|https://github.com/rthomsen/kcmsystemd|{{AUR|systemd-kcm}}}}


More KCMs can be found at [https://www.linux-apps.com/search/projectSearchText/kcm linux-apps.com].
More KCMs can be found at [https://www.linux-apps.com/find?search=kcm linux-apps.com].


=== Desktop search ===
=== Desktop search ===
Line 313: Line 335:
* {{App|[[Firefox]]|Firefox can be configured to better integrate with Plasma. See [[Firefox#KDE integration]] for details.|https://mozilla.org/firefox|{{Pkg|firefox}}}}
* {{App|[[Firefox]]|Firefox can be configured to better integrate with Plasma. See [[Firefox#KDE integration]] for details.|https://mozilla.org/firefox|{{Pkg|firefox}}}}


{{Tip|Starting from Plasma 5.13, one can integrate [[Firefox]] or [[Chrome]] with Plasma: providing media playback control from the Plasma tray, download notifications and find open tabs in KRunner. [[Install]] {{pkg|plasma-browser-integration}} and the corresponding browser add-on. Chrome/Chromium support should already be included, for Firefox add-on see [[Firefox#KDE integration]].}}
{{Tip|Starting from Plasma 5.13, one can integrate [[Firefox]] or [[Chrome]] with Plasma: providing media playback control from the Plasma tray, download notifications and find open tabs in KRunner. [[Install]] {{Pkg|plasma-browser-integration}} and the corresponding browser add-on. Chrome/Chromium support should already be included, for Firefox add-on see [[Firefox#KDE integration]].}}


=== PIM ===
=== PIM ===
Line 325: Line 347:
Install {{Pkg|akonadi}}. For additional addons, install {{Pkg|kdepim-addons}}.
Install {{Pkg|akonadi}}. For additional addons, install {{Pkg|kdepim-addons}}.


{{Note|If you wish to use a database engine other than [[MariaDB]], then when installing the {{Pkg|akonadi}} package, use the following command to skip installing the {{Pkg|mariadb}} dependencies:
{{Note|
 
* If you wish to use a database engine other than [[MariaDB]], then when installing the {{Pkg|akonadi}} package, use the following command to skip installing the {{Pkg|mariadb}} dependencies: {{bc|# pacman -S akonadi --assume-installed mariadb}} See also {{Bug|32878}}.
# pacman -S akonadi --assume-installed mariadb
* If Akonadi cannot find {{ic|/usr/bin/mysqld}} upon first start, it will fall back to using SQLite.
 
See also {{Bug|32878}}.
}}
}}


Line 409: Line 429:


===== SQLite =====
===== SQLite =====
{{Warning|Using the SQLite backend is not recommended and should be avoided.[https://invent.kde.org/pim/akonadi/-/blob/master/INSTALL#L37]}}


To use [[SQLite]], edit the Akonadi configuration file to match the configuration below:
To use [[SQLite]], edit the Akonadi configuration file to match the configuration below:
Line 416: Line 434:
{{hc|~/.config/akonadi/akonadiserverrc|2=
{{hc|~/.config/akonadi/akonadiserverrc|2=
[%General]
[%General]
Driver=QSQLITE3
Driver=QSQLITE
}}
}}


{{Note|
{{Note|
* When Akonadi starts, it will create the {{ic|[QSQLITE3]}} section and set the appropriate variables in it.
* When Akonadi starts, it will create the {{ic|[QSQLITE]}} section and set the appropriate variables in it.
* The database will be stored as {{ic|~/.local/share/akonadi/akonadi.db}}.
* The database will be stored as {{ic|~/.local/share/akonadi/akonadi.db}}.
}}
}}
Line 427: Line 445:


Users who want to disable Akonadi would need to not start any KDE applications that rely on it. See this [https://userbase.kde.org/Akonadi#Disabling_the_Akonadi_subsystem section in the KDE userbase] for more information.
Users who want to disable Akonadi would need to not start any KDE applications that rely on it. See this [https://userbase.kde.org/Akonadi#Disabling_the_Akonadi_subsystem section in the KDE userbase] for more information.
=== KDE Telepathy ===
[https://community.kde.org/KTp KDE Telepathy] is a project with the goal to closely integrate Instant Messaging with the KDE desktop. It utilizes the Telepathy framework as a backend and is intended to replace Kopete.
To install all Telepathy protocols, install the {{Grp|telepathy}} group.
To use the KDE Telepathy client, install the {{Pkg|telepathy-kde-meta}} package that includes all the packages contained in the {{Grp|telepathy-kde}} group.
==== Use Telegram with KDE Telepathy ====
{{Out of date|The ''telegram-purple'' project is [https://github.com/majn/telegram-purple#this-project-is-abandoned-see-instead-tdlib-purple abandoned]. See also [[Special:Diff/704779|Diff/704779]]. As mentioned in the previous links, {{AUR|telegram-tdlib-purple-git}} is its successor package.}}
[[Telegram]] protocol is available using {{pkg|telepathy-haze}}, installing {{aur|telegram-purple}} or {{aur|telegram-purple-git}} and {{aur|telepathy-morse-git}}. The username is the Telegram account telephone number (complete with the national prefix {{ic|+''xx''}}, e.g. {{ic|+49}} for Germany).
The configuration through the GUI may be tricky: if the phone number is not accepted when configuring a new account in the KDE Telepathy client (with an error message complaining about an invalid parameter which prevents the account creation), insert it between single quotes and then remove the quotes manually from the configuration file ({{ic|~/.local/share/telepathy/mission-control/accounts.cfg}}) after the account creation (if the quotes are not removed after, an authentication error should rise).
{{Note|The configuration file should be edited manually when KDE Telepathy is not running, e.g. when there is no KDE desktop session active, otherwise manual changes may be overwritten by the software.}}


=== KDE Connect ===
=== KDE Connect ===
Line 457: Line 458:
* RSA Encryption: your information is safe.
* RSA Encryption: your information is safe.


You will need to install KDE Connect both on your computer and on your Android. For PC side, [[install]] {{Pkg|kdeconnect}} package. For Android side, install KDE Connect from [https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp Google Play] or from [https://f-droid.org/packages/org.kde.kdeconnect_tp/ F-Droid]. If you want to browse your phone's filesystem, you need to [[install]] {{Pkg|sshfs}} as well and configure filesystem exposes in your Android app. For iOS, install KDE Connect from the [https://apps.apple.com/app/kde-connect/id1580245991 App Store]. Not all features from the Android version are available on the iOS version.
You will need to install KDE Connect both on your computer and on your phone. For PC, [[install]] {{Pkg|kdeconnect}} package. For Android, install KDE Connect from [https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp Google Play] or from [https://f-droid.org/packages/org.kde.kdeconnect_tp/ F-Droid]. If you want to browse your phone's filesystem, you need to [[install]] {{Pkg|sshfs}} as well and configure filesystem exposes in your Android app. For iOS, install KDE Connect from the [https://apps.apple.com/app/kde-connect/id1580245991 App Store]. Not all features from the Android version are available on the iOS version.


It is possible to use KDE Connect even if you do not use the Plasma desktop. For desktop environments that use AppIndicators, such as Unity, install {{AUR|indicator-kdeconnect}} package as well. For GNOME users, better integration can be achieved by installing {{AUR|gnome-shell-extension-gsconnect}} instead of {{Pkg|kdeconnect}}. To start the KDE Connect daemon manually, execute {{ic|/usr/lib/kdeconnectd}}.
To use remote input functionality on a Plasma Wayland session, the {{Pkg|xdg-desktop-portal}} package is required.
 
It is possible to use KDE Connect even if you do not use the Plasma desktop. For GNOME users, better integration can be achieved by installing {{AUR|gnome-shell-extension-gsconnect}} instead of {{Pkg|kdeconnect}}. To start the KDE Connect daemon manually, execute {{ic|/usr/lib/kdeconnectd}}.


If you use a [[firewall]], you need to open UDP and TCP ports {{ic|1714}} through {{ic|1764}}.
If you use a [[firewall]], you need to open UDP and TCP ports {{ic|1714}} through {{ic|1764}}.


Sometimes, KDE Connect will not detect a phone. You can restart the services by running {{ic|killall kdeconnectd}} and then opening kdeconnect in system settings or running {{ic|kdeconnect-cli --refresh}} followed by {{ic|kdeconnect-cli -l}}.
Sometimes, KDE Connect will not detect a phone. You can restart the services by running {{ic|killall kdeconnectd}} and then opening kdeconnect in system settings or running {{ic|kdeconnect-cli --refresh}} followed by {{ic|kdeconnect-cli -l}}. You can also use ''Pair new device > Add devices by IP'' on KDE Connect for Android.


== Tips and tricks ==
== Tips and tricks ==
Line 472: Line 475:


The component chooser settings in Plasma [https://github.com/KDE/plasma-desktop/commit/2f83a4434a888cd17b03af1f9925cbb054256ade no longer allows changing the window manager], but you are still able to swap KWin via other methods.
The component chooser settings in Plasma [https://github.com/KDE/plasma-desktop/commit/2f83a4434a888cd17b03af1f9925cbb054256ade no longer allows changing the window manager], but you are still able to swap KWin via other methods.
{{Note|When replacing Kwin with a window manager which does not provide a Compositor (such as Openbox), any desktop compositing effects e.g. transparency will be lost. In this case, install and run a separate Composite manager to provide the effects such as [[Xcompmgr]] or [[picom]].}}


==== Replacing KWin service ====
==== Replacing KWin service ====
Line 501: Line 506:
==== Using script-based boot and KDEWM ====
==== Using script-based boot and KDEWM ====


Plasma's script-based boot is used by disabling [[#systemd startup]]. If you have done so, you can change the window manager by setting the {{ic|KDEWM}} [[environment variable]] before Plasma is invoked. The instructions are available on the KDE UserBase Wiki—[https://userbase.kde.org/Tutorials/Using_Other_Window_Managers_with_Plasma Tutorials/Using Other Window Managers with Plasma].
Plasma's script-based boot is used by disabling [[#systemd startup]]. If you have done so, you can change the window manager by setting the {{ic|KDEWM}} [[environment variable]] before Plasma is invoked.
 
===== System-wide =====
 
{{Merge|Environment variables#Globally|This technique should be moved into a new section there (2.1.3: Using Xsession), and then this section merged with the previous one.}}
 
If you have root access, you can also add an XSession that will be available to all users as an option on the login screen.
 
First, create a script with execution permissions as follows:
 
{{hc|1=/usr/local/bin/plasma-i3.sh|2=
#!/bin/sh
export KDEWM=/usr/bin/i3
/usr/bin/startplasma-x11
}}
 
Replace {{ic|/usr/bin/i3}} to the path to your preferred WM. Ensure the path is correctly set. If KDE is unable to start the window manager, the session will fail and the user will be returned to the login screen.
 
Then, to add an XSession, add a file in {{ic|/usr/share/xsessions}} with the following content:
 
{{hc|1=/usr/share/xsessions/plasma-i3.desktop|2=
[Desktop Entry]
Type=XSession
Exec=/usr/local/bin/plasma-i3.sh
DesktopNames=KDE
Name=Plasma (i3)
Comment=KDE Plasma with i3 as the WM}}


==== KDE/Openbox session ====
==== KDE/Openbox session ====
Line 513: Line 544:
}}
}}


==== Re-enabling compositing effects ====
=== KWin tiling window scripts ===


When replacing Kwin with a window manager which does not provide a Compositor (such as Openbox), any desktop compositing effects e.g. transparency will be lost. In this case, install and run a separate Composite manager to provide the effects such as [[Xcompmgr]] or [[picom]].
A list of KWin extensions that can be used to make KDE behave more like a [[tiling window manager]].


=== KWin tiling window scripts ===
* {{App|Bismuth|Add-on that tiles your windows automatically and lets you manage them via keyboard, similarly to i3, Sway or dwm.|https://github.com/Bismuth-Forge/bismuth|{{AUR|kwin-bismuth}}}}
 
* {{App|Polonium|An (unofficial) successor to Bismuth|https://github.com/zeroxoneafour/polonium|{{AUR|kwin-polonium}}}}
[https://github.com/Bismuth-Forge/bismuth Bismuth] and [https://github.com/esjeon/krohnkite Kröhnkite] are Kwin scripts that tiles windows automatically and lets you manage them via keyboard. Bismuth is more actively developed.
* {{App|Kröhnkite|A dynamic tiling extension inspired by dwm.|https://github.com/esjeon/krohnkite|{{AUR|kwin-scripts-krohnkite-git}}}}
* {{App|KZones|A script that mimicks the behavior of Microsoft PowerToys and Windows 11 snap layouts.|https://github.com/gerritdevriese/kzones}}


=== Configuring monitor resolution / multiple monitors ===
=== Configuring monitor resolution / multiple monitors ===
Line 525: Line 557:
To enable display resolution management and multiple monitors in Plasma, install {{Pkg|kscreen}}. This provides additional options to ''System Settings > Display and Monitor''.
To enable display resolution management and multiple monitors in Plasma, install {{Pkg|kscreen}}. This provides additional options to ''System Settings > Display and Monitor''.


=== KWin-lowlatency ===
=== Configuring ICC profiles ===
 
To enable [[ICC profiles]] in Plasma, [[install]] {{Pkg|colord-kde}}. This provides additional options to ''System Settings > Color Corrections''.
 
ICC profiles can be imported using ''Add Profile''.
 
=== HDR ===
 
HDR support is experimental and only works in a Wayland session. ''System Settings > Display & Monitor > High Dynamic Range > Enable HDR''.
 
For more information see [https://zamundaaa.github.io/wayland/2023/12/18/update-on-hdr-and-colormanagement-in-plasma.html Xaver Hugl's blog post] and [[HDR monitor support]]
 
Things that work:


{{Out of date|[https://github.com/tildearrow/kwin-lowlatency KWin-lowlatency] is currently (February 2022) unmaintained/abandoned and will not work with Plasma 5.24.}}
==== Games ====


[https://github.com/tildearrow/kwin-lowlatency KWin-lowlatency] is a attempt to reduce latency and stuttering in the popular KWin compositor, and is available as {{AUR|kwin-lowlatency}}.
Until upstream APIs are finalized, some games require a special vulkan layer to function {{AUR|vk-hdr-layer-kwin6-git}}


=== Configuring ICC profiles ===
* Launch Steam with HDR enabled. All games will then have HDR enabled, but Steam will be inside a gamescope window.
$ ENABLE_HDR_WSI=1 gamescope --hdr-enabled --hdr-debug-force-output --steam -- env ENABLE_GAMESCOPE_WSI=1 DXVK_HDR=1 DISABLE_HDR_WSI=1 steam
* Set launch options for a game in Steam to enable HDR
DXVK_HDR=1 ENABLE_HDR_WSI=1 gamescope -f -r 144 --hdr-enabled --hdr-debug-force-output -- env MANGOHUD=1 gamemoderun %command%
* Launch a windows application with HDR enabled using Wine 9 on Wayland
$ ENABLE_HDR_WSI=1 DXVK_HDR=1 DISPLAY= wine <executable.exe>
* Run native games with HDR (Quake II RTX)
$ ENABLE_HDR_WSI=1 SDL_VIDEODRIVER=wayland quake2rtx


To enable [[ICC profiles]] in Plasma, [[install]] {{Pkg|colord-kde}}. This provides additional options to ''System Settings > Color Corrections''.
==== Video ====


ICC profiles can be imported using ''Add Profile''.
* Play a video with HDR using MPV
$ ENABLE_HDR_WSI=1 mpv --vo=gpu-next --target-colorspace-hint --gpu-api=vulkan --gpu-context=waylandvk "path/to/video"


=== Disable opening application launcher with Super key (Windows key) ===
=== Disable opening application launcher with Super key (Windows key) ===


To disable this feature you currently can run the following command:
To disable this feature you currently have to edit the {{ic|kwinrc}} config file (by default in XDG_CONFIG_HOME/) and set the {{ic|Meta}} key under {{ic|ModifierOnlyShortcuts}} to an empty string:
 
{{hc|Before:|[ModifierOnlyShortcuts]
Meta{{=}}org.kde.plasmashell,/PlasmaShell,org.kde.PlasmaShell,activateLauncherMenu
}}
 
to
{{hc|After:|[ModifierOnlyShortcuts]
Meta{{=}}
}}
 
Alternatively you can also run the following command:


  $ kwriteconfig5 --file kwinrc --group ModifierOnlyShortcuts --key Meta ""
  $ kwriteconfig5 --file kwinrc --group ModifierOnlyShortcuts --key Meta ""
Line 616: Line 679:


To create a rule you can press {{ic|Alt+F3}} when the window of interest is in focus. Then, in ''More Actions > Configure special application/window settings'', you can set the desired property. A list of created rules is available from ''System Settings > Window Management > Window Rules''.
To create a rule you can press {{ic|Alt+F3}} when the window of interest is in focus. Then, in ''More Actions > Configure special application/window settings'', you can set the desired property. A list of created rules is available from ''System Settings > Window Management > Window Rules''.
=== Virtual keyboard ===
There are no virtual keyboards installed by default. Choose an appropriate one from [[List of applications/Utilities#On-screen keyboards]], for example the Maliit keyboard, and install it. Then enable it in System Settings.


== Troubleshooting ==
== Troubleshooting ==
=== KDE icons missing after upgrade to KDE 6 ===
After the last upgrade to KDE 6 I noticed issues with all of the KDE icons not displaying. Newly created accounts showed them just fine.
The issue for this is that the theme got lost while upgrading and had to be reassigned manually. For this go to:
"System Settings > Colors & Themes > Global Theme > Icons" and select the theme you would like to use for the icons again.


=== qt5ct and kvantum bugs after upgrade ===
=== qt5ct and kvantum bugs after upgrade ===
Line 671: Line 745:


Optionally, empty the {{ic|~/.cache/}} folder contents, however, this will also clear the cache of other applications:
Optionally, empty the {{ic|~/.cache/}} folder contents, however, this will also clear the cache of other applications:
 
  $ rm -rf ~/.cache/*
  $ rm -rf ~/.cache/*


Line 716: Line 790:
==== Disable desktop effects manually or automatically for defined applications ====
==== Disable desktop effects manually or automatically for defined applications ====


Plasma has desktop effects enabled by default and e.g. not every game will disable them automatically. You can disable desktop effects in ''System Settings > Workspace Behavior > Desktop Effects'' and you can toggle desktop effects with {{ic|Alt+Shift+F12}}.  
Plasma has desktop effects enabled by default and e.g. not every game will disable them automatically. You can disable desktop effects in ''System Settings > Workspace Behavior > Desktop Effects'' and you can toggle desktop effects with {{ic|Alt+Shift+F12}}.


Additionally, you can create custom KWin rules to automatically disable/enable compositing when a certain application/window starts under ''System Settings > Window Management > Window Rules''.
Additionally, you can create custom KWin rules to automatically disable/enable compositing when a certain application/window starts under ''System Settings > Window Management > Window Rules''.
Line 738: Line 812:
==== Plasma cursor sometimes shown incorrectly ====
==== Plasma cursor sometimes shown incorrectly ====


Create the directory {{ic|~/.icons/default}} and inside a file named {{ic|index.theme}} with the following contents:
Create the directory {{ic|~/.icons/default}} (or {{ic|${XDG_DATA_HOME:-$HOME/.local/share}/icons/default/}}) and inside a file named {{ic|index.theme}} with the following contents:


{{hc|~/.icons/default/index.theme|2=
{{hc|~/.icons/default/index.theme|2=
Line 744: Line 818:
Inherits=breeze_cursors
Inherits=breeze_cursors
}}
}}
Replace {{ic|breeze_cursors}} with the actual cursor theme you use if needed.


Execute the following command:
Execute the following command:


  $ ln -s /usr/share/icons/breeze_cursors/cursors ~/.icons/default/cursors
  $ ln -s /usr/share/icons/breeze_cursors/cursors ~/.icons/default/cursors
On Wayland, it is necessary for {{Pkg|xdg-desktop-portal-gtk}} to be installed for GTK/GNOME applications to correctly apply cursor themes.
===== Firefox and Thunderbird ignore cursor theme =====
If you have enabled [[Firefox#Wayland]] support, Firefox and Thunderbird will refer to GSettings to determine which cursor to display.
To sync KDE settings to GTK applications, install {{Pkg|kde-gtk-config}}.
If you do not want to install an extra package, you can set the cursor theme manually:
$ gsettings set org.gnome.desktop.interface cursor-theme ''cursor-theme-name''


==== Cursor jerking/flicking when changing roles (e.g., when mousing over hyperlinks) ====
==== Cursor jerking/flicking when changing roles (e.g., when mousing over hyperlinks) ====
Line 773: Line 861:
==== Spectacle screenshot uses old screen state ====
==== Spectacle screenshot uses old screen state ====


In ''System Settings > Display and Monitor > Compositor'', change ''Keep window thumbnails'' from ''Only from Shown windows'' to ''Never''.
In ''System Settings > Display and Monitor > Compositor'', change ''Keep window thumbnails'' from ''Only from Shown windows'' to ''Never''. If you're on Intel graphics, ensure that {{Pkg|xf86-video-intel}} is [[Intel graphics#Installation|not installed]].


=== Sound problems ===
=== Sound problems ===
Line 781: Line 869:
==== No sound after suspend ====
==== No sound after suspend ====


If there is no sound after suspending and if KMix does not show audio devices which should be there, restarting plasmashell and pulseaudio may help:
If there is no sound after suspending and KMix does not show audio devices which should be there, restarting plasmashell and pulseaudio may help:


  $ killall plasmashell
  $ killall plasmashell
Line 800: Line 888:


Check if you have {{Pkg|plasma-pa}} installed.
Check if you have {{Pkg|plasma-pa}} installed.
==== No sound after a short time ====
If {{ic|journalctl -p4 -t pulseaudio}} contains entries saying {{ic|Failed to create sink input: sink is suspended}}, try commenting the following line in in {{ic|/etc/pulse/default.pa}}:
#load-module module-suspend-on-idle
If the issue persists, {{Pkg|plasma-meta}} or {{Grp|plasma}} may have installed {{Pkg|pulseaudio}} alongside {{Pkg|wireplumber}}. To fix the issue, replace {{Pkg|pulseaudio}} with {{Pkg|pipewire-pulse}}. If {{Pkg|pulseaudio}} is preferred, replace {{Pkg|wireplumber}} with {{Pkg|pipewire-media-session}}. See [[PipeWire#PulseAudio clients]] and [https://bbs.archlinux.org/viewtopic.php?id=276308 this forum thread] for more details.


=== Power management ===
=== Power management ===
Line 806: Line 902:


If your system is able to suspend or hibernate using [[systemd]] but do not have these options shown in KDE, make sure {{Pkg|powerdevil}} is installed.
If your system is able to suspend or hibernate using [[systemd]] but do not have these options shown in KDE, make sure {{Pkg|powerdevil}} is installed.
==== No power profile options ====
Make sure you [[install]]ed {{Pkg|powerdevil}} and {{Pkg|power-profiles-daemon}}.
Run ''powerprofilesctl'' and check the driver. If it is {{ic|intel_pstate}} or {{ic|amd_pstate}}, you are done, otherwise see [[CPU frequency scaling#Scaling drivers]] for more information on enabling them.


=== KMail ===
=== KMail ===
Line 828: Line 929:
  $ qdbus org.freedesktop.Akonadi.Resource.akonadi_ews_resource_0 /Settings org.kde.Akonadi.Ews.Wallet.setPassword "XXX"
  $ qdbus org.freedesktop.Akonadi.Resource.akonadi_ews_resource_0 /Settings org.kde.Akonadi.Ews.Wallet.setPassword "XXX"


=== Aggressive QXcbConnection journal logging ===
=== Aggressive QXcbConnection / kscreen.xcb.helper journal logging ===


See [[Qt#Disable/Change Qt journal logging behaviour]].
See [[Qt#Disable/Change Qt journal logging behaviour]].
Line 848: Line 949:
=== Discover does not show any applications ===
=== Discover does not show any applications ===


This can be solved by installing {{Pkg|packagekit-qt5}}.
This can be solved by installing {{Pkg|packagekit-qt6}} or {{Pkg|packagekit-qt5}} depending on your Plasma/Qt version.
 
{{Warning|As explained in a [https://github.com/archlinux/archinstall/issues/1321#issuecomment-1151343223 GitHub comment] by a Package Maintainer, "Handling system packages via packagekit is just fundamentally incompatible with our high-maintenance rolling release distro, where any update might leave the system in an unbootable or otherwise unusable state if the user does not take care reading pacman's logs or merging pacnew files before rebooting."}}


=== Discover stops showing updates from Arch repositories ===
=== Discover stops showing updates from Arch repositories ===
Line 898: Line 1,001:
=== Custom Shortcuts tab is missing under Shortcuts in System Settings ===
=== Custom Shortcuts tab is missing under Shortcuts in System Settings ===


This is due to the {{Pkg|khotkeys}} package being missing. After installation, a restart of the System Settings application may be necessary to apply the changes.
This is due to the {{Pkg|khotkeys}}{{Broken package link|package not found}} package being missing. After installation, a restart of the System Settings application may be necessary to apply the changes.


=== Lock the screen before suspending and hibernating ===
=== Lock the screen before suspending and hibernating ===
Line 919: Line 1,022:
}}
}}


The use of ''sleep'' is necessary in order for the lock-session to complete before the device is suspended. Lower value do not allow for completion.  
The use of ''sleep'' is necessary in order for the lock-session to complete before the device is suspended. Lower value do not allow for completion.


After creating the file, make it [[executable]].  
After creating the file, make it [[executable]].


Finally, make sure that the KDE setting is enabled by going to ''System Settings > Workspace Behavior > Screen Locking'' and checking the ''After waking from sleep'' checkbox.
Finally, make sure that the KDE setting is enabled by going to ''System Settings > Workspace Behavior > Screen Locking'' and checking the ''After waking from sleep'' checkbox.
=== X11 shortcuts conflict on Wayland ===
Some X11 software like {{Pkg|freerdp}} can grab keyboard input since KDE 5.27. Others like [[VMware]] cannot grab correctly. [https://gitlab.freedesktop.org/wayland/wayland-protocols/-/blob/main/unstable/keyboard-shortcuts-inhibit/keyboard-shortcuts-inhibit-unstable-v1.xml]
It is inappropriate to force grab [https://gitlab.freedesktop.org/xorg/xserver/-/issues/1332 in Xserver] or in compositors. [https://gitlab.gnome.org/GNOME/mutter/-/issues/1720] You can solve it in an elegant way as follows:
* Right click the window titlebar (e.g. VMware or Citrix);
* ''More Actions > Configure Special Window Settings...''
* Click ''Add Property...'' and select ''Ignore global shortcuts''.
* Select ''force'' and ''yes''. Apply it.
=== System settings not applying when changed ===
This can be caused because system settings cannot access/modify the .config folder in your home directory.
To fix this, you need to change the owner of the folder:
# chown ''user'':''user'' /home/''user''/.config
{{ic|''user''}} refers to the name of the user that you are logged into in KDE Plasma. If the name of your home directory is not the same as the user you are logged in as, you can change it accordingly.
If this does not work, you might need to change the permissions of the folder:
# chmod 755 /home/''user''/.config


== See also ==
== See also ==
Line 930: Line 1,058:
* [https://dot.kde.org/ KDE news]
* [https://dot.kde.org/ KDE news]
* [https://planet.kde.org/ KDE Blogs]
* [https://planet.kde.org/ KDE Blogs]
* [https://forum.kde.org/ KDE Forums]
* [https://discuss.kde.org/ KDE Forums]
* [https://wiki.kde.org/ KDE Wikis]
* [https://wiki.kde.org/ KDE Wikis]
* [https://bugs.kde.org/ KDE bug tracker and reporter]
* [https://bugs.kde.org/ KDE bug tracker and reporter]
* [https://blog.martin-graesslin.com/blog/kategorien/kde/ Martin Graesslin's blog]
* [https://blog.martin-graesslin.com/blog/kategorien/kde/ Martin Graesslin's blog]
* [https://community.kde.org/Matrix KDE Matrix Rooms]
* [https://community.kde.org/Matrix KDE Matrix Rooms]

Latest revision as of 09:02, 24 March 2024

KDE is a software project currently comprising a desktop environment known as Plasma, a collection of libraries and frameworks (KDE Frameworks) and several applications (KDE Applications) as well. KDE upstream has a well maintained UserBase wiki. Detailed information about most KDE applications can be found there.

Installation

Plasma

Install the plasma-meta meta-package or the plasma group. For differences between plasma-meta and plasma reference Package group. Alternatively, for a more minimal Plasma installation, install the plasma-desktop package. Upstream KDE has package and setup recommendations to get a fully-featured Plasma session.

If you are an NVIDIA user with the proprietary nvidia driver and wish to use the Wayland session, enable the DRM kernel mode setting.

Plasma Mobile

Install plasma-mobileAUR.

KDE applications

To install the full set of KDE Applications, install the kde-applications group or the kde-applications-meta meta-package. If you only want KDE applications for a certain category such as games or education, install the relevant dependency of kde-applications-meta. Note that this will only install applications, it will not install any version of Plasma.

Unstable releases

See Official repositories#kde-unstable for beta releases.

Starting Plasma

Note: As of KDE Plasma 6, the Wayland session has matured enough to become the default and preferred one. The Xorg session is still supported, but will be removed in a future release. See Wayland Known Significant Issues and X11 Known Significant Issues for more information.

Plasma can be started either using a display manager, or from the console.

Using a display manager

Tip: The preferred display manager is SDDM.
  • Select Plasma (Wayland) to launch a new session in Wayland.
  • Select Plasma (X11) to launch a new session in Xorg.
  • Select Plasma Mobile (Wayland) to launch a new Plasma Mobile session in Wayland.

From the console

  • To start a Plasma on Wayland session from a console, run /usr/lib/plasma-dbus-run-session-if-needed /usr/bin/startplasma-wayland[1].
  • To start Plasma with xinit/startx, append export DESKTOP_SESSION=plasma and exec startplasma-x11 to your .xinitrc file or run directly in the console startx /usr/bin/startplasma-x11. If you want to start Xorg at login, please see Start X at login.

Configuration

Most settings for KDE applications are stored in ~/.config/. However, configuring KDE is primarily done through the System Settings application. It can be started from a terminal by executing systemsettings.

Personalization

Plasma desktop

Themes

There are different types of KDE themes, varying by scope of what they modify:

  • Global themes, comprehensive packages that can include Plasma themes, application styles, colors, fonts, icons, cursors, splash screens, SDDM themes, and Konsole color schemes.
  • Plasma themes, modifying the look of Plasma panels and widgets. These often have a recommended accompanying Kvantum or Aurorae theme to complete the look.
  • Application styles, modifying the look of programs.
  • Application styles that use theme engines such as Kvantum, QtCurve [2], QSvgStyle [3], and Aurorae.
  • #Icon themes, providing icons for applications, files, and actions.

For easy system-wide installation and updating, some themes are available in both the official repositories and the AUR.

Global themes can also be installed through System Settings > Appearance > Global Theme > Get New Global Themes....

Warning: Global themes are commonly provided by end users and not monitored. You should use extreme caution when downloading and applying global themes. They can run arbitrary code and loss of user data has occurred.
GTK application appearance
Tip: For Qt and GTK theme consistency, see Uniform look for Qt and GTK applications.

The recommended theme for a pleasant appearance in GTK applications is breeze-gtk, a GTK theme designed to mimic the appearance of Plasma's Breeze theme. Install kde-gtk-config (part of the plasma group) and select Breeze as the GTK theme in System Settings > Appearance > Application Style > Configure GNOME/GTK Application Style....

This article or section is out of date.

Reason: The Plasma GTKd background service overwrites GTK settings on Plasma startup. (Discuss in Talk:KDE)

In some themes, tooltips in GTK applications have white text on white backgrounds making it difficult to read. To change the colors in GTK2 applications, find the section for tooltips in the .gtkrc-2.0 file and change it. For GTK3 application two files need to be changed, gtk.css and settings.ini.

Some GTK2 programs like vuescan-binAUR still look hardly usable due to invisible checkboxes with the Breeze or Adwaita skin in a Plasma session. To workaround this, install and select e.g. the Numix-Frost-Light skin of the numix-frost-themesAUR under System Settings > Appearance > Application Style > Configure GNOME/GTK Application Style... > GTK theme. Numix-Frost-Light looks similar to Breeze.

Faces

Plasma and SDDM will both use images found at /var/lib/AccountsService/icons/ as users' avatars. To configure with a graphical interface, you can use System Settings > Users, which may first need to be installed (see the plasma-desktop package). The file corresponding to your username can be removed to restore the default avatar.

Widgets

Plasmoids are widgets for plasma desktop shell designed to enhance the functionality of desktop, they can be found on the AUR.

Plasmoid scripts can also be installed by right-clicking onto a panel or the desktop and choosing Add Widgets > Get New Widgets... > Download New Plasma Widgets. This will present a front-end for https://store.kde.org/ that allows you to install, uninstall, or update third-party Plasmoid scripts with just one click.

Sound applet in the system tray

Install plasma-pa or kmix (start Kmix from the Application Launcher). plasma-pa is now installed by default with plasma, no further configuration needed.

Note: To adjust the step size of volume increments/decrements, add e.g. VolumePercentageStep=1 in the [Global] section of ~/.config/kmixrc.
Disable panel shadow

As the Plasma panel is on top of other windows, its shadow is drawn over them. [4] To disable this behaviour without impacting other shadows, install xorg-xprop and run:

$ xprop -remove _KDE_NET_WM_SHADOW

then select the panel with the plus-sized cursor. [5] For automation, install xorg-xwininfo and create the following script:

/usr/local/bin/kde-no-shadow
#!/bin/bash
for WID in $(xwininfo -root -tree | sed '/"plasmashell": ("plasmashell" "plasmashell")/!d; s/^  *\([^ ]*\) .*/\1/g'); do
   xprop -id $WID -remove _KDE_NET_WM_SHADOW
done

Make the script executable.

The script can be run on login with Add Script in Autostart:

$ kcmshell5 autostart
Display scaling / High DPI displays

See HiDPI#KDE Plasma.

Plasma Mobile

To use Plasma Mobile on small screens, plasma-phone-settings contains several settings which can be applied globally (/etc/xdg) and/or per user ~/.config.

Applications blacklist

/etc/xdg/applications-blacklistrc (or ~/.config/applications-blacklistrc) removes applications from the applications menu/launcher to unclutter it.

KDE globals

/etc/xdg/kdeglobals (or ~/.config/kdeglobals) does the following:

Lock screen

/etc/xdg/kscreenlockerrc (or ~/.config/kscreenlockerrc) locks the screen immediately after login. This is useful in combination with SDDM#Autologin.

KWin

/etc/xdg/kwinrc (or ~/.config/kwinrc) does the following:

  • Disables blur to improve performance.
  • Enables the Maliit virtual keyboard.

Window decorations

Window decorations can be found in the AUR.

They can be changed in System Settings > Appearance > Window Decorations, there you can also directly download and install more themes with one click.

Icon themes

Icon themes can be installed and changed on System Settings > Appearance > Icons.

Note: Although all modern Linux desktops share the same icon theme format, desktops like GNOME use fewer icons (esp. in menus and toolbars). Themes developed for such desktops usually lack icons required by Plasma and KDE applications. It is recommended to install Plasma compatible icon themes instead.
Tip: Since some icon themes do not inherit from the default icon theme, some icons may be missing. To inherit from the Breeze, add breeze to the Inherits= array in /usr/share/icon/theme-name/index.theme, for example: Inherits=breeze,hicolor. You need to reapply this patch after every update to the icon theme, consider using Pacman hooks to automate the process.

Space efficiency

The Plasma Netbook shell has been dropped from Plasma 5, see the following KDE forum post. However, you can achieve something similar by editing the file ~/.config/kwinrc adding BorderlessMaximizedWindows=true in the [Windows] section.

Thumbnail generation

To allow thumbnail generation for media or document files on the desktop and in Dolphin, install kdegraphics-thumbnailers and ffmpegthumbs.

Then enable the thumbnail categories for the desktop via right click on the desktop background > Configure Desktop and Wallpaper... > Icons > Configure Preview Plugins....

In Dolphin, navigate to Configure > Configure Dolphin... > General > Previews.

Night Color

Plasma provides a Redshift-like feature (working on both Xorg and Wayland) called Night Color. It makes the colors on the screen warmer to reduce eye strain at the time of your choosing. It can be enabled in System Settings > Display and Monitor > Night Color.

Tip: To have a handy System Tray on/off button for night color you need the kdeplasma-addons and then you can add it.

Printing

Tip: Use the CUPS web interface for faster configuration. Printers configured in this way can be used in KDE applications.

You can also configure printers in System Settings > Printers. To use this method, you must first install the following packages print-manager, cups, system-config-printer. See CUPS#Configuration.

Samba/Windows support

If you want to have access to Windows services, install Samba (package samba).

The Dolphin share functionality requires the package kdenetwork-filesharing and usershares, which the stock smb.conf does not have enabled. Instructions to add them are in Samba#Enable Usershares, after which sharing in Dolphin should work out of the box after restarting Samba.

Tip: Use * (asterisk) for both username and password when accessing a Windows share without authentication in Dolphin's prompt.

Unlike GTK file browsers which utilize GVfs also for the launched program, opening files from Samba shares in Dolphin via KIO makes Plasma copy the whole file to the local system first with most programs (VLC is an exception). To workaround this, you can use a GTK based file browser like thunar with gvfs and gvfs-smb (and gnome-keyring for saving login credentials) to access SMB shares in a more able way.

Another possibility is to mount a Samba share via cifs-utils to make it look to Plasma like if the SMB share was just a normal local folder and thus can be accessed normally. See Samba#Manual mounting and Samba#Automatic mounting.

An GUI solution is available with samba-mounter-gitAUR, which offers basically the same functionality via an easy to use option located at System Settings > Network Drivers. However, it might break with new KDE Plasma versions.

KDE Desktop activities

KDE Desktop Activities are special workspaces where you can select specific settings for each activity that apply only when you are using said activity.

Power management

Install powerdevil for an integrated Plasma power managing service. This service offers additional power saving features, monitor brightness control (if supported) and battery reporting including peripheral devices.

Tip: Integration with power profiles requires the power-profiles-daemon optional dependency.

The factual accuracy of this article or section is disputed.

Reason: Regarding the note below, it might be that the problem is the logind setting LidSwitchIgnoreInhibited which defaults to yes. [6] (Discuss in Talk:KDE)
Note: Power Devil may not inhibit all logind settings (such as the lid close action for laptops). In these cases, the logind setting itself will need to be changed - see Power management#ACPI events.

Autostart

Plasma can autostart applications and run scripts on startup and shutdown. To autostart an application, navigate to System Settings > Startup and Shutdown > Autostart and add the program or shell script of your choice. For applications, a .desktop file will be created, for login scripts, a .desktop file launching the script will be created.

Note:
  • Programs can be autostarted on login only, whilst shell scripts can also be run on shutdown or even before Plasma itself starts.
  • Shell scripts will only be run if they are marked executable.
  • Shell scripts previously placed in ~/.config/autostart-scripts/ will get automatically migrated to .desktop files.
  • Place Desktop entries (i.e. .desktop files) in the appropriate XDG Autostart directory.
  • Place or symlink shell scripts in one of the following directories:
    • ~/.config/plasma-workspace/env/: for executing scripts at login before launching Plasma.
    • ~/.config/plasma-workspace/shutdown/: for executing scripts when Plasma exits.

See official documentation.

Phonon

From Wikipedia:

Phonon is the multimedia API provided by KDE and is the standard abstraction for handling multimedia streams within KDE software and also used by several Qt applications.
Phonon was originally created to allow KDE and Qt software to be independent of any single multimedia framework such as GStreamer or xine and to provide a stable API for a major version's lifetime.

Phonon is being widely used within KDE, for both audio (e.g., the System notifications or KDE audio applications) and video (e.g., the Dolphin video thumbnails). It can use the following backends:

KDE recommends only the VLC backend. The GStreamer backend is unmaintained but prominent Linux distributions (Kubuntu and Fedora-KDE for example) use it as default because that allows them to easily leave out patented MPEG codecs from the default installation.

Note:
  • Multiple backends can be installed at once and prioritized via the phononsettings application.
  • According to the KDE forums, the VLC backend lacks support for ReplayGain.
  • If using the VLC backend, you may experience crashes every time Plasma wants to send you an audible warning and in quite a number of other cases as well [7]. A possible fix is to rebuild the VLC plugins cache:
# /usr/lib/vlc/vlc-cache-gen /usr/lib/vlc/plugins

Backup and restore

KDE Plasma 5 stores personalized desktop settings as configuration files in the XDG_CONFIG_HOME folder. Use the detail of configuration files to select and choose a method of backup and restore.

systemd startup

Plasma uses a systemd user instance to launch and manage all the Plasma services. This is the default startup method since Plasma 5.25, but can be disabled to use boot scripts instead with the following command (however this may stop working in a future release):

$ kwriteconfig5 --file startkderc --group General --key systemdBoot false

More details about the implementation can be read in Edmundson's blog: plasma and the systemd startup.

Spell checking

KDE applications use sonnet for spell checking. See its optional dependencies for the supported spell checkers.

Configure it in System Settings > Regional Settings > Spell Check.

Running kwin wayland on NVIDIA

See https://community.kde.org/Plasma/Wayland/Nvidia.

Applications

The KDE project provides a suite of applications that integrate with the Plasma desktop. See the kde-applications group for a full listing of the available applications. Also see Category:KDE for related KDE application pages.

Aside from the programs provided in KDE Applications, there are many other applications available that can complement the Plasma desktop. Some of these are discussed below.

System administration

Terminate Xorg server through KDE System Settings

Navigate to the submenu System Settings > Input Devices > Keyboard > Advanced (tab) > "Key Sequence to kill the X server" and ensure that the checkbox is ticked.

KCM

KCM stands for KConfig Module. KCMs can help you configure your system by providing interfaces in System Settings, or through the command line with kcmshell5.

  • sddm-kcm — KDE Configuration Module for SDDM.
https://invent.kde.org/plasma/sddm-kcm || sddm-kcm
  • kde-gtk-config — GTK2 and GTK3 Configurator for KDE.
https://invent.kde.org/plasma/kde-gtk-config || kde-gtk-config
  • System policies — Set of configuration modules which allows administrator to change PolicyKit settings.
https://invent.kde.org/system/polkit-kde-kcmodules-1 || kcm-polkit-kde-gitAUR
  • wacom tablet — KDE GUI for the Wacom Linux Drivers.
https://www.linux-apps.com/p/1127862/ || kcm-wacomtablet[broken link: replaced by wacomtablet]
  • Kcmsystemd — systemd control module for KDE.
https://github.com/rthomsen/kcmsystemd || systemd-kcmAUR

More KCMs can be found at linux-apps.com.

Desktop search

KDE implements desktop search with a software called Baloo, a file indexing and searching solution.

Web browsers

The following web browsers can integrate with Plasma:

  • Konqueror — Part of the KDE project, supports two rendering engines – KHTML and the Chromium-based Qt WebEngine.
https://konqueror.org/ || konqueror
  • Falkon — A Qt web browser with Plasma integration features, previously known as Qupzilla. It uses Qt WebEngine.
https://userbase.kde.org/Falkon/ || falkon
  • Chromium — Chromium and its proprietary variant Google Chrome have limited Plasma integration. They can use KWallet and KDE Open/Save windows.
https://www.chromium.org/ || chromium
https://mozilla.org/firefox || firefox
Tip: Starting from Plasma 5.13, one can integrate Firefox or Chrome with Plasma: providing media playback control from the Plasma tray, download notifications and find open tabs in KRunner. Install plasma-browser-integration and the corresponding browser add-on. Chrome/Chromium support should already be included, for Firefox add-on see Firefox#KDE integration.

PIM

KDE offers its own stack for personal information management (PIM). This includes emails, contacts, calendar, etc. To install all the PIM packages, you could use the kde-pim package group or the kde-pim-meta meta package.

Akonadi

Akonadi is a system meant to act as a local cache for PIM data, regardless of its origin, which can be then used by other applications. This includes the user's emails, contacts, calendars, events, journals, alarms, notes, and so on. Akonadi does not store any data by itself: the storage format depends on the nature of the data (for example, contacts may be stored in vCard format).

Install akonadi. For additional addons, install kdepim-addons.

Note:
  • If you wish to use a database engine other than MariaDB, then when installing the akonadi package, use the following command to skip installing the mariadb dependencies:
    # pacman -S akonadi --assume-installed mariadb
    See also FS#32878.
  • If Akonadi cannot find /usr/bin/mysqld upon first start, it will fall back to using SQLite.
MySQL

By default Akonadi will use /usr/bin/mysqld (MariaDB by default, see MySQL for alternative providers) to run a managed MySQL instance with the database stored in ~/.local/share/akonadi/db_data/.

System-wide MySQL instance

Akonadi supports using the system-wide MySQL for its database.[8]

This article or section needs expansion.

Reason: Add instructions. (Discuss in Talk:KDE)
~/.config/akonadi/akonadiserverrc
[%General]
Driver=QMYSQL

[QMYSQL]
Host=
Name=akonadi_username
Options="UNIX_SOCKET=/run/mysqld/mysqld.sock"
StartServer=false
PostgreSQL

Akonadi supports either using the existing system-wide PostgreSQL instance, i.e. postgresql.service, or running a PostgreSQL instance with user privileges and the database in ~/.local/share/akonadi/db_data/.

Per-user PostgreSQL instance

Install postgresql and postgresql-old-upgrade.

Edit Akonadi configuration file so that it has the following contents:

~/.config/akonadi/akonadiserverrc
[%General]
Driver=QPSQL
Note:
  • When Akonadi starts, it will create the [QPSQL] section and set the appropriate variables in it.
  • The database will be stored in ~/.local/share/akonadi/db_data/.

Start Akonadi with akonadictl start, and check its status: akonadictl status.

Note:
System-wide PostgreSQL instance

This requires an already configured and running PostgreSQL.

Create a PostgreSQL user account for your user:

[postgres]$ createuser username

Create a database for Akonadi:

[postgres]$ createdb -O username -E UTF8 --locale=C -T template0 akonadi-username

Configure Akonadi to use the system-wide PostgreSQL:

~/.config/akonadi/akonadiserverrc
[%General]
Driver=QPSQL

[QPSQL]
Host=/run/postgresql
Name=akonadi-username
StartServer=false
Note: Custom port, username and password can be specified with options Port=, User=, Password= in the [QPSQL] section.

Start Akonadi with akonadictl start, and check its status: akonadictl status.

SQLite

To use SQLite, edit the Akonadi configuration file to match the configuration below:

~/.config/akonadi/akonadiserverrc
[%General]
Driver=QSQLITE
Note:
  • When Akonadi starts, it will create the [QSQLITE] section and set the appropriate variables in it.
  • The database will be stored as ~/.local/share/akonadi/akonadi.db.
Disabling Akonadi

Users who want to disable Akonadi would need to not start any KDE applications that rely on it. See this section in the KDE userbase for more information.

KDE Connect

KDE Connect provides several features to connect your Android or iOS phone with your Linux desktop:

  • Share files and URLs to/from KDE from/to any app, without wires.
  • Touchpad emulation: Use your phone screen as your computer's touchpad.
  • Notifications sync (4.3+): Read your Android notifications from the desktop.
  • Shared clipboard: copy and paste between your phone and your computer.
  • Multimedia remote control: Use your phone as a remote for Linux media players.
  • WiFi connection: no usb wire or bluetooth needed.
  • RSA Encryption: your information is safe.

You will need to install KDE Connect both on your computer and on your phone. For PC, install kdeconnect package. For Android, install KDE Connect from Google Play or from F-Droid. If you want to browse your phone's filesystem, you need to install sshfs as well and configure filesystem exposes in your Android app. For iOS, install KDE Connect from the App Store. Not all features from the Android version are available on the iOS version.

To use remote input functionality on a Plasma Wayland session, the xdg-desktop-portal package is required.

It is possible to use KDE Connect even if you do not use the Plasma desktop. For GNOME users, better integration can be achieved by installing gnome-shell-extension-gsconnectAUR instead of kdeconnect. To start the KDE Connect daemon manually, execute /usr/lib/kdeconnectd.

If you use a firewall, you need to open UDP and TCP ports 1714 through 1764.

Sometimes, KDE Connect will not detect a phone. You can restart the services by running killall kdeconnectd and then opening kdeconnect in system settings or running kdeconnect-cli --refresh followed by kdeconnect-cli -l. You can also use Pair new device > Add devices by IP on KDE Connect for Android.

Tips and tricks

Use a different window manager

It is possible to use a window manager other than KWin with Plasma. This allows you to combine the functionality of the KDE desktop with the utility of a tiling window manager, which may be more fleshed out than KWin tiling scripts.

The component chooser settings in Plasma no longer allows changing the window manager, but you are still able to swap KWin via other methods.

Note: When replacing Kwin with a window manager which does not provide a Compositor (such as Openbox), any desktop compositing effects e.g. transparency will be lost. In this case, install and run a separate Composite manager to provide the effects such as Xcompmgr or picom.

Replacing KWin service

Since KDE 5.25, Plasma's systemd based startup is enabled by default.

To replace KWin in this startup, you must first mask the plasma-kwin_x11.service for the current user to prevent it from starting.

Then, create a new systemd user unit to start your preferred WM [9]:

~/.config/systemd/user/plasma-custom-wm.service
[Install]
WantedBy=plasma-workspace.target

[Unit]
Description=Plasma Custom Window Manager
Before=plasma-workspace.target

[Service]
ExecStart=/path/to/other/wm
Slice=session.slice
Restart=on-failure

To use it, do (as user units) a daemon-reload, make sure you have masked plasma-kwin_x11.service then enable the newly created plasma-custom-wm.service.

Note: When using i3 window manager with Plasma, it may be necessary to manually set dialogs to open in floating mode in order for them to correctly appear. For more information, see i3#Correct handling of floating dialogs.

Using script-based boot and KDEWM

Plasma's script-based boot is used by disabling #systemd startup. If you have done so, you can change the window manager by setting the KDEWM environment variable before Plasma is invoked.

System-wide

This article or section is a candidate for merging with Environment variables#Globally.

Notes: This technique should be moved into a new section there (2.1.3: Using Xsession), and then this section merged with the previous one. (Discuss in Talk:KDE)

If you have root access, you can also add an XSession that will be available to all users as an option on the login screen.

First, create a script with execution permissions as follows:

/usr/local/bin/plasma-i3.sh
#!/bin/sh
export KDEWM=/usr/bin/i3
/usr/bin/startplasma-x11

Replace /usr/bin/i3 to the path to your preferred WM. Ensure the path is correctly set. If KDE is unable to start the window manager, the session will fail and the user will be returned to the login screen.

Then, to add an XSession, add a file in /usr/share/xsessions with the following content:

/usr/share/xsessions/plasma-i3.desktop
[Desktop Entry]
Type=XSession
Exec=/usr/local/bin/plasma-i3.sh
DesktopNames=KDE
Name=Plasma (i3)
Comment=KDE Plasma with i3 as the WM

KDE/Openbox session

The openbox package provides a session for using KDE with Openbox. To make use of this session, select KDE/Openbox from the display manager menu.

For those starting the session manually, add the following line to your xinit configuration:

~/.xinitrc
exec openbox-kde-session

KWin tiling window scripts

A list of KWin extensions that can be used to make KDE behave more like a tiling window manager.

  • Bismuth — Add-on that tiles your windows automatically and lets you manage them via keyboard, similarly to i3, Sway or dwm.
https://github.com/Bismuth-Forge/bismuth || kwin-bismuthAUR
  • Polonium — An (unofficial) successor to Bismuth
https://github.com/zeroxoneafour/polonium || kwin-poloniumAUR
  • Kröhnkite — A dynamic tiling extension inspired by dwm.
https://github.com/esjeon/krohnkite || kwin-scripts-krohnkite-gitAUR
  • KZones — A script that mimicks the behavior of Microsoft PowerToys and Windows 11 snap layouts.
https://github.com/gerritdevriese/kzones || not packaged? search in AUR

Configuring monitor resolution / multiple monitors

To enable display resolution management and multiple monitors in Plasma, install kscreen. This provides additional options to System Settings > Display and Monitor.

Configuring ICC profiles

To enable ICC profiles in Plasma, install colord-kde. This provides additional options to System Settings > Color Corrections.

ICC profiles can be imported using Add Profile.

HDR

HDR support is experimental and only works in a Wayland session. System Settings > Display & Monitor > High Dynamic Range > Enable HDR.

For more information see Xaver Hugl's blog post and HDR monitor support

Things that work:

Games

Until upstream APIs are finalized, some games require a special vulkan layer to function vk-hdr-layer-kwin6-gitAUR

  • Launch Steam with HDR enabled. All games will then have HDR enabled, but Steam will be inside a gamescope window.
$ ENABLE_HDR_WSI=1 gamescope --hdr-enabled --hdr-debug-force-output --steam -- env ENABLE_GAMESCOPE_WSI=1 DXVK_HDR=1 DISABLE_HDR_WSI=1 steam
  • Set launch options for a game in Steam to enable HDR
DXVK_HDR=1 ENABLE_HDR_WSI=1 gamescope -f -r 144 --hdr-enabled --hdr-debug-force-output -- env MANGOHUD=1 gamemoderun %command%
  • Launch a windows application with HDR enabled using Wine 9 on Wayland
$ ENABLE_HDR_WSI=1 DXVK_HDR=1 DISPLAY= wine <executable.exe>
  • Run native games with HDR (Quake II RTX)
$ ENABLE_HDR_WSI=1 SDL_VIDEODRIVER=wayland quake2rtx

Video

  • Play a video with HDR using MPV
$ ENABLE_HDR_WSI=1 mpv --vo=gpu-next --target-colorspace-hint --gpu-api=vulkan --gpu-context=waylandvk "path/to/video"

Disable opening application launcher with Super key (Windows key)

To disable this feature you currently have to edit the kwinrc config file (by default in XDG_CONFIG_HOME/) and set the Meta key under ModifierOnlyShortcuts to an empty string:

Before:
[ModifierOnlyShortcuts]
Meta=org.kde.plasmashell,/PlasmaShell,org.kde.PlasmaShell,activateLauncherMenu

to

After:
[ModifierOnlyShortcuts]
Meta= 

Alternatively you can also run the following command:

$ kwriteconfig5 --file kwinrc --group ModifierOnlyShortcuts --key Meta ""

Disable bookmarks showing in application menu

With the Plasma Browser integration installed, KDE will show bookmarks in the application launcher.

To disable this feature, you can run the following commands:

$ mkdir ~/.local/share/kservices5
$ sed 's/EnabledByDefault=true$/EnabledByDefault=false/' /usr/share/kservices5/plasma-runner-bookmarks.desktop > ~/.local/share/kservices5/plasma-runner-bookmarks.desktop

IBus Integration

IBus is an input method framework and can be integrated into KDE. See IBus#Integration for details.

Using IBus may be required when using KDE on Wayland to offer accented characters and dead keys support [10].

Enable hotspot in plasma-nm

See NetworkManager#Sharing internet connection over Wi-Fi.

Restore previous saved session

If you have System Settings > Startup and Shutdown > Desktop Session > When logging in: Restore previous saved session (default) selected, ksmserver (KDE's session manager) will automatically save/load all open applications to/from ~/.config/ksmserverrc on logout/login.

Note: Currently, native Wayland windows cannot be restored. See Wayland Showstoppers for the current state of development.

Receive local mail in KMail

If you have set up local mail delivery with a mail server that uses the Maildir format, you may want to receive this mail in KMail. To do so, you can re-use KMail's default receiving account "Local Folders" that stores mail in ~/.local/share/local-mail/.

Symlink the ~/Maildir directory (where Maildir format mail is commonly delivered) to the Local Folders' inbox:

$ ln -s .local/share/local-mail/inbox ~/Maildir

Alternatively, add a new receiving account with the type Maildir and set ~/Maildir as its directory.

Configure Plasma for all users

Edit config/main.xml files in the /usr/share/plasma. For example, to configure the Application Launcher for all users, edit /usr/share/plasma/plasmoids/org.kde.plasma.kickoff/contents/config/main.xml. To prevent the files from being overwritten with package updates, add the files to Pacman's NoUpgrade

Disable hibernate

This article or section is a candidate for merging with Power management.

Notes: This is not specific to KDE. Merge and then either leave this section as a stub linking to that one. (Discuss in Talk:KDE)

Properly disable the hibernate feature and hide it from the menu with a Polkit policy rule.

/etc/polkit-1/rules.d/99-disable-hibernate.rules
// Disable hibernate for all users
polkit.addRule(function(action, subject) {
   if ((action.id == "org.freedesktop.login1.hibernate")) {
      return polkit.Result.NO;
   }
});
polkit.addRule(function(action, subject) {
   if ((action.id == "org.freedesktop.login1.hibernate-multiple-sessions")) {
      return polkit.Result.NO;
   }
});

Alternatively, add the following lines to a file in /etc/systemd/sleep.conf.d/:

/etc/systemd/sleep.conf.d/00-disable-hibernation.conf
[Sleep]
AllowHibernation=no
AllowSuspendThenHibernate=no
AllowHybridSleep=no

Using window rules

Kwin has the ability to specify rules for specific windows/applications. For example, you can force enable the window titlebar even if the application developer decided that there should not be one. You can set such rules as specific starting position, size, minimize state, keeping above/below others and so on.

To create a rule you can press Alt+F3 when the window of interest is in focus. Then, in More Actions > Configure special application/window settings, you can set the desired property. A list of created rules is available from System Settings > Window Management > Window Rules.

Virtual keyboard

There are no virtual keyboards installed by default. Choose an appropriate one from List of applications/Utilities#On-screen keyboards, for example the Maliit keyboard, and install it. Then enable it in System Settings.

Troubleshooting

KDE icons missing after upgrade to KDE 6

After the last upgrade to KDE 6 I noticed issues with all of the KDE icons not displaying. Newly created accounts showed them just fine.

The issue for this is that the theme got lost while upgrading and had to be reassigned manually. For this go to: "System Settings > Colors & Themes > Global Theme > Icons" and select the theme you would like to use for the icons again.

qt5ct and kvantum bugs after upgrade

This article or section is out of date.

Reason: This was added 2021-02-15 : the "latest update" is one year old, is this fixed ? (Discuss in Talk:KDE)

Latest update might cause incompatible HiDPI scaling that made some interfaces becomes too big for your screen, some icons are missing or can not be displayed, and missing panels or widgets.

Try to remove qt5ct and kvantum related package, then apply default global Plasma theme. If the problem persists, try clearing all your KDE configuration and reinstalling plasma to overwrite the configuration. Be sure to check HiDPI scaling in KDE system settings as well.

Fonts

Fonts in a Plasma session look poor

Try installing the ttf-dejavu and ttf-liberation packages.

After the installation, be sure to log out and back in. You should not have to modify anything in System Settings > Appearance > Fonts. If you are using qt5ct, the settings in Qt5 Configuration Tool may override the font settings in System Settings.

If you have personally set up how your Fonts render, be aware that System Settings may alter their appearance. When you go System Settings > Appearance > Fonts System Settings will likely alter your font configuration file (fonts.conf).

There is no way to prevent this, but, if you set the values to match your fonts.conf file, the expected font rendering will return (it will require you to restart your application or in a few cases restart your desktop). Note that Gnome's Font Preferences also does this.

Fonts are huge or seem disproportional

Try to force font DPI to 96 in System Settings > Appearance > Fonts.

If that does not work, try setting the DPI directly in your Xorg configuration as documented in Xorg#Setting DPI manually.

Configuration related

Many problems in KDE are related to its configuration.

Plasma desktop behaves strangely

Plasma problems are usually caused by unstable Plasma widgets (colloquially called plasmoids) or Plasma themes. First, find which was the last widget or theme you had installed and disable or uninstall it.

So, if your desktop suddenly exhibits "locking up", this is likely caused by a faulty installed widget. If you cannot remember which widget you installed before the problem began (sometimes it can be an irregular problem), try to track it down by removing each widget until the problem ceases. Then you can uninstall the widget, and file a bug report on the KDE bug tracker only if it is an official widget. If it is not, it is recommended to find the entry on the KDE Store and inform the developer of that widget about the problem (detailing steps to reproduce, etc.).

If you cannot find the problem, but you do not want all the settings to be lost, navigate to ~/.config/ and run the following command:

$ for j in plasma*; do mv -- "$j" "${j%}.bak"; done

This command will rename all Plasma related configuration files to *.bak (e.g. plasmarc.bak) of your user and when you will relogin into Plasma, you will have the default settings back. To undo that action, remove the .bak file extension. If you already have *.bak files, rename, move, or delete them first. It is highly recommended that you create regular backups anyway. See Synchronization and backup programs for a list of possible solutions.

Clean cache to resolve upgrade problems

The problem may be caused by old cache. Sometimes, after an upgrade, the old cache might introduce strange, hard to debug behaviour such as unkillable shells, hangs when changing various settings, Ark being unable to extract archives or Amarok not recognizing any of your music. This solution can also resolve problems with KDE and Qt applications looking bad after an update.

Rebuild the cache using the following commands:

$ rm ~/.config/Trolltech.conf
$ kbuildsycoca5 --noincremental

Optionally, empty the ~/.cache/ folder contents, however, this will also clear the cache of other applications:

$ rm -rf ~/.cache/*

Plasma desktop does not respect locale/language settings

Plasma desktop may use different settings than you set at KDE System Settings panel, or in locale.conf (per Locale#Variables). First thing to do is log out and log in after removing ~/.config/plasma-localerc, if this does not fix the issue, try to edit the file manually. For example, to set LANG variable to es_ES.UTF-8 and the LC_MESSAGES variable to en_US.UTF-8:

~/.config/plasma-localerc
[Formats]
LANG=es_ES.UTF-8

[Translations]
LANGUAGE=en_US

Cannot change theme, icons, fonts, colors in systemsettings; most icons are not displayed

Make sure that QT_QPA_PLATFORMTHEME environment variable is unset, the command printenv QT_QPA_PLATFORMTHEME should show empty output. Otherwise if you had an environment set (most likely qt5ct) the variable will force qt5ct settings upon Qt applications, the command export QT_QPA_PLATFORMTHEME= should unset the environment.

An easier (and more reliable) solution can be to uninstall completely qt5ct.

Volume control, notifications or multimedia keys do not work

Hiding certain items in the System Tray settings (e.g. Audio Volume, Media Player or Notifications) also disables related features. Hiding the Audio Volume disables volume control keys, Media Player disables multimedia keys (rewind, stop, pause) and hiding Notifications disables showing notifications.

Login Screen KCM does not sync cursor settings to SDDM

The Login Screen KCM reads your cursor settings from ~/.config/kcminputrc, without this file no settings are synced. The easiest way to generate this file is to change your cursor theme in System Settings > Cursors, then change it back to your preferred cursor theme.

Missing panels/widgets

A crash or hardware change can modify the screen numbers, even on a single monitor setup. The panels/widgets can be missing after such an event, this can be fixed in the ~/.config/plasma-org.kde.plasma.desktop-appletsrc file by changing the lastScreen values.

Graphical problems

Make sure you have the proper driver for your GPU installed. See Xorg#Driver installation for more information. If you have an older card, it might help to #Disable desktop effects manually or automatically for defined applications or #Disable compositing.

Getting current state of KWin for support and debug purposes

This command prints out a summary of the current state of KWin including used options, used compositing backend and relevant OpenGL driver capabilities. See more on Martin's blog.

$ qdbus org.kde.KWin /KWin org.kde.KWin.supportInformation

Disable desktop effects manually or automatically for defined applications

Plasma has desktop effects enabled by default and e.g. not every game will disable them automatically. You can disable desktop effects in System Settings > Workspace Behavior > Desktop Effects and you can toggle desktop effects with Alt+Shift+F12.

Additionally, you can create custom KWin rules to automatically disable/enable compositing when a certain application/window starts under System Settings > Window Management > Window Rules.

Enable transparency

If you use a transparent background without enabling the compositor, you will get the message:

This color scheme uses a transparent background which does not appear to be supported on your desktop

In System Settings > Display and Monitor > Compositor, check Compositing: Enable on startup and restart Plasma.

Disable compositing

In System Settings > Display and Monitor > Compositor, uncheck Compositing: Enable on startup and restart Plasma.

Flickering in fullscreen when compositing is enabled

In System Settings > Display and Monitor > Compositor, uncheck Compositing: Allow applications to block compositing. This may harm performance.

Plasma cursor sometimes shown incorrectly

Create the directory ~/.icons/default (or ${XDG_DATA_HOME:-$HOME/.local/share}/icons/default/) and inside a file named index.theme with the following contents:

~/.icons/default/index.theme
[Icon Theme]
Inherits=breeze_cursors

Replace breeze_cursors with the actual cursor theme you use if needed.

Execute the following command:

$ ln -s /usr/share/icons/breeze_cursors/cursors ~/.icons/default/cursors

On Wayland, it is necessary for xdg-desktop-portal-gtk to be installed for GTK/GNOME applications to correctly apply cursor themes.

Firefox and Thunderbird ignore cursor theme

If you have enabled Firefox#Wayland support, Firefox and Thunderbird will refer to GSettings to determine which cursor to display.

To sync KDE settings to GTK applications, install kde-gtk-config.

If you do not want to install an extra package, you can set the cursor theme manually:

$ gsettings set org.gnome.desktop.interface cursor-theme cursor-theme-name

Cursor jerking/flicking when changing roles (e.g., when mousing over hyperlinks)

Try installing the appropriate 2D acceleration driver for your system and window manager.

Unusable screen resolution set

Your local configuration settings for kscreen can override those set in xorg.conf. Look for kscreen configuration files in ~/.local/share/kscreen/ and check if mode is being set to a resolution that is not supported by your monitor.

Blurry icons in system tray

In order to add icons to tray, applications often make use of the library appindicator. If your icons are blurry, check which version of libappindicator you have installed. If you only have libappindicator-gtk2 installed, you can install libappindicator-gtk3 as an attempt to get clear icons.

Cannot change screen resolution when running in a virtual machine

When running Plasma in a VMware, VirtualBox or QEMU virtual machine, kscreen may not allow changing the guest's screen resolution to a resolution higher than 800×600.

The workaround is to set the PreferredMode option in xorg.conf.d(5). Alternatively try using a different graphics adapter in the VM, e.g. VBoxSVGA instead of VMSVGA for VirtualBox and Virtio instead of QXL for QEMU. See KDE Bug 407058 for details.

Dolphin, Kate, etc. stuck long time when opening

Check whether your user directories (Documents, Downloads, etc.) are read-only.

Spectacle screenshot uses old screen state

In System Settings > Display and Monitor > Compositor, change Keep window thumbnails from Only from Shown windows to Never. If you're on Intel graphics, ensure that xf86-video-intel is not installed.

Sound problems

Note: First make sure you have alsa-utils installed.

No sound after suspend

If there is no sound after suspending and KMix does not show audio devices which should be there, restarting plasmashell and pulseaudio may help:

$ killall plasmashell
$ systemctl --user restart pulseaudio.service
$ plasmashell

Some applications may also need to be restarted in order for sound to play from them again.

MP3 files cannot be played when using the GStreamer Phonon backend

This can be solved by installing the GStreamer libav plugin (package gst-libav). If you still encounter problems, you can try changing the Phonon backend used by installing another such as phonon-qt4-vlcAUR or phonon-qt5-vlc.

Then, make sure the backend is preferred via System Settings > Multimedia > Audio and Video > Backend.

If the settings does not show any, try phononsettings in your terminal.

No volume control icon in tray and cannot adjust sound by function key

Check if you have plasma-pa installed.

No sound after a short time

If journalctl -p4 -t pulseaudio contains entries saying Failed to create sink input: sink is suspended, try commenting the following line in in /etc/pulse/default.pa:

#load-module module-suspend-on-idle

If the issue persists, plasma-meta or plasma may have installed pulseaudio alongside wireplumber. To fix the issue, replace pulseaudio with pipewire-pulse. If pulseaudio is preferred, replace wireplumber with pipewire-media-session. See PipeWire#PulseAudio clients and this forum thread for more details.

Power management

No Suspend/Hibernate options

If your system is able to suspend or hibernate using systemd but do not have these options shown in KDE, make sure powerdevil is installed.

No power profile options

Make sure you installed powerdevil and power-profiles-daemon. Run powerprofilesctl and check the driver. If it is intel_pstate or amd_pstate, you are done, otherwise see CPU frequency scaling#Scaling drivers for more information on enabling them.

KMail

Clean Akonadi configuration to fix KMail

See [11] for details.

If you want a backup, copy the following configuration directories:

$ cp -a ~/.local/share/akonadi ~/.local/share/akonadi-old
$ cp -a ~/.config/akonadi ~/.config/akonadi-old

Empty IMAP inbox in KMail

For some IMAP accounts KMail will show the inbox as a top-level container (so it will not be possible to read messages there) with all other folders of this account inside.[12]. To solve this problem simply disable the server-side subscriptions in the KMail account settings.

Authorization error for EWS account in KMail

While setting up EWS account in KMail, you may keep getting errors about failed authorization even for valid and fully working credentials. This is likely caused by broken communication between KWallet and KMail. To workaround the issue set a passsword via qdbus:

$ qdbus org.freedesktop.Akonadi.Resource.akonadi_ews_resource_0 /Settings org.kde.Akonadi.Ews.Wallet.setPassword "XXX"

Aggressive QXcbConnection / kscreen.xcb.helper journal logging

See Qt#Disable/Change Qt journal logging behaviour.

KF5/Qt 5 applications do not display icons in i3/FVWM/awesome

See Qt#Configuration of Qt 5 applications under environments other than KDE Plasma.

Problems with saving credentials and persistently occurring KWallet dialogs

It is not recommended to turn off the KWallet password saving system in the user settings as it is required to save encrypted credentials like WiFi passphrases for each user. Persistently occuring KWallet dialogs can be the consequence of turning it off.

In case you find the dialogs to unlock the wallet annoying when applications want to access it, you can let the display managers SDDM and LightDM unlock the wallet at login automatically, see KDE Wallet#Unlock KDE Wallet automatically on login. The first wallet needs to be generated by KWallet (and not user-generated) in order to be usable for system program credentials.

In case you want the wallet credentials not to be opened in memory for every application, you can restrict applications from accessing it with kwalletmanager in the KWallet settings.

If you do not care for credential encryption at all, you can simply leave the password forms blank when KWallet asks for the password while creating a wallet. In this case, applications can access passwords without having to unlock the wallet first.

Discover does not show any applications

This can be solved by installing packagekit-qt6 or packagekit-qt5 depending on your Plasma/Qt version.

Warning: As explained in a GitHub comment by a Package Maintainer, "Handling system packages via packagekit is just fundamentally incompatible with our high-maintenance rolling release distro, where any update might leave the system in an unbootable or otherwise unusable state if the user does not take care reading pacman's logs or merging pacnew files before rebooting."

Discover stops showing updates from Arch repositories

Discover sometimes will not remove its PackageKit alpm lock. To release it, remove /var/lib/PackageKit/alpm/db.lck. Use "Refresh" in Discover and updates should appear (if there are any updates pending).

High CPU usage of kscreenlocker_greet with NVIDIA drivers

As described in KDE Bug 347772 NVIDIA OpenGL drivers and QML may not play well together with Qt 5. This may lead kscreenlocker_greet to high CPU usage after unlocking the session. To work around this issue, set the QSG_RENDERER_LOOP environment variable to basic.

Then kill previous instances of the greeter with killall kscreenlocker_greet.

OS error 22 when running Akonadi on ZFS

If your home directory is on a ZFS pool, create a ~/.config/akonadi/mysql-local.conf file with the following contents:

[mysqld]
innodb_use_native_aio = 0

See MariaDB#OS error 22 when running on ZFS.

Some programs are unable to scroll when their windows are inactive

This is caused by the problematic way of GTK3 handling mouse scroll events. A workaround for this is to set environment variable GDK_CORE_DEVICE_EVENTS=1. However, this workaround also breaks touchpad smooth scrolling and touchscreen scrolling.

TeamViewer behaves slowly

When using TeamViewer, it may behave slowly if you use smooth animations (such as windows minimizing). See #Disable compositing as a workaround.

Kmail, Kontact and Wayland

Kmail may become unresponsive, show a black messageviewer or similar, often after having been minimized and restored. A workaround may be to set environment variable QT_QPA_PLATFORM="xcb;wayland". See KDE Bug 397825.

Unlock widgets (Plasma ≥ 5.18)

If you previously locked your widgets, you will probably find yourself unable to unlock them again. You just have to run this command to do so:

$ qdbus org.kde.plasmashell /PlasmaShell evaluateScript "lockCorona(false)"

The new Customize Layout does not require to lock them back up but if want to do that:

$ qdbus org.kde.plasmashell /PlasmaShell evaluateScript "lockCorona(true)"

KIO opens URLs with the wrong program

Check file associations regarding HTML, PHP, etc... and change it to a browser. KIO's cache files are located in $HOME/.cache/kioexec. See also xdg-utils#URL scheme handlers.

Custom Shortcuts tab is missing under Shortcuts in System Settings

This is due to the khotkeys[broken link: package not found] package being missing. After installation, a restart of the System Settings application may be necessary to apply the changes.

Lock the screen before suspending and hibernating

In the System Settings application, KDE offers a setting to automatically lock the screen after waking up from sleep. Upon resuming, some users report that the screen is briefly showed before locking. To prevent this behavior and have KDE lock the screen before suspending, create a hook in systemd(1) by creating the following file as the root user:

/usr/lib/systemd/system-sleep/lock_before_suspend.sh
#!/bin/bash

case $1/$2 in
    pre/*)
        case $2 in
            suspend|hibernate)
                loginctl lock-session
                sleep 1
                ;;
            esac
        ;;
esac

The use of sleep is necessary in order for the lock-session to complete before the device is suspended. Lower value do not allow for completion.

After creating the file, make it executable.

Finally, make sure that the KDE setting is enabled by going to System Settings > Workspace Behavior > Screen Locking and checking the After waking from sleep checkbox.

X11 shortcuts conflict on Wayland

Some X11 software like freerdp can grab keyboard input since KDE 5.27. Others like VMware cannot grab correctly. [13]

It is inappropriate to force grab in Xserver or in compositors. [14] You can solve it in an elegant way as follows:

  • Right click the window titlebar (e.g. VMware or Citrix);
  • More Actions > Configure Special Window Settings...
  • Click Add Property... and select Ignore global shortcuts.
  • Select force and yes. Apply it.

System settings not applying when changed

This can be caused because system settings cannot access/modify the .config folder in your home directory.

To fix this, you need to change the owner of the folder:

# chown user:user /home/user/.config

user refers to the name of the user that you are logged into in KDE Plasma. If the name of your home directory is not the same as the user you are logged in as, you can change it accordingly.

If this does not work, you might need to change the permissions of the folder:

# chmod 755 /home/user/.config

See also