/etc/systemd/system/에 다음 test.service를 만들었습니다.
[Unit]
Description=Operations
After=multi-user.target
[Service]
ExecStart=/opt/sga/tools/test_service_start.sh
ExecStop=/opt/sga/tools/test_stop.sh
[Install]
WantedBy=default.target
systemctl -l status test.service를 실행하면 다음 명령 출력이 표시됩니다.
● test.service - test_Operations
Loaded: loaded (/etc/systemd/system/test.service; enabled; vendor preset: disabled)
Active: inactive (dead)
재부팅 후 "journalctl -u test.service -b"를 실행하는 경우:
- No entries
누가 나를 도와줄 수 있나요?
답변1
시스템 버스를 사용할 때 일반적으로 다음을 사용합니다.
[Install]
WantedBy=multi-user.target
시스템에 따라 또는 default.target
에 별칭(기호 링크)이 지정될 수 있습니다 . 내 시스템에서는 다음에 대한 default.target 심볼릭 링크를 볼 수 있습니다 .multi-user.target
graphical.target
graphical.target
$ systemctl status default.target
● graphical.target - Graphical Interface
Loaded: loaded (/lib/systemd/system/graphical.target; static)
Active: active since Wed 2021-03-17 07:44:06 CET; 6h ago
Docs: man:systemd.special(7)
graphical.target
좀 이상합니다. 작업을 실행하기 위해 그래픽 환경이 필요한 경우 일반적으로 시스템 버스 대신 사용자 버스를 사용해야 하기 때문입니다. 그렇지 않으면 설정 XAUTHORITY
과 설정을 동시에 하지 않으면 문제가 발생하게 됩니다DISPLAY
두 가지 옵션이 있습니다.
WantedBy=multi-user.target
애플리케이션에 그래픽 환경이 필요하지 않은 경우 사용합니다. 파일을 편집하기 전에 실행하여sudo systemctl disable test.service
심볼릭 링크를 제거한 다음 파일을 편집하고sudo systemctl daemon-reload && sudo systemctl enable test.service
.그대로 유지
WantedBy=default.target
하되 그래픽 환경이 필요한 경우 서비스를 사용자 버스로 이동하세요. 사용자 버스의 또 다른 옵션은 입니다graphical-session.target
. 그러나 아직 DE에서는 구현되지 않았으므로 이것이 더 잘 맞는 것처럼 들리지만 선택하기 전에 시스템에서 발생하는지 확인하십시오.