私はRaspberry PiでNukkit Minecraftサーバーを実行しています(良いハードウェアがないことを知っていますが、努力しています)、Linux用のbashファイルを作成するさまざまな方法を検索していました。 startNukkit.whateverextension ファイルを作成しました。私はこのポイントに達しました:
!#/bin/bash/
gnome-terminal -e "java -jar home/pi/Desktop/Nukkit/nukkit.jar; exec bash\""
しかし、扱いたい内容がたくさんあります。まず、bashファイルをダブルクリックすると、「実行」、「ターミナルで実行」、「開く」、および「キャンセル」というメッセージが表示されます。代わりに、このプロンプトなしですぐに実行したいと思います。
そして、Minecraftサーバーなので、誰が私のサーバーに接続したのかなど、サーバーの結果だけが端末で見ることができます。ただし、「ターミナルで実行」をクリックすると端末が表示され、閉じます。説明したように、「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 またはその他の機能を使用している可能性があります。この場合、特定のファイルのロギングを設定できます。など。