systemd 是否以 X 会话所有者身份在暂停时锁定屏幕?

systemd 是否以 X 会话所有者身份在暂停时锁定屏幕?

我最近开始使用systemd来管理电源控制。

为了让我的屏幕在从挂起状态返回时被锁定,我创建了/etc/systemd/system/i3lock.service这些内容

[Unit]
Description=i3lock
Before=sleep.target

[Service]
User=fommil
Type=forking
Environment=DISPLAY=:0
ExecStart=/usr/bin/i3lock -c 000000

[Install]
WantedBy=sleep.target

然后就跑了systemctl enable i3lock.service

但这意味着锁始终属于用户fommil

如何设置以当前拥有 X 会话的用户身份运行屏幕锁定器的服务?

答案1

/etc/systemd/user/您应该使用用户单位而不是系统单位。如果您希望它对所有用户可用(未启用),请将其放入,或者$HOME/.config/systemd/user/如果您希望它仅对该用户可用。

然后,您可以删除该User=选项(也可能删除该Environment=选项,您可以systemctl show-environment以当前用户身份运行以查看是否已导入所需的环境变量),然后使用 启用该服务systemd --user enable i3clock。(或者sudo systemd --global enable i3lock如果它可供所有用户使用你想要的是为所有用户启用

相关内容