Ubuntu에서 systemd를 사용하여 시작 시 프로그램 시작

Ubuntu에서 systemd를 사용하여 시작 시 프로그램 시작

X 서버를 사용하여 메모리에 렌더링 창을 생성하는 systemd를 사용하여 시작 시(실제로는 사용자 로그인에 있을 수 있음) Java 백엔드 프로그램을 실행하고 싶습니다. 렌더링 창은 GPU를 사용하여 볼륨 렌더링을 수행하기 위해 VTK에서 생성되며 여기서 스크린샷을 가져옵니다.

다음은 내가 /etc/systemd/system디렉토리에 넣은 서비스 파일입니다.

[Unit]
Description= myservice
After=mysql.service

[Service]
User=root
Environment=DISPLAY=:0
Restart=always
Type=forking
ExecStart=/root/myservice/startup.sh
ExecStop=/root/myservice/shutdown.sh

[Install]
WantedBy=multi-user.target

GUI로 로그인한 후 서비스가 시작되지 않습니다. 그래서 xhost +모든 사용자 액세스가 표시되도록 명령을 실행 하고 systemctl start myservice서비스를 수동으로 시작하기 위해 실행합니다. 그러면 나는 내가 원하는 것을 얻습니다.

로그인 시 myservice가 자동으로 실행되도록 하는 방법이 있는지 궁금합니다. 그리고 또 다른 질문입니다. 모든 컴퓨터에 대해 고정된 DISPLAY 번호로 환경을 설정해도 괜찮습니까?

우분투 16.04/18.04를 사용하고 있습니다.

관련 정보