Gnome 추적기를 실제로 완전히 비활성화하는 방법은 무엇입니까?

Gnome 추적기를 실제로 완전히 비활성화하는 방법은 무엇입니까?

리소스를 많이 소모하고 데이터를 복사하는 Gnome Tracker 데몬을 비활성화하는 것은 예상보다 훨씬 어렵습니다. 저는 최근에 설치된 (안정적인) Debian 11.2를 실행하기 위해 Gnome을 사용하고 있습니다.

내가 찾은 제안 중 하나는 모든 /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; 그러나 현재 항목을 차단하려면 해당 사용자를 종료해야 합니다.

저는 데비안 시드를 사용하고 있습니다.

답변2

/etc/xdg/autostart/tracker-*.desktop전체 프로세스는 여러 면에서 오해의 소지가 있는 것으로 나타났습니다 .

  1. 추적기 데몬과 이러한 파일 사이에는 일대일 대응이 없습니다. 해당 파일은 2개이지만 데몬은 3개입니다.

  2. 나는 시스템 로그를 연구함으로써 이 세 가지 데몬의 존재/신원을 발견했습니다.

  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 .... 이는 실행을 하려고 했으나 로그인을 하지 않는 사용자에게는 불편합니다. 사용자 중 한 명은 Debian-gdmgdm 인사가 실행될 때 기본적으로 추적기 데몬이 실행되는 것 같습니다. 더 나쁜 점은 sudo -u thisuser systemctl --user ...루트로 로그인해도 작동하지 않는다는 것입니다. 따라서 추적기 데몬 실행을 완전히 비활성화하려면 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

아니면 내 하이라이트를 확인해 보세요:그놈 추적기를 비활성화하거나 완전히 중지합니다..

답변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

나는 데비안 11을 사용하고 있습니다

관련 정보