Systemd

關機很慢,總是等待 2 分鐘讓 gvfsd-fuse 終止

  • June 1, 2020

我的桌面使用帶有最新更新的 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。

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 桌面上)。

延遲可能是由幾個因素引起的,其中大多數是使用者程序或 systemd 程序。

如果您使用KDE的是 Open SU​​SE 的預設桌面環境,請嘗試以下腳本,該腳本會在退出時終止使用者管理器程序。它對我有用。

將腳本添加到$HOME/.kde/shutdown

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

如果此工作模式適合您,請留下一些回饋,謝謝。

引用自:https://unix.stackexchange.com/questions/590095