Почему 'systemctl' не перечисляет/управляет 'демона духа времени', и какой/кто на самом деле делает?

Предыдущий предмет: "демон духа времени: что продолжает перезапускать его и как заставить его остановиться?"

Обновленный предмет (может вернуться, если я неправ): май быть, этот вопрос должен на самом деле быть, "Почему systemctl не перечисляет/управляет демона духа времени, и какой/кто на самом деле делает?", как в: как кто-либо может обслужить не управляться??? Если я просто не знаю, как использовать его правильно все же, раз так я редактирую здесь позже..

человечность 16.04

В течение долгого времени, так как я установил его, моя машина была вяла, все, если совсем не, много замедлитесь. Системная нагрузка была часто высока на индикаторе (это может быть другой проблемой, вызванной им). Я не мог понять то, что происходило, я думал, был мой жесткий диск, плохая память или все другие процессы выполнение...

К моей полной неожиданности я выполнил эти шаги:

https://nixaid.com/disable-zeitgeist-in-ubuntu-16-17/

главным образом sudo apt-get purge zeitgeist-datahub
(мы наклоняем дух времени удаления полностью, поскольку он удалил бы Unity3D/compiz, и он качается!)

и после перезагружают мою машину, намного быстрее!
приложения открываются быстрее и работают быстрее!

но...

единственной вещью, которая не работала, была эта команда:
systemctl --user list-unit-files |grep -i zeitgeist
это ничего не возвращает.

Таким образом, я должен знать, где этот исполняемый файл настроен, чтобы продолжать перезапускать?
zeitgeist-daemon

Я sudo grep / и т.д., но найденный ничем также.

Я сохранил цикл с zeitgeist-daemon --quit каждые 3 с, для хранения моей старой машины быстро как новой!

Но я предпочитаю правильно отключать zeitgeist-daemon автоматический перезапуск.

PS.: Я попробовал другие ответы здесь, но был для более старой версии человечности или hackish (как переименование того исполняемого файла, не понимайте меня неправильно, это прохладно, как решает вещи быстро, но как последнее средство, как может привести к непредсказуемым взаимодействиям с другими приложениями в зависимости от надлежащей установки/конфигурации). Я хотел, чтобы что-то больше "системы, безопасной", предотвратило повреждение других вещей, которые мне могло прийтись нелегко, чтобы отследить и понять позже.

PS 2: Я не говорю, что дух времени плох, но на моих аппаратных средствах это довольно проблематично, я почти сдаюсь и купил новую машину. Но я думаю, что это делает является большим, для помощи на недавних файлах, используемых и т.д., теперь у меня нет этих технических возможностей, но поскольку моя машина является намного более быстро реагирующей, я намного более удовлетворен теперь. Если бы дух времени мог бы меньше обременять в целой системе, я повторно включил бы его наверняка!


хорошо найденный чем-то

locate -i -r ".*zeit.*[.]service$"

/usr/share/dbus-1/services/org.gnome.zeitgeist.fts.service

/usr/share/dbus-1/services/org.gnome.zeitgeist.service Должностное лицо =/bin/sh-c "/usr/lib/x86_64-linux-gnu/zeitgeist/zeitgeist-maybe-vacuum;/usr/bin/zeitgeist-daemon"

Теперь, как выполнить некоторую другую безопасную команду (как systemctl) это на самом деле знает об этом для отключения его делающий его уверенный, что ничто иное не повредится? (как уверенный как возможный, конечно)


Я попробовал все команды списка отсюда (ни одно показанное что-либо для grep zeit -i):
https://www.tecmint.com/manage-services-using-systemd-and-systemctl-in-linux/


из страницы руководства:

EXIT CODES
       0      Zeitgeist terminated normally.
       1      An unspecified error occurred.
       10     There is already a running Zeitgeist instance.
       21     Could not access the database file.
       22     The database file is locked.

кажется безопасным использовать подсказку по @Jos (спасибо!) как chmod -rw ~/.local/share/zeitgeist/activity.sqlite должен предоставить ожидаемый код 21, и если ожидается, что это безопасно :)

Я все еще должен попытаться вручную редактировать сервисные файлы, которые я нашел для наблюдения то, что происходит, но не используя приложение, чтобы сделать это, это может вызвать проблемы, позже... настолько редактирующие, это вручную не то, что я предпочитаю, просто тест.

0
задан 4 July 2018 в 17:13

2 ответа

Как показывают ваши результаты поиска, это сервис DBus. AFAIK нет команд для отключения сервисов DBus - они запускаются, когда что-то запрашивает этот сервис через DBus. Этот комментарий к системе отслеживания проблем DBus указывает, что одним из способов их отключения было бы переопределить его соответствующим файлом в ~/.local/share/dbus-1/services. Например:

$ cat ~/.local/share/dbus-1/services/org.gnome.zeitgeist.Engine.service
[D-BUS Service]
Name=org.gnome.zeitgeist.Engine
Exec=true
SystemdService=zeitgeist.service

С этим, файлы, Zeitgeist-Daemon больше не запускается автоматически для меня.

3
ответ дан 4 July 2018 в 17:13

это дополнительный ответ на принятый https://askubuntu.com/a/1051702/46437

этот (все еще простой) скрипт позволяет легко отключить любой dbus service

#!/bin/bash

set -Eeu
trap 'echo "error $? at line $LINENO"' ERR

strExecutable="$1"

function FUNCechoE(){
  echo "Err: $@" >&2
  return 0
}

function FUNCechoW(){
  echo "Wrn: $@" >&2
  return 0
}

strMatches="`egrep "$strExecutable" /usr/share/dbus-1/services/* -c |grep -v :0`" &&: #returns 1 always even if succeeds??
declare -p strMatches
if((`echo "$strMatches" |wc -l`!=1));then
  FUNCechoE "more than one match found"
  exit 1
fi

strFile="`echo "$strMatches" |sed -r 's@(.*)(:[[:digit:]]*)@\1@'`"
declare -p strFile
if [[ ! -f "$strFile" ]];then
  FUNCechoE "can't find file"
  exit 1
fi

function FUNCcoldf() {
  colordiff -y "$strFile" "$strTargetFL"&&:
  return 0
}

strTargetFL="$HOME/.local/share/dbus-1/services/`basename "$strFile"`"
declare -p strTargetFL
if [[ -f "$strTargetFL" ]];then
  FUNCcoldf
  FUNCechoW "disabler override already set"
  exit 0 #not a problem to be solved
fi

cat "$strFile" |sed 's@Exec=.*@Exec=true@' >"$strTargetFL"
FUNCcoldf

входной параметр - это исполняемый файл службы, который вы можете найти через ps и т. д.

пока не будет работать для всех служб, поэтому, если кто-то найдет способ заставить его работать лучше просто скажи как:)

Пс .: мета - ответное вложение было бы интересно

0
ответ дан 4 July 2018 в 17:13

Другие вопросы по тегам:

Похожие вопросы: