저는 i3 창 관리자를 사용하고 있으며 매일 원격으로 작업하면서 모니터를 설정하는 스크립트를 실행하고 싶습니다. 화요일에 저는 현장에서 작업 중이었는데 다른 스크립트를 실행하고 싶었습니다. 내 문제를 해결하기 위해 bash 조건문을 사용할 수도 있지만 시작/중지/다시 시작/활성화/비활성화보다 systemd에 대해 더 많이 배울 수 있는 기회를 갖고 싶습니다 :D
내 스크립트는 다음과 같습니다(터미널에서 시작할 때 제대로 작동함).
#!/bin/sh
xrandr --output eDP-1 --off --output HDMI-1 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output DP-1 --off --output DP-2 --off --output DP-3 --off --output DP-4 --off
이것은 내 장치입니다(systemctl --user start home_screen_setup.service를 통해 터미널에서 시작할 때만 작동함).
[Unit]
Description=Monitors setup when I work from home
After=graphical-session.target
BindsTo=graphical-session.target
PartOf=graphical-session.target
Requisite=graphical-session.target
ConditionEnvironment=DISPLAY
ConditionEnvironment=XAUTHORITY
[Service]
Type=oneshot
ExecStart=/home/userX/.screenlayout/home_setup.sh
[Install]
WantedBy=graphical-session.target
이건 내 타이머야
[Unit]
Description=Setup my screen configuration on every day except Tuesday
[Timer]
#OnBootSec=15seconds
OnCalendar=Mon,Wed,Thu,Fri
[Install]
WantedBy=timers.target
일부 상태 출력:
userX@HP-ProBook-450:~$ systemctl --user status home_screen_setup.service
○ home_screen_setup.service - Disables laptop screen when I work from home
Loaded: loaded (/home/userX/.config/systemd/user/home_screen_setup.service; enabled; vendor preset: enabled)
Active: inactive (dead)
TriggeredBy: ● home_screen_setup.timer
userX@HP-ProBook-450:~$ systemctl --user status home_screen_setup.timer
● home_screen_setup.timer - Setup my screen configuration on every day except Tuesday
Loaded: loaded (/home/userX/.config/systemd/user/home_screen_setup.timer; enabled; vendor preset: enabled)
Active: active (waiting) since Sun 2024-03-03 12:00:22 CET; 1min 4s ago
Trigger: Mon 2024-03-04 00:00:00 CET; 11h left
Triggers: ● home_screen_setup.service
mar 03 12:00:22 HP-ProBook-450 systemd[2306]: Started Setup my screen configuration on every day except Tuesday.
내가 뭘 잘못했나요?