GUI를 사용하여 프로그램의 단위 서비스 파일을 작성하려고 합니다.
우분투 서버가 있어요디지털 바다TightVNC를 사용하여 연결하여 다음을 표시했습니다. 2.
GUI에서는 온라인으로 내 계정에 로그인하려면 사용자 이름과 비밀번호가 필요합니다. 이 프로그램을 열면 포트 4002를 통해 서버에 연결하고 Python 스크립트를 사용하여 온라인으로 데이터를 요청할 수 있습니다.
이 프로그램은 터미널에서 주어진 사용자 이름과 비밀번호로 인증할 수 있습니다. 다음은 프로그램을 열고 자동으로 내 계정에 로그인하며 프로그램 GUI를 표시합니다.
$ /home/user1/ibg/ibg username=*** password=***
제가 작성한 유닛 파일은 다음과 같습니다.
[Unit]
Description=my service
After=network.target
[Service]
Type=simple
ExecStart=/home/user1/ibg/ibg username=*** password=***
Restart=always
[Install]
WantedBy=multi-user.target
서비스가 활성화되어 실행 중이지만 다음과 같은 메시지가 표시됩니다. 이로 인해 서비스가 실제로 작동하지 못하는 것 같습니다. 내 Python 스크립트가 작동하지 않는다는 사실을 통해 이를 알 수 있습니다. 반대로 프로그램 GUI를 열고 내 계정에 로그인하면 Python 프로그램이 제대로 실행됩니다.
No X11 display variable was set, but this program performed an operation that requires it.
at java.awt.SplashScreen.getSplashScreen(SplashScreen.java:117)
누구든지 이 문제를 해결하도록 도와줄 수 있나요?
답변1
귀하의 서비스 환경 에 맞게 DISPLAY
변수를 설정해 보셨나요 ?:2
ExecStart
바라보다이번 서버 장애 문제:
단위 파일 섹션 Environment=
에서 직접 플래그를 사용하거나 이 질문에 대한 최고 투표 답변에 설명된 파일 방법을 사용할 수 있습니다 .[Service]
.conf