tracker-daemon(1) Start, stop, restart and list daemons responsible for indexing content


tracker daemon [options...]
tracker daemon -s | -t [daemons] | -k [daemons] | -l
tracker daemon -f | -w [ontology]
tracker daemon --miner <miner> --pause[-for-process] <reason>
tracker daemon --miner <miner> --resume <cookie>


Tracker has many components to it including a "store" for handling data set updates and "miners" for handling data mining in their respective areas.

The tracker daemon command allows for control of these components. This ranges from starting, stopping and killing processes to pausing and resuming them.

In addition to all this, there are ways to change the log verbsity for all processes that generate logs and to follow or watch what is happening in real time from a top level and right down where the SPARQL commits are happening too.

If no arguments are provided this command will show the current status of all Tracker entities (store and all available data miners).

For tracker-store, the status is always "Idle" unless it is restoring a backup and/or replaying a journal (see also tracker reset --soft). For a list of common statuses, see --list-common-statuses.

The data miners can be paused or resumed using this command and you can also list miners running and available.


-p, --list-processes
This lists all Tracker processes in the system.
-k, --kill=[daemons]
This uses SIGKILL to stop all Tracker processes found matching the parameter, if no extra parameter is passed, "all" will be assumed. This is not advised unless you are having problems stopping Tracker in the first place. This GUARANTEES death.

The possible daemons options are:

all - All daemons.

store - Only the tracker-store.

miners - Only data miners.

-t, --terminate=[daemons]
This uses SIGTERM to stop all Tracker processes found matching the parameter, if no extra parameter is passed, "all" will be assumed. This is recommended over --kill because it gives the processes time to shutdown cleanly.

For a list of possible daemons, see --kill.

-s, --start
Starts all miners. This indirectly starts tracker-store too because it is needed for miners to operate properly. The store is started from D-Bus.
This displays the log verbosity for ALL components using GSettings for this configuration. For possible values, see --set-log-verbosity.
This sets the log verbosity for ALL daemons using GSettings to store their "verbosity" configuration.

The possible verbosity options are:

debug - Show EVERYTHING, from debug messages to errors. This often includes actual SQL being executed.

detailed - Show enough detail to understand what is happening.

minimal - Show an overview of what is going on, e.g. stats and when things start or stop.

errors - Show only warnings, criticals, errors or fatal events.

-f, --follow
Follow status changes to daemons as they happen. This is a top level view of what is happening. You will see the name for each daemon and a state with the progress in that state.

This requires Ctrl+C to stop and return to the command line. Each new status is put on a new line.

-w, --watch=[ontology]
Watch changes that happen to the database in real time. This requires Ctrl+C to stop and return to the command line.

If ontology is unspecified, all updates are shown. The ontology can be a comma separated list of shorthand or long hand ontology properties. For example:

    $ tracker-control -w nie:url,nie:mimeType,nfo:fileSize,nie:dataSource
    Now listening for resource updates to the database
    All nie:plainTextContent properties are omitted
    Press Ctrl+C to stop
       'nfo:fileSize' = '1770'
       'nie:dataSource' = ''
       'nie:mimeType' = 'text/plain'
       'nie:url' = 'file:///home/martyn/.bash_aliases'
       'nie:dataSource' = ''

This will list statuses most commonly produced by miners and the store. These statuses are not translated when sent over D-Bus and should be translated by each application. These are not considered static and are subject to change at any point.

Additionally, these statuses are not the only ones which may be reported by a miner. There may be other states pertaining to the specific roles of the miner in question.

This will list all miners which have responded to a D-Bus call. Sometimes it is helpful to use this command with --list-miners-available.
This will list all miners which are available even if they are not running at the moment.
For listing all miners which are paused and the reasons for being paused, you can use this. It will also display the application that requested the pause too.
This argument is used with --pause or --resume to say which miner you want to pause or resume. You can use the full D-Bus name, e.g. "org.freedesktop.Tracker1.Miner.Files" OR you can use the suffix, e.g. "Files".
The reason here is useful to know WHY the miner should be paused. A miner can be paused many times by multiple applications. Only when all pauses have been resumed will it continue. If successful, a cookie will be given to uniquely identify the request. This cookie is used to resume the pause at a later stage.
This works exactly the same way as --pause with the exception that it only keeps the pause active while the calling process is alive. As soon as you press Ctrl+C the pause is resumed automatically.
The cookie is given by a successful --pause command. It is a number which identifies each pause request. When all pauses have been resumed, the miner will resume working.


Miners that are installed should have a .desktop file in /usr/share/tracker/miners/, this is how tracker-control knows about miners which exist but may not have not been started. This environment variable allows the location that miner .desktop files are loaded from to be overridden by setting it to a new path.
If you don't have .desktop files for miners, you can use this environment variable to get status information from RUNNING processes. This doesn't give any indication for miners NOT running. This uses registered miners on DBus to know about existing Tracker based data miners.