systemd를 사용하여 애플리케이션 시작

systemd를 사용하여 애플리케이션 시작

다른 애플리케이션을 시작하기 위해 Linux 서비스를 만들고 싶습니다. 단순화를 위해 Firefox라고 가정하겠습니다.

시스템 메시지:

➜  ~ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.4 LTS
Release:    18.04
Codename:   bionic

Firefox를 실행하기 위해 bash 스크립트를 만들었습니다.

#!/bin/bash
currentTime=$(date +"%I:%M:%S")
echo "My Test: Starting Firefox @ $currentTime"
firefox &

systemd용 .service 파일을 만들었습니다.

[Unit]
Description=My Test Service
After=network.target

[Service]
Type=simple
User=myuser
SyslogIdentifier=mytest
ExecStart=/home/myuser/test.sh

[Install]
WantedBy=multi-user.target

.service 파일을 넣고 /etc/systemd/system다음을 사용하여 활성화/시작했습니다.

sudo systemctl daemon-reload
sudo systemctl enable mytest.service
sudo systemctl start mytest

이것은 의 출력입니다.sudo systemctl status mytest

● mytest.service - My Test Service
Loaded: loaded (/etc/systemd/system/mytest.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Tue 2020-02-11 16:11:59 CST; 6s ago
Process: 4131 ExecStart=/home/myuser/linux-scripts/test.sh (code=exited, status=0/SUCCESS)
Main PID: 4131 (code=exited, status=0/SUCCESS)
Feb 11 16:11:59 NUC5i3RYH systemd[1]: Started My Test Service.
Feb 11 16:11:59 NUC5i3RYH mytest[4131]: My Test: Starting firefox @ 04:11:59

스크립트가 실행 중인 것처럼 보이지만 Firefox가 시작되지 않습니다. bash 스크립트를 직접 실행하면 Firefox가 즉시 열립니다. 내가 여기서 뭘 잘못하고 있는지 볼 수 있는 사람이 있나요? 저는 Linux와 그 유틸리티를 처음 접했기 때문에 도움을 주시면 대단히 감사하겠습니다.

관련 정보