시스템 서비스가 작동하지 않습니다

시스템 서비스가 작동하지 않습니다

60분마다 알림을 보내는 서비스를 만들려고 합니다. 이를 위해 bash 스크립트를 만들었습니다. 60 분마다 실행되지만 알 수 없는 이유로 작동하지 않는 hourly.sh것을 사용하여 실행할 수 있기 때문에 작동한다는 것을 알고 있습니다. 일하지 마세요. 나는 다음과 같이 시작했습니다 . 이것은 내 코드입니다../hourly.shtimersystemctl start hourlynotif.timer

hourlynotif.service:

[Unit]
Description=Hourly notifier with notify-send

[Service]
Type=oneshot
ExecStart=/etc/systemd/system/hourly.sh

[Install]
WantedBy=multi-user.target

참고 사항: [Install]타이머 없이 서비스로 실행하려고 라인을 추가했습니다(타이머로 실행 중이라면 [Install] 태그가 필요하지 않기 때문입니다). 단지 테스트하기 위한 것이었지만 아무것도 변경되지 않았습니다.

그리고 hourlynotif.timer:

[Unit]
Description=Hourly notifier with notify-send

[Timer]
#OnCalendar=hourly
OnActiveSec=1

[Install]
WantedBy=timers.target

systemctl list-timers --all내 타이머가 "통과"로 나열되어 있고 이것이 출력이므로 타이머가 예상대로 작동하고 있다는 것을 알고 있습니다 . (테스트를 시작한 후 1초 동안 실행되도록 편집했기 때문에 매시간이 아님)

NEXT                         LEFT     LAST                         PASSED       UNIT                         ACTIVATES

n/a                          n/a      Thu 2017-08-31 05:21:54 CST  6s ago       hourlynotif.timer            hourlynotif.service

어떤 아이디어가 있나요?

편집하다:Bash 스크립트는 표시되는 KDE 알림 위젯에 의존하는 알림 전송에 의존합니다. 스크립트를 sudo하면 알림이 실행되지 않으므로 로그인한 사용자로 스크립트를 실행해야 할 것 같습니다.

답변1

문제는 .bash를 사용하여 실행하지 않고 systemctl --user start <unit>단지 systemctl start <unit>.bash를 사용하고 있다는 것입니다. 스크립트는 사용자별 KDE 항목에 의존하므로 해당 스크립트를 실행하면 작동하지 않습니다. sudo이것이 서비스의 기본 모드입니다.

관련 정보