Gnomeトラッカーを実際に完全に無効にする方法は?

Gnomeトラッカーを実際に完全に無効にする方法は?

リソースを大量に消費し、データをコピーするGnome Trackerデーモンを無効にすることは、予想よりはるかに困難です。私は最近インストールされた(安定した)Debian 11.2を実行するためにGnomeを使用しています。

私が見つけた提案の1つはすべての/etc/xdg/autostart/tracker-*.desktopファイルを編集することによって

X-GNOME-Autostart-enabled=false (それはtrue

これが誰かに効果があったとはいえ、昔は残念ながらこの変化が目立つ効果をもたらすことができませんでした。

トラッカーバージョン2を実行しているので、私も試してみました。

systemctl --user mask tracker-store.service tracker-miner-fs.service tracker-miner-rss.service tracker-extract.service tracker-miner-apps.service tracker-writeback.service

明らかに、このアプローチは機能しますが、システムログは依然として追跡サービスが「成功」であることを報告します。おそらく、これらのエントリはトレースサービス用にsystemdが設定されている方法の成果物です。 「マスク」アプローチの問題は、トレースデーモンを再度アクティブにする反対の操作(mask-> )がunmask機能しないことです。 (はい、指示どおりに再起動しました。ところでトラッカーデーモンが再び上がらなかったんですね。)

答え1

私も同じ問題がありました。

sudo systemctl --global mask tracker-miner-fs-3.service
sudo systemctl --global mask tracker-xdg-portal-3.service

もちろん、これによりサービスの再起動を防ぐことができます。みんなuser;ただし、現在のアイテムをブロックするには、そのユーザーを終了する必要があります。

私はDebianシードを使用しています。

答え2

/etc/xdg/autostart/tracker-*.desktop全体のプロセスは、多くの点で誤解を招くことがわかりました。

  1. トラッカーデーモンとこれらのファイルの間には1対1の対応はありません。そのファイルは2つですが、デーモンは3つです。

  2. 私はシステムログを研究することによってこれら3つのデーモンの存在/アイデンティティを見つけました。

  3. トラッカーはすべてユーザースペースにあります。ユーザーが実行されていない場合、トラッカーデーモンは実行されません。いつ、これ提案は次のとおりです。

    systemctl --user mask tracker-store.service tracker-miner-fs.service tracker-miner-rss.service tracker-extract.service tracker-miner-apps.service tracker-writeback.service
    

    ...(以前に報告したように機能しました)現在のユーザーのホームディレクトリにシンボリックリンクを作成します。~/.config/systemd/userたとえば、Debian 11/Gnome ではtracker-extract.service -> /dev/null

  4. しかし、問題があります。これを行うには、無効にしたいトラッカーデーモンのユーザーとしてログインする必要がありますsystemctl --user ...。これは、実行しようとしたがログインしていないユーザーにとっては不便です。ユーザーの1人は、Debian-gdmgdmの挨拶が実行されるとデフォルトでトラッカーデーモンが実行されるようです。さらに悪いことは、sudo -u thisuser systemctl --user ...rootとしてログインしても機能しないことです。したがって、トラッカーデーモンの実行を完全に無効にするには、Debian-gdmとしてログインする方法を見つける必要があります。

したがって、トラッカーデーモンを実際に無効にする問題に対する現在の解決策は、影響を受ける各ユーザーのディレクトリからこれらのリンクを作成して削除するスクリプトを作成することです。トラッカー v2 を実行するか v3 を実行しているかによって、シンボリックリンクの名前が異なることを理解することが重要です。systemctl --user ...すべてのディストリビューションが上記のすべてのサービスを使用しているわけではないことを理解することも重要です。 Debian 11/Gnomeでは、少なくともこれまでは6つのうち3つしか使用されていません。しかし、使用しないリンクをマスキング(該当シンボリックリンク生成)しても何の害もないようです。

トラッカーデーモンが常に実行されている場合、セキュリティ上の問題が発生したり発生しない可能性があるデータが生成されます。 (もちろん、このデータが私が心配している部分です。)このデータを削除するための推奨手順は次のとおりです。

tracker reset --hard(v2 の場合)
または
tracker3 reset -s -r(v3 の場合)

ただし、もう一度トラッカーデータを破棄したいユーザーとしてログインする必要があります。もう一度、すべてのユーザーが簡単に削除する方が安全で簡単であることがわかりました。

~/.cache/tracker
そして
~/.local/share/tracker

またはトラッカーデータが保存される場所です。

以前にシステムログに漏洩した詳細な追跡レポートをどのように処理するかを検討することもできます。

答え3

最近、私のコンピュータで同じ問題が発生しました。新しくインストールした後、CPUリソースを占有し、コンピュータが遅くなりました。私の解決策は値を変更して実行することでしたが、何もしないようにすることでした。値を設定するために必要なスクリプトは次のとおりです。

#!/usr/bin/env bash

# make tracker3 daemon non workable & idompotent
# this script will reset its settings, and configure tracker3 daemon, to not let it do anyting.
# if other code has dependency on this tracker, then it will not break, but we also do achieve our goal.

# interpretation  for org.freedesktop.Tracker3.Miner.Files enable-monitor from this file 
# https://gitlab.gnome.org/GNOME/tracker-miners/-/blob/master/src/miners/fs/tracker-config.c

# Time in seconds before crawling filesystem (0->1000)
# looking at source code https://gitlab.gnome.org/GNOME/tracker-miners/-/blob/master/src/miners/fs/tracker-main.c#L406
# it seems like -ve value will starts it right away, so giving max value will make it to wait max before failing
gsettings set org.freedesktop.Tracker3.Miner.Files initial-sleep 1000

# Set to false to completely disable any monitoring
gsettings set org.freedesktop.Tracker3.Miner.Files enable-monitors false

# Sets the indexing speed (0->20, where 20=slowest speed)
gsettings set org.freedesktop.Tracker3.Miner.Files throttle 20

# Set to true to index while running on battery
gsettings set org.freedesktop.Tracker3.Miner.Files index-on-battery false

# Set to true to index while running on battery for the first time only
gsettings set org.freedesktop.Tracker3.Miner.Files index-on-battery-first-time false

# Set to true to enable traversing mounted directories for removable devices (this includes optical discs)
gsettings set org.freedesktop.Tracker3.Miner.Files index-removable-devices false

# Set to true to enable traversing CDs, DVDs, and generally optical media 
# (if removable devices are not indexed, optical discs won't be either)
gsettings set org.freedesktop.Tracker3.Miner.Files index-optical-discs false

# Pause indexer when disk space is <= this value
# (0->100, value is in % of $HOME file system, -1=disable pausing)
# hmm, seems like this line https://gitlab.gnome.org/GNOME/tracker-miners/-/blob/master/src/miners/fs/tracker-main.c#L124
# is misleading, as used by some blog, -ve value disable pausing of tracker, rather then tracker itself,
# and 100 will make it idompotent as any other value is always < 100%
gsettings set org.freedesktop.Tracker3.Miner.Files low-disk-space-limit 100

#  List of directories to crawl recursively for indexing (separator=;)
# Special values include: (see /etc/xdg/user-dirs.defaults & $HOME/.config/user-dirs.default)
#   &DESKTOP\n"
#   &DOCUMENTS\n"
#   &DOWNLOAD\n"
#   &MUSIC\n"
#   &PICTURES\n"
#   &PUBLIC_SH
#   &TEMPLATES\n"
#   &VIDEOS\n"
# If $HOME is the default below, it is because $HOME/.config/user-dirs.default was missing.

# hmm, i think emptying its value will make it work on all dirs, i probably seen that check somewhere
# anyways, redirecting to nonexistent directory will mislead and stop its loop furthur
gsettings set org.freedesktop.Tracker3.Miner.Files index-recursive-directories "['nonexistentdir1']"

# List of directories to index but not sub-directories for changes (separator=;)\n"
# Special values used for IndexRecursiveDirectories can also be used here"

# same with this, as was with index-recursive-directories, but these dirs are removed from index-recursive-directories
# so giving it diff value will be more idompotent to this
gsettings set org.freedesktop.Tracker3.Miner.Files index-single-directories "['nonexixtentdir2']"

# List of directories to NOT crawl for indexing (separator=;)"
# this uses regex, patterns so * will match to everything
gsettings set org.freedesktop.Tracker3.Miner.Files ignored-directories "['*']"

# List of directories to NOT crawl for indexing based on child files (separator=;)"
# this uses regex, patterns so *, *.*, .* will matches to everything
gsettings set org.freedesktop.Tracker3.Miner.Files ignored-directories-with-content "['*', '*.*', '.*']"

# List of files to NOT index (separator=;)"
# this uses regex, patterns so *, *.*, .* will matches to everything
gsettings set org.freedesktop.Tracker3.Miner.Files ignored-files "['*','*.*','.*']"

# Interval in days to check the filesystem is up to date in the database,
# maximum is 365, default is -1.
#   -2 = crawling is disabled entirely
#   -1 = crawling *may* occur on startup (if not cleanly shutdown)
#    0 = crawling is forced
gsettings set org.freedesktop.Tracker3.Miner.Files crawling-interval -2

# Threshold in days after which files from removables devices
# will be removed from database if not mounted. 
#  0 means never, 
#  maximum is 365.
# so, 1 will clear everything, if its stored, daily
gsettings set org.freedesktop.Tracker3.Miner.Files removable-days-threshold  1

# hmm, it didn't explain this key behaviour, so i think making it false will be better, 
# then its default true, As this will disable application indexing
gsettings set org.freedesktop.Tracker3.Miner.Files index-applications false


# explaination based on this file: 
# https://gitlab.gnome.org/GNOME/tracker-miners/-/blob/master/src/libtracker-miners-common/tracker-fts-config.c

# Flag to enable word stemming utility (default=FALSE)
gsettings set  org.freedesktop.Tracker3.FTS enable-stemmer false

# Flag to enable word unaccenting (default=TRUE)
gsettings set  org.freedesktop.Tracker3.FTS enable-unaccent false

# Flag to ignore numbers in FTS (default=TRUE)
gsettings set  org.freedesktop.Tracker3.FTS ignore-numbers true

# Flag to ignore stop words in FTS (default=TRUE)
gsettings set  org.freedesktop.Tracker3.FTS ignore-stop-words true


# explaination based on this file: 
# https://gitlab.gnome.org/GNOME/tracker-miners/-/blob/master/src/tracker-extract/tracker-config.c

# Maximum number of UTF-8 bytes to extract per file [0->10485760]
# min ==> 0 ==> 0b
# max ==> 1024 * 1024 * 10 ==>  10 Mb
# default ==> 1024 * 1024  ==> 1Mb
gsettings set org.freedesktop.Tracker3.Extract  max-bytes 0

# Filename patterns for plain text documents that should be indexed
# empty, as these are whitelisting pattern, or maybe never existent filename pattern
# will also work, like filename that contains new line in it, will make it to never match
# to anything.
gsettings set org.freedesktop.Tracker3.Extract  text-allowlist '[]'

# Wait for FS miner to be done before extracting
# %TRUE to wait for tracker-miner-fs is done before extracting. %FAlSE otherwise
# hmm, true will make it less aggressive, as it will wait for miner to finish which
# itself has 1000s initial delay.
gsettings set org.freedesktop.Tracker3.Extract  wait-for-miner-fs true


# disable its settings in gnome settings also
# populate disable list, disable all apps, and location
gsettings set org.gnome.desktop.search-providers disabled "['org.gnome.Terminal.desktop', 'org.gnome.Settings.desktop', 'org.gnome.Photos.desktop', 'org.gnome.clocks.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Calculator.desktop', 'org.gnome.Nautilus.desktop']"

# clear enable list
gsettings set org.gnome.desktop.search-providers enabled "[]"

# search path setting is already cleared in "index-recursive-directories"

# disable gnome search indexing itself
gsettings set org.gnome.desktop.search-providers disable-external true


# and finally,
# Application Options:
#  -s, --filesystem     Remove filesystem indexer database
#  -r, --rss            Remove RSS indexer database

tracker3 reset -s -r

# and kill it brutally
tracker3 daemon --kill

または私のハイライトをチェックしてください:GNOMEトラッカーを無効にするか、完全に停止します。

答え4

トラッカーサービスをbin / trueにリダイレクトします。それほど侵襲的ではありません。これはユーザーレベルのサービスなので、オーバーレイディレクトリを作成し、次のように自宅でサービスをオーバーライドします。

#! /bin/bash
for t in tracker-extract tracker-miner-fs tracker-store tracker-writeback; do
  SVD=${HOME}/.config/systemd/user/${t}.service.d
  if [ ! -d ${SVD} ]; then
    mkdir -p ${SVD}
  fi
cat > ${SVD}/override.conf << EOF
[Service]
Type=
Type=oneshot
ExecStart=
ExecStart=/bin/true
Restart=
Restart=no
EOF
done

私はDebian 11を使用しています

関連情報