Skip to content

Instantly share code, notes, and snippets.

@vancluever
Last active November 13, 2024 18:26
Show Gist options
  • Save vancluever/d34b41eb77e6d077887c to your computer and use it in GitHub Desktop.
Save vancluever/d34b41eb77e6d077887c to your computer and use it in GitHub Desktop.
GNOME Tracker Disable

Disabling GNOME Tracker and Other Info

GNOME's tracker is a CPU and privacy hog. There's a pretty good case as to why it's neither useful nor necessary here: http://lduros.net/posts/tracker-sucks-thanks-tracker/

After discovering it chowing 2 cores, I decided to go about disabling it.

Directories

~/.cache/tracker
~/.local/share/tracker

After wiping and letting it do a fresh index on my almost new desktop, the total size of each of these directories was a whopping 3.9 GB!

Startup Files

On my Ubuntu GNOME setup, I found the following files:

$ ls  /etc/xdg/autostart/tracker-*
/etc/xdg/autostart/tracker-extract.desktop
/etc/xdg/autostart/tracker-miner-fs.desktop
/etc/xdg/autostart/tracker-store.desktop
/etc/xdg/autostart/tracker-miner-apps.desktop
/etc/xdg/autostart/tracker-miner-user-guides.desktop

You can disable these by adding Hidden=true to them. It's best done in your local .config directory because 1) you don't need sudo and 2) you are pretty much guaranteed that your changes won't be blown away by an update.

The tracker Binary

Running tracker will give you a vast array of tools to check on tracker and manage its processes.

$ tracker
usage: tracker [--version] [--help]
               <command> [<args>]

Available tracker commands are:
   daemon    Start, stop, pause and list processes responsible for indexing content
   info      Show information known about local files or items indexed
   index     Backup, restore, import and (re)index by MIME type or file name
   reset     Reset or remove index and revert configurations to defaults
   search    Search for content indexed or show content by type
   sparql    Query and update the index using SPARQL or search, list and tree the ontology
   sql       Query the database at the lowest level using SQL
   status    Show the indexing progress, content statistics and index state
   tag       Create, list or delete tags for indexed content

See 'tracker help <command>' to read about a specific subcommand.

Non-Invasive Disable Cheat Sheet

This disables everything but tracker-store, which even though it has a .desktop file, seems tenacious and starts up anyway. However, nothing gets indexed.

tracker daemon -t
cd ~/.config/autostart
cp -v /etc/xdg/autostart/tracker-*.desktop ./
for FILE in tracker-*.desktop; do echo Hidden=true >> $FILE; done
rm -rf ~/.cache/tracker ~/.local/share/tracker

Note that tracker daemon -t is for graceful termination. If you are having issues terminating processes or just want to take your frustration out, tracker daemon -k immediately kills all processes.

After this is done, tracker-store will still start on the next boot. However, nothing will be indexed. Your disk and CPU will be better for wear.

$ tracker status
Currently indexed: 0 files, 0 folders
Remaining space on database partition: 123 GB (78.9%)
All data miners are idle, indexing complete

Other References

@tonylambiris
Copy link

@paulochf has the right idea

for FILE in tracker-*.desktop; do echo Hidden=true >> $FILE; done

@Mortal
Copy link

Mortal commented Oct 9, 2017

It appears tracker has been split into two packages, at least on Arch Linux: Everything depends on the tracker package, which only installs /etc/xdg/autostart/tracker-store.desktop, and the tracker-miners is recommended by tracker and installs all the other autostart files. As far as I can tell you can now simply remove tracker-miners.

@clumsyfingers
Copy link

NB use at your own risk

seems you can prevent tracker-store from starting by deleting (or backing up) /usr/lib64/systemd/user/tracker*.service
might be located elsewhere on your system
the files are called tracker-extract.service, tracker-store.service etc
at least tracker-store hasnt started since i killed those files. not seen any ill effects including searcing in nautilus

@maysam-h
Copy link

this is a good tutorial but unfortunately this does not work for me. I made a simple script to kill the trackers process. It will surely kill the process before it exits. Here is the link: https://goo.gl/7A23fK

