systemd 타이머를 사용하여 배경 배경화면 변경

systemd 타이머를 사용하여 배경 배경화면 변경

시스템 타이머를 사용하여 배경 화면을 변경하려고 하는데 원하는 효과가 없는 것 같습니다.

아래에는 내가 가지고 있는 관련 파일과 출력이 나열되어 있습니다.

bgchange.timer

[Unit]
Description=Timer for background change

[Timer]
OnUnitActiveSec=10sec
OnActiveSec=5sec
OnBootSec=1sec
Persistent=true

[Install]
WantedBy=timers.target

bgchange.service

[Unit]
Description=Change background image periodically

[Service]
Type=oneshot
Environment=DISPLAY=:0
ExecStart=/home/emobe/scripts/changebg.sh

/home/emobe/scripts/changebg.sh

#!/bin/bash
feh --no-fehbg --bg-scale --randomize /home/emobe/Pictures/wallpapers/*

bgchange.Timer 상태

● bgchange.timer - Timer for background change
     Loaded: loaded (/etc/systemd/system/bgchange.timer; enabled; preset: disabled)
     Active: active (waiting) since Fri 2023-01-06 09:33:44 GMT; 4h 12min ago
      Until: Fri 2023-01-06 09:33:44 GMT; 4h 12min ago
    Trigger: Fri 2023-01-06 13:46:24 GMT; 4s left
   Triggers: ● bgchange.service

systemctl 목록 타이머

Fri 2023-01-06 17:39:24 GMT 3h 52min left Thu 2023-01-05 23:57:47 GMT 13h ago            updatedb.timer                   updatedb.service
Sat 2023-01-07 00:00:00 GMT 10h left      Fri 2023-01-06 00:00:01 GMT 13h ago            logrotate.timer                  logrotate.service
Sat 2023-01-07 00:00:00 GMT 10h left      Fri 2023-01-06 00:00:01 GMT 13h ago            shadow.timer                     shadow.service
Sat 2023-01-07 09:48:44 GMT 20h left      Fri 2023-01-06 09:48:44 GMT 3h 58min ago       systemd-tmpfiles-clean.timer     systemd-tmpfiles-clean.service
Sat 2023-01-07 09:54:52 GMT 20h left      Fri 2023-01-06 00:34:15 GMT 13h ago            man-db.timer                     man-db.service
Sat 2023-01-07 15:00:00 GMT 1 day 1h left Tue 2022-12-06 22:57:11 GMT 1 month 0 days ago pamac-cleancache.timer           pamac-cleancache.service
Thu 2023-01-12 08:45:44 GMT 5 days left   Thu 2023-01-05 23:57:47 GMT 13h ago            pamac-mirrorlist.timer           pamac-mirrorlist.service
Thu 2023-01-12 20:26:18 GMT 6 days left   Fri 2023-01-06 00:25:48 GMT 13h ago            archlinux-keyring-wkd-sync.timer archlinux-keyring-wkd-sync.service
-                           -             Fri 2023-01-06 13:46:53 GMT 74ms ago           bgchange.timer                   bgchange.service

답변1

DISPLAY사용자 서비스/타이머로 실행해야 합니다. 그러면 서비스 파일에서 설정할 필요가 없습니다.

[Unit]
Description=Change background image periodically

[Service]
ExecStart=/home/emobe/scripts/changebg.sh

그 정도면 충분합니다. systemd보통 사용자 파일은 에 넣기 ~/.config/systemd/user/때문에 거기에 넣어두세요

~/.config/systemd/user/bgchange.timer
~/.config/systemd/user/bgchange.service

그런 다음 일반 사용자로 실행하십시오.

systemctl --user daemon-reload
systemctl --user enable --now bgchange.timer

타이머가 활성화되어 있는지 확인하십시오 --user. 항상 다음을 수행하십시오.

systemctl --user list-timers

관련 정보