Systemd 单元在解锁 GDM 时执行脚本?

Systemd 单元在解锁 GDM 时执行脚本?

我已经有两个 systemd 单元出于类似目的而运行。有一个 simple 类型的单元 myservice.service,它在 GDM 启动时执行,因为:

[Unit]
Description="Download fresh filee"
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=username
RemainAfterExit=true
StandardOutput=journal
ExecStart=/home/user/Documents/myscript.sh
ExecStop=/home/user/Documents/myscript.sh

[Install]
WantedBy=graphical.target

到目前为止效果很好。然后有一个单元myservice.path。这监视一个文件。如果修改此文件,它也会执行 myservice.service:

[Unit]
Description="Monitor file"
After=network-online.target 
Wants=network-online.target

[Path]
PathModified=/home/user/Documents/myfi.le
Unit=myservice.service

[Install]
WantedBy=multi-user.target

此外,当用户解锁 Gnome/GDM 会话时,我想启动 myservice.service(或本单元 ExecStart 中的脚本)。我试图找到解决方案,但发现没有什么真正有用的。如果我是对的,我应该使用 type=dbus 的 systemd 单元。但 type=dbus 需要 BusName=

但我完全不知道这对我的用例意味着什么。事实上,我只会在解锁实际会话时启动脚本一次。如果会话再次锁定(超时后或手动)并再次解锁,则应再次执行脚本。

相关内容