@vancluever
Copy link
Author

WOW I never noticed this had so much traffic! I hope that everyone found it (somewhat) useful - I personally didn't intend it to be anything else other than personal notes. But yeah all these comments withstanding this is probably pretty out of date information. I actually switched to Arch and i3 for a long time a few months after writing this and haven't really bothered to touch it on my Fedora installs (I don't think I've noticed anywhere close to the same performance hit that I think led me to it in the first place).

Copy link

ghost commented Feb 3, 2018

You can use Gnome Settings -> Search to disable or restrict tracker.
When you start that GUI it shows which applications not which file system locations.
Click on the gear icon to access the controls for enabling/disabling file system locations.
Unfortunately, when I use an sshfs mount inside my home directory tracker access to it cannot be controlled via that GUI.

@grigio
Copy link

grigio commented Mar 6, 2018

Thanks

@scruss
Copy link

scruss commented May 14, 2018

Can't live without tracker. With an SSD, if it takes more than momentary time to index, there's something wrong. If it's chewing CPU, there's a chance it's found a file that's breaking the indexer. You can find and triage the offending file with this process: https://askubuntu.com/a/914602/68093

@soerensen3
Copy link

Thanks!

@Mark-Booth
Copy link

Thanks for this gist, it was really useful, but please update it to use tracker-*.desktop; rather than ls since not everyone reads through all of the comments to find the corrections. I've just had to manually remove the lines added to all of my other autostart files.

@maage
Copy link

maage commented Sep 30, 2018

@tyagiakhilesh
Copy link

Thanks, found what I was looking for.

@nilands55s
Copy link

The easy solution is to open /usr/lib/tracker/ and find the files "tracker-miner-fs" and "tracker-store" select properties and under the Permissions tab un-select the "Execute: [] Allow Executing file as a Program". With out this property the programs will not load.Problem solved. This could also be done in a command line. "chmod -x /usr/lib/tracker/tracker-store" and "chmod -x /usr/lib/tracker/tracker-miner-fs" and could be made not to change these attributes with the "chattr +i" to add immutable. There are two other files in this directory I did this to but I am not sure of the necessity of changing them

@v-marinkov
Copy link

@nilands55s your solution and in particular "tracker-store" causes Files to not be able to launch on Pop OS 19.04. I went with the original solution and even added more services. Thanks to all!

@byroniac
Copy link

Another option: in Ubuntu, one can use this GUI. If it's not installed already, just do sudo apt-get install tracker-gui.

For whatever reason, this package is not (yet?) available in Ubuntu 19.04, where I'm having this problem.

@skuhl
Copy link

skuhl commented Jun 6, 2019

for FILE in `ls`; do echo Hidden=true >> $FILE; done

Should be changed to the following to prevent it from adding "Hidden=true" to the end of any files already existing in ~/.config/autostart :

for FILE in tracker-*.desktop; do echo Hidden=true >> $FILE; done

I really wish tracker would skip indexing files can't be indexed with minimal cpu or memory. I understand that the goal is to index everything, but I'd rather it skip some file that requires even just 512MB of memory or more than a second of 100% cpu usage (even if it legitimately those resources to index the file). Worse, there isn't any obvious user-facing feedback that tracker is the cause (short of top or system monitor) and/or which file is causing the problem. I think tracker would be nice if they sorted out these issues.

@vancluever
Copy link
Author

I can't believe that this is still being used! I've updated it with the oft mentioned fix to the pretty obvious oversight with the blind ls.

Again, I haven't touched or used this in years, and never messed with it on my most recent Fedora installs. YMMV.

@skuhl
Copy link

skuhl commented Jun 6, 2019

I think Ubuntu 19.04 was the first Ubuntu distribution to include tracker. This probably increased the number of tracker users in recent months and caused some of the interest in this. For me, there is(are) some file(s) that tracker occasionally touches that makes my machine crawl until the OOM killer decides to kill tracker. I don't know the tracker details, but it seems to regularly occur when I run a script which touches a lot of the files in my home directory.

