나는 Raspberry Pi에서 Nukkit Minecraft 서버를 실행하고 있으며(좋은 하드웨어가 없다는 것을 알고 있지만 노력하고 있습니다) Linux용 bash 파일을 만드는 다양한 방법을 검색하고 있었습니다. startNukkit.whateverextension 파일을 만들었습니다. 나는 이 지점에 도달했습니다:
!#/bin/bash/
gnome-terminal -e "java -jar home/pi/Desktop/Nukkit/nukkit.jar; exec bash\""
하지만 다루고 싶은 내용이 많이 있습니다. 먼저 bash 파일을 두 번 클릭하면 "실행", "터미널에서 실행", "열기" 및 "취소" 메시지가 표시됩니다. 대신 이 프롬프트 없이 즉시 실행하고 싶습니다.
그리고 마인크래프트 서버이기 때문에 누가 내 서버에 접속했는지 등 서버 결과만 단말기에서 볼 수 있습니다. 하지만 "터미널에서 실행"을 클릭하면 터미널이 나타났다가 닫힙니다. 설명된 대로 "exec bash\"로 이 문제를 해결할 수 있다고 생각합니다.여기. 터미널 창을 열어두세요.
마지막으로 Windows의 시작 폴더와 유사하게 시작 시 실행되도록 하고 싶습니다. 해당 폴더에 있는 모든 파일은 시작 시 실행됩니다.
답변1
systemd
서비스 로
(특정 GNU/Linux 배포판을 언급하지 않으셨습니다. 대부분의 일반적인 배포판은 시스템화되어 있는 것 같습니다.)
.jar 파일을 액세스 가능한 위치로 이동하면 /opt
시작 후 권한이 낮은 다른 사용자로 서버를 실행할 수 있습니다 systemd
.nobody
홈 디렉토리 등에 액세스하지 않고 잠재적으로 실행하는 것 외에도 실패 후 서비스를 다시 시작하고 기타 여러 작업을 수행하도록 systemd를 구성할 수 있습니다.
바라보다 man systemd.service
, man systemd.exec
, man systemd.unit
,등.
nukkit.service
[Unit]
Description=Nukkit Server
After=syslog.target
After=network.target
[Service]
Type=simple
User=nobody
Group=nobody
ExecStart=java -jar /opt/Nukkit/nukkit.jar
[Install]
WantedBy=multi-user.target
출력을 관찰하세요
귀하가 소유 /etc/systemd/system/nukkit.service
하고 있는 곳:
systemctl enable nukkit
systemctl start nukkit
그런 다음 journalctl -f -u nukkit
systemd nit nukkit의 f
최신 로그 메시지를 따라야 합니다. u
그러나 시스템이 syslog 또는 기타 기능을 사용 중일 수 있습니다. 이 경우 특정 파일에 대한 로깅을 구성할 수 있습니다.등.