Systemd

為什麼 systemctl 在使用者模式下要求輸入 sudo 密碼?

  • October 3, 2019

我目前正在嘗試ssh-agent通過使用 systemd 作為使用者服務啟動它來啟動我的每次登錄,如arch wiki 中所述

但是,當我執行 時systemctl --user start ssh-agentsystemctl會通過 sudo 提示我輸入密碼,就好像我正在啟動正常服務一樣。然後它失敗了,因為它無法連接到匯流排。但是,$DBUS_SESSION_BUS_ADDRESS現在unix:path=/run/user/1000/bus並且應該沒問題。但是如果我通過 切換到 root 使用者sudo su$DBUS_SESSION_BUS_ADDRESS則為空。因此,我認為實際問題是systemctl試圖以 root 使用者而不是我的使用者身份啟動使用者服務​​,這也是它通過 sudo 提示我輸入密碼的原因。所以,我認為這是真正的問題。

systemctl那麼,即使我提供了,有人知道為什麼以 root 身份通過 sudo 執行--user嗎?

我發現有一個別名將systemctl其替換為sudo systemctlin ~/.bashrc.aliase。這使得它無法systemctl --user正常執行。

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