关机很慢,总是等待2分钟gvfsd-fuse终止

关机很慢,总是等待2分钟gvfsd-fuse终止

我的桌面使用带有最新更新的 OpenSuse 15.1、systemd 234-lp151.26.16.1、gvfs 1.34.2.1-lp151.6.3.1。

有一段时间(我记不清具体是什么时候开始的)系统关闭至少需要 2 分钟才能完成。当我点击ESC启动屏幕时,我看到 systemd 正在等待用户管理器作业完成,经过一番挖掘,我发现这是这个过程:

/usr/lib/gvfs/gvfsd-fuse /run/user/1000/gvfs -f -o big_writes

我做了一些研究,发现这是由 Firefox 和 Thunderbird(以及其他)等程序自动启动的。我还验证了:

  • 如果我开机时不使用此类程序,则关机速度很快;
  • 如果我注销并使用控制台杀死这些用户进程,关闭速度很快;
  • 其他用户帐户也会受到影响,前提是他们使用上述程序。

我配置systemd了:KillUserProcesses=yes,但它没有帮助,因为似乎这些进程在注销后仍然需要 2 分钟才能终止。

此外,在同一台机器上,我还可以从单独的 SSD 启动 Ubuntu-mate (18.04 LTS),并且它显示出相同的症状。

我如何找出导致 2 分钟延迟的原因?

编辑:也许值得一提的是,一旦我注销,我就无法再次登录,因为我收到一个对话框“无法与 Dbus 同步”。我需要先按 ctrl-Backspace 来重置 X。

答案1

FUSE 有一个专用命令fusermount用于撤消 FUSE 安装。至少在 Debian 10 上,它默认设置了 SUID root。

因此,您可以添加fusermount -u /run/user/$(id -u)/gvfs到在 GUI 注销时执行的脚本(例如,$HOME/.kde/shutdown/gvfs-workaround.sh在较旧的 KDE 上或$HOME/.config/plasma-workspace/shutdown/gvfs-workaround.sh在 KDE Plasma Desktop 上)。

答案2

延迟可能是由多种因素引起的,其中大多数是用户进程或 systemd 进程。

如果您使用的KDE是 Open SU​​SE 的默认桌面环境,请尝试下面的脚本,该脚本会在退出时终止用户管理器进程。这对我有用。

将脚本添加到$HOME/.kde/shutdown

#! /bin/sh - pulseaudio --kill systemctl --user exit exit

如果此工作代码适合您或不适合您,请留下一些反馈,谢谢。

相关内容