KDE — How to disable Nepomuk, Strigi, Baloo and Akonadi





Last Updated on 03/28/2018 by dboth

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

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

Strigi is a desktop search daemon. In the KDE implementation, it works with Nepomuk to allow locating files and data embedded in files.

Baloo

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

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 box "Enable Nepomuk Semantic Desktop" to turn off Nepomuk.

Uncheck the box “Enable Nepomuk Semantic Desktop” to turn off Nepomuk.

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

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.

BalooConfigureDeskTopSearch01

Uncheck the box, “Enable Desktop Search” to disable Baloo.

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.

balooctrl disable

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.

Indexing-Enabled=false

Akonadi

Disable Akonadi by clicking on the Stop button in the Status section of the Akonadi configuration section of the System Settings application.

Uncheck the box, "Use internal MySQL server" to disable the Akonadi server.

Click on the Stop button to turn off the Akonadi server.

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

.