@byroniac
Copy link

byroniac commented Jun 6, 2019

I've always been a GNOME guy, but I'm beginning to dislike GNOME in certain specifics if not in general, because of unnecessary (to me) tools like this (to be fair, these tools are appreciated and desired by some, apparently). I'm very thankful that this has been provided.

@zeus86
Copy link

zeus86 commented Jun 21, 2019

Thank you very much, this helped me out alot and saved me at least an hour of searching for this issue.

@zdyxry
Copy link

zdyxry commented Jul 5, 2019

Thanks.

@rohanshukla94
Copy link

rohanshukla94 commented Jul 18, 2019

@Joshfindit
Copy link

Interesting (possible new) quirk on a fresh install of Pop!_OS 19.10:
I have an sshfs automount (through fstab) drive with ~80000 files, and even if I let it finish (15-30min, resulting in Currently indexed: 108823 files, 28495 folders), it will completely drop all that metadata on the next reboot (resulting in Currently indexed: 149 files...)
Currently watching all the logs as well as /tmp/tracker-extract-files.1000/, but preliminary results are not promising.

@logix2
Copy link

logix2 commented May 1, 2020

Nowadays you can disable Tracker easier, by masking its systemd services, see here

@gaellafond
Copy link

gaellafond commented Jun 18, 2020

Ubuntu 20.04 user here. I tried all of these and still, the damn tracker was using 100% of a CPU core none stop. I look for over an hour, trying all the answers I could find. At the end, I had enough. I deleted the autostart files and rebooted the computer:
$ sudo rm /etc/xdg/autostart/tracker*
Still, the damn tracker process was sucking up my CPU. I can't uninstall the sucker since that would uninstall Ubuntu desktop binaries, so I deleted the tracker binaries and rebooted:
$ sudo rm /usr/libexec/tracker*
That did the trick. It's a radical solution, I know. I would not recommend anyone to do this, but it does work.

@alex4buba
Copy link

I am new to Linux, just moved here after 30+ years in Windows... Am afraid to follow things, maybe I will damage something...
Using KDE Plasma over Ubuntu 20.04 and am getting this error:

A start job for unit fwupd-refresh.service has finished with a failure.
The job identifier is 2337 and the job result is failed.

What should I do?
Thanks

@wachin
Copy link

wachin commented Nov 5, 2021

Thanks

@eevmanu
Copy link

eevmanu commented Mar 2, 2022

Nowadays you can disable Tracker easier, by masking its systemd services, see here

👍 , thx @logix2

Testing with the directories and it works (stop increasing the disk usage):

$ du -shc .cache/tracker/
380K	.cache/tracker/
380K	total

$ du -shc .local/share/tracker/
84K	.local/share/tracker/
84K	total

also, if you're confortable with terminal, I strongly recommend:

  • fzf to search patterns on filenames
  • ripgrep to search patterns over files content

@TadoTheMiner
Copy link

thanks for the files. Im on fedora and tracker command was not found. so I only deleted the .desktop files in xdg autostart

@cfgnunes
Copy link

Ubuntu 22.04 (workaround to disable Tracker3)

To disable Tracker3 on Ubuntu 22.04 and avoid updates:

sudo apt-mark hold tracker
sudo apt-mark hold tracker-extract
sudo apt-mark hold tracker-miner-fs

sudo chmod -x /usr/libexec/tracker-extract-3
sudo chmod -x /usr/libexec/tracker-miner-fs-3

tracker3 reset --filesystem --rss # Clean all database
tracker3 daemon --terminate

To undo:

sudo apt-mark unhold tracker
sudo apt-mark unhold tracker-extract
sudo apt-mark unhold tracker-miner-fs

sudo chmod +x /usr/libexec/tracker-extract-3
sudo chmod +x /usr/libexec/tracker-miner-fs-3

tracker3 daemon --start

This solution is a workaround. But it works.

If you want to check all settings of Tracker3 for the current user, run the command:

gsettings list-recursively | grep Tracker3

In this settings it is possible to enable or disable the Tracker3 for specific directories.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment