私は多くのことを試しましたが、多くのエラーが発生しました。私がやろうとしているのは、起動時に画面セッションを開き、その中でMinecraftサーバーを起動してから切り離して、screen -rでSSHできるようにすることです。
最初のコマンドは正常に動作します。問題は、最初のコマンドが実行された後、実際にコードを使用してサーバーを起動する前に、スペースバーを 2 回押す必要があることです。xdotool キーを入力すると、(SSH 経由で) エラーが発生しました。スペースキー
Error: Can't open display: (null)
Failed creating new xdo instance
修正は export DISPLAY=:0.0 であるはずですが、これは私にはうまくいきません。
私の現在の起動スクリプトは.
#!/bin/bash
# /etc/init.d/mcstartup.script
# version 0.3.9 2012-08-13 (YYYY-MM-DD)
### BEGIN INIT INFO
# Provides: minecraft
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Minecraft server
# Description: Starts the minecraft server
### END INIT INFO
sleep 20
echo "5"
sleep 1
echo "4"
sleep 1
echo "3"
sleep 1
echo "2"
sleep 1
echo "1"
sleep 1
echo "0"
sleep 1
screen
sleep 5
xdotool keydown SpaceBar
sleep 3
xdotool keydown SpaceBar
sleep 5
xdotool type ’Hello world!’
sleep 5
sudo /opt/jdk1.8.0/bin/java -Xms256M -Xmx496M -jar /home/pi/craftbukkit.jar nogui
xdotool keydown Control_L+A
xdotool keydown D
主にテスト目的で、不要なエコーがたくさんあり、不要なスリープコマンドがたくさんあります。
xdotool が正しい方法で動作するように修正する方法、または別のセッションで起動時に mc サーバーを起動する別の方法を誰かが知っている場合 (私のラズベリー pi にはキーボードが接続されていません)、それは本当に役に立ちます。