systemd를 사용 하면 이미 사용자 세션에 대한 지원이 포함되어 있습니다.
서비스 디렉토리를 만듭니다
mkdir -p $HOME/.local/share/systemd/user
서비스 파일 편집 (vim, gedit, geany-원하는대로)
vim $HOME/.local/share/systemd/user/my.service
영구적 인 서비스라면 대략 다음과 같아야합니다.
[Unit]
Description=My very own Service
[Service]
Type=simple
TimeoutStartSec=0
ExecStart=/path/to/start/script arguments
[Install]
WantedBy=default.target
그러나 한 번 트리거 한 다음 잘 사용하는 것처럼 들리므로 다음과 같이 oneshot 구성을 사용하십시오.
[Service]
Type=oneshot
RemainAfterExit=true
StandardOutput=journal
ExecStart=/path/to/start/script arguments
ExecStop=/path/to/stop/script arguments
[Install]
WantedBy=default.target
물론 이것은 스크립트가 실행 가능한 것으로 가정합니다.
chmod a+x /path/to/start/script
chmod a+x /path/to/stop/script
그렇지 않으면 해당 통역사의 경로를 추가해야합니다.
ExecStart=/bin/bash /path/to/start/script arguments
이제 시스템을 다시로드하고 테스트를 위해 다시 로그인하십시오.
systemctl --user enable my.service # enables the service
systemctl --user # should display your new unit in the list
journalctl --user should show the log
더 많은 정보가 필요하면 예를 들어 Arch-Wiki 를 참조하십시오 .
이 askubuntu 스레드에는 우연히 내 것을 포함한 다양한 아이디어가 있습니다.
서비스를 전체적으로 정의하여 동작을 루트 인 경우 다른 사용자로 확장 할 수 있습니다. 이렇게하려면 $ HOME / .local / share / systemd / user가 아닌 / usr / share / systemd / user /에 서비스 파일을 작성해야합니다 .
systemctl --user
F23 에서 작동 합니까 ?