Previous主题:“时代精神-守护进程:是什么让它不断重新启动,以及如何使它停止?”
Updated主题(如果我错了可以回复):可能是,这个问题实际上应该是“为什么systemctl不列出/管理时代论-守护进程,以及什么/谁真正做的?”,如:如何可以不管理任何服务?除非我还不知道如何正确使用它,否则我稍后会在这里编辑。
ubuntu 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 /etc,但也什么也没找到。
我每隔3s使用一次zeitgeist-daemon --quit循环,以保持我的旧机器像新机器一样快!
但是我更喜欢正确地禁用zeitgeist-daemon自动重新启动。
PS.:我在这里尝试了其他的答案,但是是针对较老的ubuntu版本或hackish (比如重命名可执行文件,不要误解我,它可以快速解决问题,但作为最后的手段,可能会导致与其他应用程序的不可预测的交互,这取决于正确的设置/配置)。我想要更多的“系统安全”,以防止打破其他东西,我可能会有一个困难的时间跟踪和理解以后。
PS.2:我不是说时代精神是坏的,但是在我的硬件上它是相当有问题的,我几乎放弃并且买了一台新机器。但我认为它所做的是伟大的,帮助最近使用的文件等,现在我没有这些功能,但由于我的机器是更响应,我现在更满意。如果时代精神可以减少对整个系统的限制,我肯定会重新启用它!
好的,找到了一些东西
locate -i -r ".*zeit.*[.]service$"
/usr/share/dbus-1/services/org.gnome.zeitgeist.fts.service
/bin/sh "/usr/lib/x86_64-linux-gnu/zeitgeist/zeitgeist-maybe-vacuum;/usr/bin/zeitgeist-守护进程“
Now如何执行其他安全命令(如 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 tip (thx!)似乎安全。因为chmod -rw ~/.local/share/zeitgeist/activity.sqlite应该提供预期的代码21,如果它是预期的,那么它是安全的:)
我仍然必须尝试手动编辑我找到的服务文件,看看会发生什么,但是如果不使用应用程序进行编辑,可能会在以后造成问题.所以手工编辑不是我喜欢的,只是一个测试。
发布于 2018-07-03 06:36:50
正如搜索结果所示,这是一个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这样,文件、时代精神守护进程就不再自动为我启动了。
发布于 2018-07-07 11:23:02
这是对接受的一个https://askubuntu.com/a/1051702/46437的补充回答。
这个脚本(仍然很简单)可以方便地禁用任何dbus服务。
#!/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输入param是您可以通过ps等找到的服务可执行文件。
还不能对所有服务都起作用,所以如果有人想办法让它更好地工作,只需说一句:)
答:元答案嵌套会很有趣。
https://askubuntu.com/questions/1047568
复制相似问题