0

私は多くのことを試しましたが、多くのエラーが発生しました。私がやろうとしているのは、起動時に画面セッションを開き、その中で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 にはキーボードが接続されていません)、それは本当に役に立ちます。

4

1 に答える 1

1

エクスポート表示を試す

export DISPLAY=:0.0

xdotoolその後、コマンドを実行できるようになります

于 2014-11-10T10:38:02.220 に答える