![GDM 잠금을 해제할 때 시스템 장치가 스크립트를 실행합니까?](https://linux55.com/image/215060/GDM%20%EC%9E%A0%EA%B8%88%EC%9D%84%20%ED%95%B4%EC%A0%9C%ED%95%A0%20%EB%95%8C%20%EC%8B%9C%EC%8A%A4%ED%85%9C%20%EC%9E%A5%EC%B9%98%EA%B0%80%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%8B%A4%ED%96%89%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
비슷한 목적으로 실행되는 두 개의 시스템 장치가 이미 있습니다. 다음과 같은 이유로 GDM이 시작될 때 실행되는 간단한 유형 단위 myservice.service가 있습니다.
[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=이 필요합니다.
그러나 이것이 내 사용 사례에 어떤 의미인지 전혀 모릅니다. 실제로 저는 실제 세션이 잠금 해제될 때 한 번만 스크립트를 시작합니다. 세션이 다시 잠겼다가(시간 초과 후 또는 수동으로) 다시 잠금이 해제되면 스크립트를 다시 실행해야 합니다.