시스템 지원 서비스는 부팅 시 시작할 수 없지만 수동으로 시작할 수 있습니다.

시스템 지원 서비스는 부팅 시 시작할 수 없지만 수동으로 시작할 수 있습니다.

/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.targetgraphical.targetgraphical.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

두 가지 옵션이 있습니다.

  1. WantedBy=multi-user.target애플리케이션에 그래픽 환경이 필요하지 않은 경우 사용합니다. 파일을 편집하기 전에 실행하여 sudo systemctl disable test.service심볼릭 링크를 제거한 다음 파일을 편집하고 sudo systemctl daemon-reload && sudo systemctl enable test.service.

  2. 그대로 유지 WantedBy=default.target하되 그래픽 환경이 필요한 경우 서비스를 사용자 버스로 이동하세요. 사용자 버스의 ​​또 다른 옵션은 입니다 graphical-session.target. 그러나 아직 DE에서는 구현되지 않았으므로 이것이 더 잘 맞는 것처럼 들리지만 선택하기 전에 시스템에서 발생하는지 확인하십시오.

관련 정보