There are some programs that run as part of the background KDE tasks that are probably not necessary for most people using the KDE desktop. These are Nepomuk, Strigi, Baloo and Akonadi. Akonadi also runs multiple instances or threads in order to perform its task. This requires, in turn, multiple instances of the MySQL (more recently forked to MariaDB) database to perform data storage and manipulation functions.
These extra and usually unneeded processes consume system memory and CPU resources, as well as additional CPU time while KDE is initializing during the user login to the KDE desktop.
Note: I have added Baloo to this article on 09/05/2014.
What they do
These three programs perform the following tasks.
Nepomuk stands for Networked Environment for Personal, Ontology-based Management of Unified Knowledge. The nepomuk program is supposed to connect together various, otherwise separate KDE desktop programs and their data into a unified database. I am personally not sure of the reasoning behind this as it seems to add a great deal of overhead to what should otherwise be simple applications such as email, address book, notes, and calendar.
For more information on Nepomuk, see Nepomuk in WikiPedia.
Strigi is a desktop search daemon. In the KDE implementation, it works with Nepomuk to allow locating files and data embedded in files.
Baloo is another KDE desktop search and indexing daemon. Baloo appears to be a replacement for Strigi in Fedora 20, and performs the same function of locating files and data embedded in files. Baloo is not available prior to Fedora 20.
Akonadi provides a unified storage service for the KDE PIM applications. It uses MySQL or it’s forked MariaDB version as the backend database.
Disable the services
Disabling these services is fairly easy and much of the work can be accomplished using the System Settings. Note that these steps must be performed for each user on the host. There is no global configuration for these services.
Nepomuk and Strigi
Nepomuk and Strigi can be configured or disabled using either the GUI Systems Settings app or directly in the Nepomuk configuration file.
Using the GUI
To disable Nepomuk and Strigi, open the System Settings application and then in the Workspace Appearance and Behavior section, select Desktop Search. This opens the Nepomuk Server Configuration window.
Uncheck the three check boxes on this page, starting from the bottom. Uncheck Enable Nepomuk Semantic Desktop last. Then click the Apply button to complete and activate the changes.
Note that the text, “Desktop search services are active” does not change until you click the Apply button.
Using the configuration file
To edit the Nepomuk configuration file directly, use vi to edit the nepomukserverrc file. In Fedora 18 and previous releases, each user has an individual configuration file at ~/.kde/share/config/nepomukserverrc. In at least Fedora 17 there is a global default file at /usr/share/kde-settings/kde-profile/default/share/config/nepomukserverrc that can be used to change these settings for all users, which makes much more sense in many instances. In more recent releases of Fedora, you may find that global configuration file at /usr/share/kde-settings/kde-profile/minimal/share/config/nepomukserverrc.
Whichever files that are used in your system, add the following lines to the file if they do not exist, or modify them to look like this if they do exist.
For releases prior to Fedora 17:
[Basic Settings] Start Nepomuk=false [Service-nepomukfileindexer] autostart=false
For Fedora 17 and above:
[Basic Settings] Start Nepomuk=false [Service-nepomukstrigiservice] autostart=false
These entries prevent Nepomuk and Strigi from starting.
Baloo can be configured or disabled using either the GUI Systems Settings app, the command line, or directly in the Baloo configuration file.
Using the GUI
To disable Baloo, open the System Settings application and then in the Workspace Appearance and Behavior section, select Desktop Search. This opens the Configure Desktop Search window.
Uncheck the check box on this page, Enable Desktop Search. Then click the Apply button to complete and activate the changes.
Using the command line
Use the following command from the command line to disable the Baloo file indexer.
Using the configuration file
To edit the Nepomuk configuration file directly, use vi to edit the baloofilerrc file. Each user has an individual configuration file at ~/.kde/share/config/baloofilerc. In at least Fedora 20 and above there is a global default file at /usr/share/kde-settings/kde-profile/default/share/config/baloofilerc that can be used to change these settings for all users, which makes much more sense in many instances.
Either change the Indexing-Enabled line in the appropriate file to “false” or add the line if it does not exist.
Disable Akonadi by clicking on the Stop button in the Status section of the Akonadi configuration section of the System Settings application.
Click on the Apply button to activate these changes.
Disable Database Startup
You should also disable starting the database server in the file ~/.config/akonadi/akonadiserverrc. Change the line StartServer=true to StartServer=false as shown below.
[%General] Driver=QMYSQL[QMYSQL] Name=akonadi Host= Options="UNIX_SOCKET=/home/user/.local/share/akonadi/socket-user.example.org/mysql.socket" ServerPath=/usr/libexec/mysqld StartServer=true[Debug] Tracer=null [user@host akonadi]$ vim akonadiserverrc [user@host akonadi]$ cat akonadiserverrc [%General] Driver=QMYSQL[QMYSQL] Name=akonadi Host= Options="UNIX_SOCKET=/home/user/.local/share/akonadi/socket-user.example.org/mysql.socket" ServerPath=/usr/libexec/mysqld StartServer=false[Debug] Tracer=null