Difference between revisions of "KDE"

From ArchWiki
Jump to: navigation, search
m (Clean cache to resolve upgrade problems: typo)
m (Web browsers: add intro)
 
(69 intermediate revisions by 17 users not shown)
Line 15: Line 15:
 
{{Related|Desktop environment}}
 
{{Related|Desktop environment}}
 
{{Related|Display manager}}
 
{{Related|Display manager}}
{{Related|Dolphin}}
 
 
{{Related|Window manager}}
 
{{Related|Window manager}}
 
{{Related|Qt}}
 
{{Related|Qt}}
 +
{{Related|SDDM}}
 +
{{Related|Dolphin}}
 +
{{Related|KDE Wallet}}
 
{{Related|KDevelop}}
 
{{Related|KDevelop}}
 
{{Related|Trinity}}
 
{{Related|Trinity}}
Line 44: Line 46:
  
 
== Starting Plasma ==
 
== Starting Plasma ==
{{Note|Although it is possible to launch Plasma under [[Wayland]], there are some missing features and known problems as of Plasma 5.12. See the [https://community.kde.org/Plasma/5.12_Errata#Wayland Plasma 5.12 Errata] 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|Although it is possible to launch Plasma under [[Wayland]], there are some missing features and known problems as of Plasma 5.13. See the [https://community.kde.org/Plasma/5.13_Errata#Wayland Plasma 5.13 Errata] 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.}}
  
 
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 60: Line 62:
 
=== From the console ===
 
=== From the console ===
  
To start Plasma with [[xinit]]/''startx'', append {{ic|exec startkde}} 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|startplasmacompositor}}.
+
To start Plasma with [[xinit|xinit/startx]], append {{ic|exec startkde}} 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=export XDG_SESSION_TYPE=wayland && export $(dbus-launch) && startplasmacompositor}}.[https://community.kde.org/KWin/Wayland#Start_a_Plasma_session_on_Wayland]
  
 
== Configuration ==
 
== Configuration ==
Line 72: Line 74:
 
===== Themes =====
 
===== Themes =====
  
[https://store.kde.org/browse/cat/104/ Plasma themes] define the look of panels and plasmoids. For easy system-wide installation, some themes are available in both the official repositories and the [https://aur.archlinux.org/packages.php?O=0&K=plasmatheme&do_Search=Go AUR].
+
[https://store.kde.org/browse/cat/104/ Plasma themes] define the look of panels and plasmoids. For easy system-wide installation, some themes are available in both the official repositories and the [https://aur.archlinux.org/packages.php?K=plasma+theme AUR].
 
 
The easiest way to install themes is by going through the ''System Settings > Workspace Theme > Desktop Theme > Get new Themes''.
 
 
 
This will present a frontend for the [https://store.kde.org/ KDE-Store] that allows you to install, uninstall, or update third-party plasmoid scripts.
 
  
Splash and Lock screens are currently unavailable. To customize these screens, you have to modify the original theme found in {{ic|/usr/share/plasma/look-and-feel/}}.
+
Plasma themes can also be installed through ''System Settings > Workspace Theme > Desktop Theme > Get new Themes''.
See [https://www.kubuntuforums.net/showthread.php?67599-Plasma-5-background-images&s=59832dc20e5bfc2948dbb591d8453f61 this thread] on the Kubuntu forums.
 
  
Note that the [[SDDM]] login screen is not part of this theme.
+
The [https://store.kde.org/ KDE-Store] offers more Plasma customization's, like [[SDDM]] themes and splash-screens.
  
 
====== Qt and GTK+ Applications Appearance ======
 
====== Qt and GTK+ Applications Appearance ======
Line 96: Line 93:
  
 
The recommended theme for a pleasant appearance in GTK+ applications is {{Pkg|breeze-gtk}} or {{AUR|gnome-breeze-git}}, a GTK+ theme designed to mimic the appearance of Plasma's Breeze theme.
 
The recommended theme for a pleasant appearance in GTK+ applications is {{Pkg|breeze-gtk}} or {{AUR|gnome-breeze-git}}, a GTK+ theme designed to mimic the appearance of Plasma's Breeze theme.
Install {{Pkg|kde-gtk-config}} and select the installed GTK-theme for GTK2/GTK3-Theme in ''System Settings > Application Style > GNOME Application Style''.
+
Install {{Pkg|kde-gtk-config}} (part of the {{grp|plasma}} group) and select the installed GTK-theme for GTK2/GTK3-Theme in ''System Settings > Application Style > GNOME Application Style''.
  
 
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 {{ic|.gtkrc-2.0}} file and change it. For GTK3 application two files need to be changed, {{ic|gtk.css}} and {{ic|settings.ini}}.
 
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 {{ic|.gtkrc-2.0}} file and change it. For GTK3 application two files need to be changed, {{ic|gtk.css}} and {{ic|settings.ini}}.
Line 110: Line 107:
 
This will present a nice frontend for https://store.kde.org/ that allows you to install, uninstall, or update third-party plasmoid scripts with literally just one click.
 
This will present a nice frontend for https://store.kde.org/ that allows you to install, uninstall, or update third-party plasmoid scripts with literally just one click.
  
Many Plasmoid binaries are available from the [https://aur.archlinux.org/packages.php?O=0&K=plasmoid&PP=50&SO=d&SB=v AUR].
+
Many Plasmoid binaries are available from the [https://aur.archlinux.org/packages.php?K=plasmoid AUR].
  
 
===== Sound applet in the system tray =====
 
===== Sound applet in the system tray =====
Line 145: Line 142:
 
[https://store.kde.org/browse/cat/114/ Window decorations] can be changed in ''System Settings > Application Style > Window Decorations''.
 
[https://store.kde.org/browse/cat/114/ Window decorations] can be changed in ''System Settings > Application Style > Window Decorations''.
  
There you can also directly download and install more themes with one click, and some are available in the [https://aur.archlinux.org/packages.php?O=0&K=kdestyle&do_Search=Go&PP=25&SO=d&SB=v AUR].
+
There you can also directly download and install more themes with one click, and some are available in the [https://aur.archlinux.org/packages.php?K=kde+window+decoration AUR].
  
 
==== Icon themes ====
 
==== Icon themes ====
Line 153: Line 150:
 
{{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 apps. 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 apps. It is recommended to install Plasma compatible icon themes instead.}}
  
==== Fonts ====
+
{{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.}}
===== Fonts in a Plasma session look poor =====
 
 
 
Try installing the {{Pkg|ttf-dejavu}} and {{Pkg|ttf-liberation}} packages.
 
 
 
After the installation, be sure to log out and back in. You should not have to modify anything in ''System Settings > Fonts''. If you are using {{Pkg|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 > Fonts'' System Settings will likely alter your font configuration file ({{ic|fonts.conf}}).
 
 
 
There is no way to prevent this, but, if you set the values to match your {{ic|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 {{ic|'''96'''}} in ''System Settings > Fonts''.
 
 
 
If that does not work, try setting the DPI directly in your Xorg configuration as documented in [[Xorg#Setting DPI manually]].
 
  
 
==== Space efficiency ====
 
==== Space efficiency ====
Line 194: Line 176:
 
If you want to have access to Windows services, install [[Samba]] (package {{Pkg|samba}}).
 
If you want to have access to Windows services, install [[Samba]] (package {{Pkg|samba}}).
  
The Dolphin share functionality requires the package {{Pkg|kdenetwork-filesharing}} and usershares, which the stock {{ic|smb.conf}} does not have enabled. Instructions to add them are in [[Samba#Creating usershare path]], after which sharing in Dolphin should work out of the box after restarting Samba.
+
The Dolphin share functionality requires the package {{Pkg|kdenetwork-filesharing}} and usershares, which the stock {{ic|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.
  
Plasma's abilities to access SMB shares are limited, though. Writing to Windows shares is problematic and opening files from such shares, e.g. large videos, makes Plasma copying the whole file to the local system first.
+
{{Tip|Use {{ic|*}} (asterisk) for both username and password when accessing a Windows share without authentification in Dolphin's prompt.}}
To workaround this, you can install a GTK based file browser like {{Pkg|thunar}} with {{Pkg|gvfs}} and {{Pkg|gvfs-smb}} (and {{Pkg|gnome-keyring}} for saving login credentials) to access SMB shares in a more able way.
+
 
Another possible workaround is to [[mount]] a Samba share via {{Pkg|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.
+
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).
The mount command could look like the following for write access to a public share:
+
To workaround this, you can use a GTK based file browser like {{Pkg|thunar}} with {{Pkg|gvfs}} and {{Pkg|gvfs-smb}} (and {{Pkg|gnome-keyring}} for saving login credentials) to access SMB shares in a more able way.
# mount -t cifs -o username=*,password=*,uid=1000,gid=1000,file_mode=0660,dir_mode=0770 //networkhost/share/ /home/user/localmountpoint/
+
 
Make it permanent:
+
Another possibility is to [[mount]] a Samba share via {{Pkg|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.
{{hc|/etc/fstab|<nowiki>
+
See [[Samba#Manual mounting]] and [[Samba#Automatic mounting]].
//networkhost/share/ /home/user/localmountpoint/ cifs defaults,username=*,password=*,uid=1000,gid=1000,file_mode=0660,dir_mode=0770 0 2
 
</nowiki>}}
 
It might be necessary to append {{ic|.local}} to the hostname. For some NAS devices it might also be necessary to append {{ic|1=vers=1.0}} to the argument line to enforce SMB 1.0 compatibility.
 
  
An easier solution is to use {{AUR|samba-mounter-git}}, which offers basically the same functionality via an easy to use option located at ''System Settings'' > ''Network Drivers''.
+
An GUI solution is available with {{AUR|samba-mounter-git}}, 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 ===
Line 221: Line 200:
 
{{Note|Powerdevil 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|Powerdevil 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]].}}
  
=== Autostarting applications ===
+
=== 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 {{ic|.desktop}} file will be created, for shell scripts, a symlink will be created.
+
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 shell scripts, a symlink will be created.
  
 
{{Note|
 
{{Note|
 
* Programs can be autostarted on login only, whilst shell scripts can also be run on shutdown or even before Plasma itself starts.
 
* 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 will only be run if they are marked [[executable]].
 
}}
 
}}
  
Place [[Desktop entries]] (i.e. {{ic|.desktop}} files) here:
+
* Place [[Desktop entries]] (i.e. ''.desktop'' files) in the appropriate [[XDG Autostart]] directory.
 
 
; {{ic|~/.config/autostart}}: for starting applications at login.
 
  
Place or symlink shell scripts in one of the following directories:
+
* Place or symlink shell scripts in one of the following directories:
  
; {{ic|~/.config/plasma-workspace/env}}: for executing scripts at login before launching Plasma.
+
:; {{ic|~/.config/plasma-workspace/env/}}: for executing scripts at login before launching Plasma.
; {{ic|~/.config/autostart-scripts}}: for executing scripts at login.
+
:; {{ic|~/.config/autostart-scripts/}}: for executing scripts at login.
; {{ic|~/.config/plasma-workspace/shutdown}}: for executing scripts on shutdown.
+
:; {{ic|~/.config/plasma-workspace/shutdown/}}: for executing scripts on shutdown.
  
 
=== Phonon ===
 
=== Phonon ===
Line 254: Line 231:
 
You can choose between backends based on [[GStreamer]] and [[VLC]] – each available in versions for Qt4 applications and Qt5 applications ({{Pkg|phonon-qt4-gstreamer}}, {{Pkg|phonon-qt5-gstreamer}} – {{Pkg|phonon-qt4-vlc}}, {{Pkg|phonon-qt5-vlc}}).
 
You can choose between backends based on [[GStreamer]] and [[VLC]] – each available in versions for Qt4 applications and Qt5 applications ({{Pkg|phonon-qt4-gstreamer}}, {{Pkg|phonon-qt5-gstreamer}} – {{Pkg|phonon-qt4-vlc}}, {{Pkg|phonon-qt5-vlc}}).
  
[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].
+
[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 codec
 +
* {{Pkg|gst-plugins-good}} - PulseAudio support and good codecs
 +
* {{Pkg|gst-plugins-ugly}} - additional codecs
 +
* {{Pkg|gst-plugins-bad}} - additional codecs
  
 
In the past other backends were developed as well but are no longer maintained and their AUR packages have been deleted.
 
In the past other backends were developed as well but are no longer maintained and their AUR packages have been deleted.
Line 261: Line 242:
 
* Multiple backends can be installed at once and prioritized at ''System Settings > Multimedia > Backend''.
 
* Multiple backends can be installed at once and prioritized at ''System Settings > Multimedia > Backend''.
 
* 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?f=250&t=126476&p=335080 KDE forums], the VLC backend lacks support for [[wikipedia:ReplayGain|ReplayGain]].
* If you choose the vlc backend, you may experience crashes every time kde wants to send you a audible warning (and in quite a number of other cases as well, see [https://forum.kde.org/viewtopic.php?f=289&t=135956])
+
* If using the VLC backend, you may experience crashes every time KDE 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:
* A possible fix is to run
+
{{bc|# /usr/lib/vlc/vlc-cache-gen /usr/lib/vlc/plugins}}
{{bc|# /usr/lib/vlc/vlc-cache-gen -f /usr/lib/vlc/plugins}}
 
 
}}
 
}}
  
Line 286: Line 266:
 
* {{App|UFW KControl Module|KDE4 control module for UFW ([[Uncomplicated Firewall]]).|https://www.linux-apps.com/p/1127851/|{{AUR|kcm-ufw}}}}
 
* {{App|UFW KControl Module|KDE4 control module for UFW ([[Uncomplicated Firewall]]).|https://www.linux-apps.com/p/1127851/|{{AUR|kcm-ufw}}}}
 
* {{App|System policies|Set of configuration modules which allows administrator to change [[PolicyKit]] settings.|https://cgit.kde.org/polkit-kde-kcmodules-1.git|{{AUR|kcm-polkit-kde-git}}}}
 
* {{App|System policies|Set of configuration modules which allows administrator to change [[PolicyKit]] settings.|https://cgit.kde.org/polkit-kde-kcmodules-1.git|{{AUR|kcm-polkit-kde-git}}}}
* {{App|wacom tablet|KDE GUI for the Wacom Linux Drivers.|https://www.linux-apps.com/p/1127862/|{{AUR|kcm-wacomtablet}}}}
+
* {{App|wacom tablet|KDE GUI for the Wacom Linux Drivers.|https://www.linux-apps.com/p/1127862/|{{Pkg|kcm-wacomtablet}}}}
* {{App|Kcmsystemd|systemd control module for KDE.|https://github.com/rthomsen/kcmsystemd|{{Pkg|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/search?projectSearchText=KCM linux-apps.com].
Line 293: Line 273:
 
=== Desktop search ===
 
=== Desktop search ===
  
KDE implements desktop search with a software called Baloo, a file indexing and searching solution.
+
KDE implements desktop search with a software called [[Baloo]], a file indexing and searching solution.
  
==== Baloo ====
+
=== Web browsers ===
 
 
===== Using and configuring Baloo =====
 
 
 
In order to search using Baloo on the Plasma desktop, start krunner (default keyboard shortcut {{ic|ALT+F2}}) and type in your query. Within Dolphin press {{ic|CTRL+F}}.
 
 
 
By default the Desktop Search KCM exposes only two options: A panel to blacklist folders and a way to disable it with one click.
 
 
 
Alternatively you can edit your {{ic|~/.config/baloofilerc}} file ([https://community.kde.org/Baloo/Configuration info]). Additionally the {{ic|balooctl}} process can also be used. In order to disable Baloo run {{ic|balooctl stop}} and {{ic|balooctl disable}}.
 
 
 
Once you added additional folders to the blacklist or disabled Baloo entirely, a process named {{ic|baloo_file_cleaner}} removes all unneeded index files automatically. They are stored under {{ic|~/.local/share/baloo/}}.
 
 
 
===== How do I index a removable device? =====
 
 
 
By default every removable device is blacklisted. You just have to remove your device from the blacklist in the KCM panel.
 
  
=== Web browsers ===
+
The following web browsers can integrate with Plasma:
  
 
* {{App|[[Wikipedia:Konqueror|Konqueror]]|Part of the KDE project, supports two rendering engines – KHTML and the [[Chromium]]-based Qt WebEngine.|https://konqueror.org/|{{Pkg|konqueror}}}}
 
* {{App|[[Wikipedia:Konqueror|Konqueror]]|Part of the KDE project, supports two rendering engines – KHTML and the [[Chromium]]-based Qt WebEngine.|https://konqueror.org/|{{Pkg|konqueror}}}}
* {{App|[[Wikipedia:QupZilla|QupZilla]]|A Qt web browser with Plasma integration features. It uses Qt WebEngine.|https://www.qupzilla.com/|{{Pkg|qupzilla}}}}
+
* {{App|[[Wikipedia:Falkon|Falkon]]|A Qt web browser with Plasma integration features, previously known as Qupzilla. It uses Qt WebEngine.|https://userbase.kde.org/Falkon/|{{Pkg|falkon}}}}
 
* {{App|[[Chromium]]|Chromium and its proprietary variant Google Chrome have limited Plasma integration. [[KDE Wallet#KDE Wallet for Chrome and Chromium|They can use KWallet]] and KDE Open/Save windows.|https://www.chromium.org/|{{Pkg|chromium}}}}
 
* {{App|[[Chromium]]|Chromium and its proprietary variant Google Chrome have limited Plasma integration. [[KDE Wallet#KDE Wallet for Chrome and Chromium|They can use KWallet]] and KDE Open/Save windows.|https://www.chromium.org/|{{Pkg|chromium}}}}
 
* {{App|[[Firefox]]|Firefox can be configured to better integrate with Plasma. See [[Firefox#KDE/GNOME integration|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/GNOME integration|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/GNOME integration]].}}
  
 
=== PIM ===
 
=== PIM ===
Line 332: Line 300:
 
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/MySQL, 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]] or [[MySQL]], then when installing the {{Pkg|akonadi}} package, use the following command to skip installing the {{Pkg|mariadb}} dependencies:
 
+
# pacman -S akonadi --assume-installed mariadb
{{bc|# pacman -S akonadi --assume-installed mariadb}}
 
 
 
 
}}
 
}}
 
===== Disabling Akonadi =====
 
 
See this [https://userbase.kde.org/Akonadi#Disabling_the_Akonadi_subsystem section in the KDE userbase].
 
 
===== Database configuration =====
 
 
====== MariaDB/MySQL (using ZFS) ======
 
 
If your home directory is on a ZFS pool, you will need to create {{ic|~/.config/akonadi/mysql-local.conf}} with the following contents:
 
 
[mysqld]
 
innodb_use_native_aio = 0
 
 
Otherwise you will get the [[MySQL#OS error 22 when running on ZFS|OS error 22]]
 
  
 
====== PostgreSQL ======
 
====== PostgreSQL ======
Line 392: Line 343:
 
Name=/home/''username''/.local/share/akonadi/akonadi.db
 
Name=/home/''username''/.local/share/akonadi/akonadi.db
 
}}
 
}}
 +
 +
===== Disabling Akonadi =====
 +
 +
See this [https://userbase.kde.org/Akonadi#Disabling_the_Akonadi_subsystem section in the KDE userbase].
 +
 +
===== Troubleshooting =====
 +
 +
====== OS error 22 when running on ZFS ======
 +
 +
If your home directory is on a [[ZFS]] pool, create a {{ic|~/.config/akonadi/mysql-local.conf}} file with the following contents:
 +
 +
[mysqld]
 +
innodb_use_native_aio = 0
 +
 +
See [[MySQL#OS error 22 when running on ZFS]].
  
 
=== KDE Telepathy ===
 
=== KDE Telepathy ===
Line 408: Line 374:
 
{{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.}}
 
{{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.}}
  
=== Integrate Android ===
+
=== KDE Connect ===
  
[https://community.kde.org/KDEConnect KDE Connect] provides several features for you:
+
[https://community.kde.org/KDEConnect KDE Connect] provides several features to connect your [[Android]] phone with your Linux desktop:
  
 
* Share files and URLs to/from KDE from/to any app, without wires.
 
* Share files and URLs to/from KDE from/to any app, without wires.
Line 420: Line 386:
 
* 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 {{ic|KDE Connect}} from [https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp Google Play] or from [https://f-droid.org/repository/browse/?fdid=org.kde.kdeconnect_tp F-Droid].
+
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/repository/browse/?fdid=org.kde.kdeconnect_tp F-Droid].
  
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.
+
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}}.
  
 
== Tips and tricks ==
 
== Tips and tricks ==
  
=== Using an alternative window manager ===
+
=== Use a different window manager ===
  
 
The component chooser settings in Plasma does not allow changing the window manager anymore. [https://github.com/KDE/plasma-desktop/commit/2f83a4434a888cd17b03af1f9925cbb054256ade]
 
The component chooser settings in Plasma does not allow changing the window manager anymore. [https://github.com/KDE/plasma-desktop/commit/2f83a4434a888cd17b03af1f9925cbb054256ade]
Line 443: Line 409:
 
The {{Pkg|openbox}} package provides a session for using KDE with [[Openbox]]. To make use of this session, select ''KDE/Openbox'' from the [[display manager]] menu.
 
The {{Pkg|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 {{ic|.xinitrc}} file:
+
For those starting the session manually, add the following line to your [[xinit]] configuration:
  
exec openbox-kde-session
+
{{hc|~/.xinitrc|
 +
exec openbox-kde-session
 +
}}
  
 
==== Re-enabling compositing effects ====
 
==== Re-enabling compositing effects ====
Line 453: Line 421:
 
=== Configuring monitor resolution / multiple monitors ===
 
=== Configuring monitor resolution / multiple monitors ===
  
To enable display resolution management and multiple monitors in Plasma, install {{Pkg|kscreen}}. This adds the additional options to ''Sytem Settings > Display and Monitor''.
+
To enable display resolution management and multiple monitors in Plasma, install {{Pkg|kscreen}}. This adds the additional options to ''System Settings > Display and Monitor''.
  
 
=== Disable opening application launcher with Super key (Windows key) ===
 
=== Disable opening application launcher with Super key (Windows key) ===
Line 462: Line 430:
  
 
== Troubleshooting ==
 
== Troubleshooting ==
 +
 +
=== Fonts ===
 +
 +
==== Fonts in a Plasma session look poor ====
 +
 +
Try installing the {{Pkg|ttf-dejavu}} and {{Pkg|ttf-liberation}} packages.
 +
 +
After the installation, be sure to log out and back in. You should not have to modify anything in ''System Settings > Fonts''. If you are using {{Pkg|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 > Fonts'' System Settings will likely alter your font configuration file ({{ic|fonts.conf}}).
 +
 +
There is no way to prevent this, but, if you set the values to match your {{ic|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 {{ic|'''96'''}} in ''System Settings > Fonts''.
 +
 +
If that does not work, try setting the DPI directly in your Xorg configuration as documented in [[Xorg#Setting DPI manually]].
  
 
=== Configuration related ===
 
=== Configuration related ===
Line 493: Line 479:
 
  $ rm -rf ~/.cache/*
 
  $ rm -rf ~/.cache/*
  
=== Clean akonadi configuration to fix KMail ===
+
=== Graphical problems ===
  
First, make sure that KMail is not running. Then backup configuration:
+
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]].
 
 
$ cp -a ~/.local/share/akonadi ~/.local/share/akonadi-old
 
$ cp -a ~/.config/akonadi ~/.config/akonadi-old
 
 
 
Start ''SystemSettings > Personal'' and remove all the resources. Go back to Dolphin and remove the original {{ic|~/.local/share/akonadi}} and
 
{{ic|~/.config/akonadi}} - the copies you made ensure that you can back-track if necessary.
 
 
 
Now go back to the System Settings page and carefully add the necessary resources. You should see the resource reading in your mail folders. Then start Kontact/KMail to see if it work properly.
 
  
=== Empty IMAP inbox in KMail ===
+
==== Getting current state of KWin for support and debug purposes ====
  
For some IMAP accounts, kmail will show the inbox as a container with all other folders of this account inside. Kmail does not show messages in the inbox container but in all other subfolders, see [https://bugs.kde.org/show_bug.cgi?id=284172 KDE Bug 284172]. To solve this problem simply disable the server side subscription in the kmail account settings.
+
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 [https://blog.martin-graesslin.com/blog/2012/03/on-getting-help-for-kwin-and-helping-kwin/ Martin's blog].
 
 
=== Getting current state of KWin for support and debug purposes ===
 
 
 
This command prints out a wonderful summary of the current state of KWin including used options, used compositing backend and relevant OpenGL driver capabilities. See more on [https://blog.martin-graesslin.com/blog/2012/03/on-getting-help-for-kwin-and-helping-kwin/ Martin's blog].
 
  
 
  $ qdbus org.kde.KWin /KWin supportInformation
 
  $ qdbus org.kde.KWin /KWin supportInformation
 
=== KF5/Qt5 applications do not display icons in i3/fvwm/awesome ===
 
 
See [[Qt#Configuration of Qt5 apps under environments other than KDE Plasma]].
 
 
=== 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]].
 
  
 
==== Disable desktop effects manually or automatically for defined applications ====
 
==== Disable desktop effects manually or automatically for defined applications ====
Line 529: Line 495:
 
==== Disable compositing ====
 
==== Disable compositing ====
  
In ''Sytem Settings > Display and Monitor'', uncheck ''Enable compositor on startup'' and restart Plasma.
+
In ''System Settings > Display and Monitor'', uncheck ''Enable compositor on startup'' and restart Plasma.
  
 
==== Flickering in fullscreen when compositing is enabled ====
 
==== Flickering in fullscreen when compositing is enabled ====
  
In ''Sytem Settings > Display and Monitor'', uncheck ''Allow applications to block compositing''. This may harm performance.
+
In ''System Settings > Display and Monitor'', uncheck ''Allow applications to block compositing''. This may harm performance.
  
 
==== Screen tearing with NVIDIA ====
 
==== Screen tearing with NVIDIA ====
Line 558: Line 524:
 
==== No sound after suspend ====
 
==== No sound after suspend ====
  
If there is no sound after suspending and if KMix doesn't show audio devices which should be there, restarting plasmeshell and pulseaudio may help:
+
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:
  
 
  $ killall plasmashell
 
  $ killall plasmashell
Line 580: Line 546:
 
Then, make sure the backend is preferred via ''System Settings > Multimedia > Backend''.
 
Then, make sure the backend is preferred via ''System Settings > Multimedia > Backend''.
  
=== Inotify folder watch limit ===
+
=== 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 {{Pkg|powerdevil}} is installed.
 +
 
 +
=== KMail ===
  
If you get the following error:
+
==== Clean akonadi configuration to fix KMail ====
 +
 
 +
First, make sure that KMail is not running. Then backup configuration:
 +
 
 +
$ cp -a ~/.local/share/akonadi ~/.local/share/akonadi-old
 +
$ cp -a ~/.config/akonadi ~/.config/akonadi-old
  
KDE Baloo Filewatch service reached the inotify folder watch limit. File changes may be ignored.
+
Start ''SystemSettings > Personal'' and remove all the resources. Go back to Dolphin and remove the original {{ic|~/.local/share/akonadi}} and
 +
{{ic|~/.config/akonadi}} - the copies you made ensure that you can back-track if necessary.
  
Then you will need to increase the inotify folder watch limit:
+
Now go back to the System Settings page and carefully add the necessary resources. You should see the resource reading in your mail folders. Then start Kontact/KMail to see if it work properly.
  
# echo 524288 > /proc/sys/fs/inotify/max_user_watches
+
==== Empty IMAP inbox in KMail ====
  
To make changes permanent, create {{ic|/etc/sysctl.d/40-max-user-watches.conf}} with:
+
For some IMAP accounts, kmail will show the inbox as a container with all other folders of this account inside. Kmail does not show messages in the inbox container but in all other subfolders, see [https://bugs.kde.org/show_bug.cgi?id=284172 KDE Bug 284172]. To solve this problem simply disable the server side subscription in the kmail account settings.
  
fs.inotify.max_user_watches=524288
+
=== Networking ===
  
=== Freezes when using Automount on a NFS volume  ===
+
==== Freezes when using Automount on a NFS volume  ====
  
 
Using [[Fstab#Automount with systemd]] on a [[NFS]] volume may cause freezes, see [https://bugs.kde.org/show_bug.cgi?id=354137 bug report upstream].
 
Using [[Fstab#Automount with systemd]] on a [[NFS]] volume may cause freezes, see [https://bugs.kde.org/show_bug.cgi?id=354137 bug report upstream].
  
=== No Suspend/Hibernate options ===
+
=== Aggressive QXcbConnection journal logging ===
 +
 
 +
See [[Qt#Disable/Change Qt journal logging behaviour]].
 +
 
 +
=== KF5/Qt5 applications do not display icons in i3/fvwm/awesome ===
  
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.
+
See [[Qt#Configuration of Qt5 apps under environments other than KDE Plasma]].
  
 
=== Problems with saving credentials and persistently occurring KWallet dialogs ===
 
=== 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.
+
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 login managers {{ic|SDDM}} and {{ic|LightDM}} unlock the wallet at login automatically, see [[KDE_Wallet#Unlock_KDE_Wallet_automatically_on_login|KDE Wallet]]. 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 find the dialogs to unlock the wallet annoying when applications want to access it, you can let the login managers {{ic|SDDM}} and {{ic|LightDM}} unlock the wallet at login automatically, see [[KDE_Wallet#Unlock_KDE_Wallet_automatically_on_login|KDE Wallet]]. 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 {{Pkg|kwalletmanager}} in the KWallet settings.
 
In case you want the wallet credentials not to be opened in memory for every application, you can restrict applications from accessing it with {{Pkg|kwalletmanager}} in the KWallet settings.
Line 613: Line 595:
  
 
You will need to disable these escape sequences in the programs that use them. See [https://github.com/neovim/neovim/wiki/FAQ#nvim-shows-weird-symbols-2-q-when-changing-modes neovim FAQ] for a workaround for neovim.
 
You will need to disable these escape sequences in the programs that use them. See [https://github.com/neovim/neovim/wiki/FAQ#nvim-shows-weird-symbols-2-q-when-changing-modes neovim FAQ] for a workaround for neovim.
 +
 +
=== Discover does not show any applications ===
 +
 +
This can be solved by installing {{Pkg|packagekit-qt5}}.
 +
 +
=== High CPU usage of kscreenlocker_greet with NVidia drivers ===
 +
 +
As described in [https://bugs.kde.org/show_bug.cgi?id=347772 KDE Bug 347772] NVidia OpenGL drivers and QML may not play well together with Qt5. This may lead {{ic|kscreenlocker_greet}} to high CPU usage after unlocking the session. To work around this issue, set the {{ic|$QSG_RENDERER_LOOP}} [[environment variable]] to {{ic|basic}}.
 +
 +
Then kill previous instances of the greeter with {{ic|killall kscreenlocker_greet}}.
  
 
== See also ==
 
== See also ==

Latest revision as of 15:18, 11 August 2018

KDE is a software project currently comprising of 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.

Contents

Installation

Plasma

Before installing Plasma, make sure you have a working Xorg installation on your system.

Install the plasma-meta meta-package or the plasma group. For differences between plasma-meta and plasma reference Creating packages#Meta packages and groups. Alternatively, for a more minimal Plasma installation, install the plasma-desktop package.

To enable support for Wayland in Plasma, also install the plasma-wayland-session package.

KDE applications

To install the full set of KDE Applications, install the kde-applications group or the kde-applications-meta meta-package. Note that this will only install applications, it will not install any version of Plasma.

Unstable releases

See Official repositories#kde-unstable

Starting Plasma

Note: Although it is possible to launch Plasma under Wayland, there are some missing features and known problems as of Plasma 5.13. See the Plasma 5.13 Errata for a list of issues and the Plasma on Wayland workboard for the current state of development. Use Xorg for the most complete and stable experience.

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

Using a display manager

Note: The NVIDIA proprietary driver implementation for Wayland requires EGLStreams. KDE have not implemented EGLStreams in their Wayland implementation. The following workarounds are available:
  • Using the Nouveau driver.
  • Using the (default) Xorg session.

From the console

To start Plasma with xinit/startx, append exec startkde to your .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 export XDG_SESSION_TYPE=wayland && export $(dbus-launch) && startplasmacompositor.[1]

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 systemsettings5.

Personalization

Plasma desktop

Themes

Plasma themes define the look of panels and plasmoids. For easy system-wide installation, some themes are available in both the official repositories and the AUR.

Plasma themes can also be installed through System Settings > Workspace Theme > Desktop Theme > Get new Themes.

The KDE-Store offers more Plasma customization's, like SDDM themes and splash-screens.

Qt and GTK+ Applications Appearance
Tip: For Qt and GTK theme consistency, see Uniform look for Qt and GTK applications.
Qt4

For Qt4 applications to have a consistent appearance, there are two options:

Install breeze-kde4 and then pick Breeze as GUI Style in qtconfig-qt4; or install breeze-gtk and pick GTK+ as GUI Style.

GTK+

The recommended theme for a pleasant appearance in GTK+ applications is breeze-gtk or gnome-breeze-gitAUR, a GTK+ theme designed to mimic the appearance of Plasma's Breeze theme. Install kde-gtk-config (part of the plasma group) and select the installed GTK-theme for GTK2/GTK3-Theme in System Settings > Application Style > GNOME Application Style.

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. It might also help to uncheck the option to Apply colors to non-Qt applications under System Settings > Colors.

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 > Application Style > GNOME Application Style (GTK) > Select a GTK2 Theme:. Numix-Frost-Light looks similar to Breeze.

Widgets

Plasmoids are little scripted (plasmoid scripts) or coded (plasmoid binaries) KDE applications designed to enhance the functionality of your desktop.

The easiest way to install plasmoid scripts is by right-clicking onto a panel or the desktop and choosing Add Widgets > Get new Widgets > Download Widgets. This will present a nice frontend for https://store.kde.org/ that allows you to install, uninstall, or update third-party plasmoid scripts with literally just one click.

Many Plasmoid binaries are available from the AUR.

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. [2] 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. [3] 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 '/"Plasma": ("plasmashell" "plasmashell")/!d; s/^  *\([^ ]*\) .*/\1/g'); do
   xprop -id $WID -remove _KDE_NET_WM_SHADOW
done

Set execution permissions for the script:

# chmod 755 /usr/local/bin/kde-no-shadow

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

$ kcmshell5 autostart

Window decorations

Window decorations can be changed in System Settings > Application Style > Window Decorations.

There you can also directly download and install more themes with one click, and some are available in the AUR.

Icon themes

Icon themes can be installed and changed on System Settings > 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 apps. 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, ffmpegthumbs and kde-thumbnailer-odfAUR.

Then enable the thumbnail categories for the desktop via right click on the desktop background > Configure Desktop > Icons > More Preview Options....

In Dolphin, navigate to Control > General > Previews.

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 print-manager and cups. 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 authentification 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 saving

Install powerdevil for an integrated power saving service called "Powerdevil Power Management", that may adjust the power saving profile of the system and/or the brightness of the screen (if supported).

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: Regarding the note below, it might be that the problem is the logind setting LidSwitchIgnoreInhibited which defaults to yes. [4] (Discuss in Talk:KDE#)
Note: Powerdevil 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#Power management with systemd.

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 shell scripts, a symlink 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.
  • Place or symlink shell scripts in one of the following directories:
~/.config/plasma-workspace/env/
for executing scripts at login before launching Plasma.
~/.config/autostart-scripts/
for executing scripts at login.
~/.config/plasma-workspace/shutdown/
for executing scripts on shutdown.

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 apps) and video (e.g., the Dolphin video thumbnails).

Which backend should I choose?

You can choose between backends based on GStreamer and VLC – each available in versions for Qt4 applications and Qt5 applications (phonon-qt4-gstreamer, phonon-qt5-gstreamerphonon-qt4-vlc, phonon-qt5-vlc).

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 features set. The Gstreamer backend has some optional codec dependency, install them as needed:

In the past other backends were developed as well but are no longer maintained and their AUR packages have been deleted.

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

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.

  • kde-gtk-config — GTK2 and GTK3 Configurator for KDE.
https://cgit.kde.org/kde-gtk-config.git || kde-gtk-config
  • KCM Qt Graphics System — This KCM allows you to easily configure the standard Qt graphics system.
https://www.linux-apps.com/p/1127857/ || kcm-qt-graphicssystemAUR
https://www.linux-apps.com/p/1127851/ || kcm-ufwAUR
  • System policies — Set of configuration modules which allows administrator to change PolicyKit settings.
https://cgit.kde.org/polkit-kde-kcmodules-1.git || kcm-polkit-kde-gitAUR
  • wacom tablet — KDE GUI for the Wacom Linux Drivers.
https://www.linux-apps.com/p/1127862/ || kcm-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/GNOME integration.

PIM

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

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).

Installation

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

Note: If you wish to use a database engine other than MariaDB or MySQL, then when installing the akonadi package, use the following command to skip installing the mariadb dependencies:
# pacman -S akonadi --assume-installed mariadb
PostgreSQL

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: Akonadi seems to spawn its own postgres process. Some ~/.config/akonadi/akonadiserverrc settings need to be updated. (Discuss in Talk:KDE#Akonadi & PostgreSQL)

Install and setup PostgreSQL. Make sure postgresql.service is started.

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

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

[QPSQL]
Host=/run/postgresql/
InitDbPath=/usr/bin/initdb
Name=akonadi
Options=
Password=
Port=5432
ServerPath=/usr/bin/pg_ctl
StartServer=true
User=postgres
Note: If your PostgreSQL database username, password, and port differ from postgres, (nothing), and 5432, then make sure you respectively change the configuration options, User=, Password=, and Port=.

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

SQLite

Edit Akonadi configuration file to match the configuration below:

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

[QSQLITE3]
Name=/home/username/.local/share/akonadi/akonadi.db
Disabling Akonadi

See this section in the KDE userbase.

Troubleshooting
OS error 22 when running 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 MySQL#OS error 22 when running on ZFS.

KDE Telepathy

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 telepathy group. To use the KDE Telepathy client, install the telepathy-kde-meta package that includes all the packages contained in the telepathy-kde group.

Use Telegram with KDE Telepathy

Telegram protocol is available using telepathy-haze, installing telegram-purpleAUR or telegram-purple-gitAUR and telepathy-morse-gitAUR. The username is the Telegram account telephone number (complete with the national prefix +xx, e.g. +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 (~/.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 provides several features to connect your Android 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 Android. For PC side, install kdeconnect package. For Android side, install KDE Connect from Google Play or from F-Droid.

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 indicator-kdeconnectAUR package as well. For GNOME users, better integration can be achieved by installing gnome-shell-extension-gsconnectAUR instead of kdeconnect.

Tips and tricks

Use a different window manager

The component chooser settings in Plasma does not allow changing the window manager anymore. [6] In order to change the window manager used you need to set the KDEWM environment variable before KDE startup. [7] To do that you can create a script called set_window_manager.sh in ~/.config/plasma-workspace/env and export the KDEWM variable there. For example to use the i3 window manager :

~/.config/plasma-workspace/env/set_window_manager.sh
export KDEWM=/usr/bin/i3

And then make it executable :

$ chmod +x ~/.config/plasma-workspace/env/set_window_manager.sh

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

Re-enabling compositing effects

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 Compton.

Configuring monitor resolution / multiple monitors

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

Disable opening application launcher with Super key (Windows key)

To disable this feature you currently can run the following command:

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

Troubleshooting

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 > 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 > 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 > 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 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 it 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 (https://bugs.kde.org/) only if it is an official widget. If it is not, it is recommended you find the entry on https://store.kde.org/ 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:

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

This command will rename all Plasma related configs 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 and several other problems such as ark being unable to unrar or unzip or amarok not recognizing any of your music. This solution can also resolve problems with KDE and Qt programmes looking bad following upgrade.

Rebuild the cache use the following commands:

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

Optional empty the ~/.cache folder contents, note this also clears cache of other applications:

$ rm -rf ~/.cache/*

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 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 > 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.

Disable compositing

In System Settings > Display and Monitor, uncheck Enable compositor on startup and restart Plasma.

Flickering in fullscreen when compositing is enabled

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

Screen tearing with NVIDIA

See NVIDIA/Troubleshooting#Avoid screen tearing in KDE (KWin).

Plasma cursor sometimes shown incorrecty

Create the directory ~/.icons/default and inside a file named index.theme with the following contents:

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

Execute the following command:

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

Sound problems

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

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:

$ 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.

"Falling back to default" messages when trying to listen to any sound

When you encounter such messages:

The audio playback device name_of_the_sound_device does not work.
Falling back to default

Go to System Settings > Multimedia > Phonon and set the device named default above all the other devices in each box you see.

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-vlc or phonon-qt5-vlc. Then, make sure the backend is preferred via System Settings > Multimedia > Backend.

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.

KMail

Clean akonadi configuration to fix KMail

First, make sure that KMail is not running. Then backup configuration:

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

Start SystemSettings > Personal and remove all the resources. Go back to Dolphin and remove the original ~/.local/share/akonadi and ~/.config/akonadi - the copies you made ensure that you can back-track if necessary.

Now go back to the System Settings page and carefully add the necessary resources. You should see the resource reading in your mail folders. Then start Kontact/KMail to see if it work properly.

Empty IMAP inbox in KMail

For some IMAP accounts, kmail will show the inbox as a container with all other folders of this account inside. Kmail does not show messages in the inbox container but in all other subfolders, see KDE Bug 284172. To solve this problem simply disable the server side subscription in the kmail account settings.

Networking

Freezes when using Automount on a NFS volume

Using Fstab#Automount with systemd on a NFS volume may cause freezes, see bug report upstream.

Aggressive QXcbConnection journal logging

See Qt#Disable/Change Qt journal logging behaviour.

KF5/Qt5 applications do not display icons in i3/fvwm/awesome

See Qt#Configuration of Qt5 apps 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 login managers SDDM and LightDM unlock the wallet at login automatically, see KDE Wallet. 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.

Weird "q" symbol in konsole

If you get a weird "q" symbols in programs such as vim[8] or neovim[9], it is because they use cursor shape changing escape sequences (DECSCUSR) which konsole does not support. See KDE Bug 347323.

You will need to disable these escape sequences in the programs that use them. See neovim FAQ for a workaround for neovim.

Discover does not show any applications

This can be solved by installing packagekit-qt5.

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 Qt5. 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.

See also