Arch-Linux

為什麼我的電腦需要很長時間才能關閉?

  • December 24, 2020

一年多以來,我一直在我的兩台電腦(筆記型電腦和台式機)上使用 Arch Linux + GNOME 3。一直以來,電腦都在快速關閉(在 3 秒內)。最近通過 Pamac 更新了兩台電腦上的所有軟體包後,電腦現在需要很長時間才能關閉(關閉前大約需要等待 2 分鐘)。我通常通過 GNOME 3 圖形界面關閉電腦。

我試圖做什麼?

  1. 最近再次更新了所有軟體包,但沒有幫助。
  2. 使用命令sudo systemctl --force --force poweroff,它有助於快速關閉電腦。
  3. 使用命令sudo systemctl --force poweroff,在這種情況下,電腦將在 1.5 分鐘後關閉,並在螢幕上顯示一條消息:systemd-shutdown[1]: Waiting for process: gnome-session-b, Xwayland, gsb-media-keys, dbus-daemon, pulseaudio, gsd-power, gnome-shell, systemd, gsd-wacom, gsd-xsettings, gsd-color

UPD:當我執行命令sudo journalctl -b -1 -e --no-pager時,我在日誌中發現了以下時間間隔:

Dec 24 18:05:28 archlinux systemd[497]: evolution-source-registry.service: Succeeded.
Dec 24 18:05:28 archlinux systemd[497]: evolution-calendar-factory.service: Succeeded.
Dec 24 18:05:28 archlinux systemd[497]: evolution-addressbook-factory.service: Succeeded.
Dec 24 18:07:28 archlinux systemd[1]: user@1000.service: State 'stop-sigterm' timed out. Killing.
Dec 24 18:07:28 archlinux systemd[1]: user@1000.service: Killing process 497 (systemd) with signal SIGKILL.
Dec 24 18:07:28 archlinux systemd[1]: user@1000.service: Killing process 1329 (dbus-daemon) with signal SIGKILL.
Dec 24 18:07:28 archlinux systemd[1]: user@1000.service: Main process exited, code=killed, status=9/KILL
Dec 24 18:07:28 archlinux systemd[1]: user@1000.service: Failed with result 'timeout'.
Dec 24 18:07:28 archlinux systemd[1]: Stopped User Manager for UID 1000.

UPD 2:我不知道這是否是正確的解決方案,但這個網頁上給出的解決方案幫助了我: bbs.archlinux.org/viewtopic.php?id=261530

執行命令:systemctl edit --user gnome-session-restart-dbus.service 並在上面添加以下行### Lines below this comment will be discarded

[Service]
Slice=-.slice

我如何解決我的問題:

  1. 通過命令找到日誌中的sudo journalctl -b -1 -e --no-pager時間間隔:(我的情況下的時間間隔是2分鐘)
  2. 我把從日誌中得到的資訊輸入搜尋引擎,找到了解決辦法:bbs.archlinux.org/viewtopic.php?id=261530
  3. 執行命令:systemctl edit --user gnome-session-restart-dbus.service並在上面添加以下行### Lines below this comment will be discarded
[Service]
Slice=-.slice

更新後緩慢關機可能是由於軟體更新後不再使用或不再需要的孤立軟體包造成的。如果是這樣,搜尋孤立的包並解除安裝它們將解決問題。

列出孤立的包:

pacman -Qtdq

如果上面的命令找到任何孤立的包,你可以用 pacman 解除安裝它們。一次解除安裝一個孤立包比使用單個命令解除安裝所有包更可取,因為如果另一個包是手動下載和安裝的,而不是使用 pacman 從您的目前啟用的軟體儲存庫。

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