【发布时间】:2014-03-15 22:29:59
【问题描述】:
我尝试了很多事情并且遇到了很多错误,我尝试做的是在启动时打开一个 screen 会话,在其中启动一个 minecraft 服务器,然后将其分离,这样我就可以使用 screen -r SSH 到它。
第一个命令工作正常,问题是在执行第一个命令后我必须按两次空格键才能真正使用代码启动服务器 我尝试使用 xdotool 没有成功我在输入 xdotool key SpaceBar 时收到错误(通过 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
里面有很多不需要的echo,还有很多不需要的sleep命令,主要是为了测试。
如果有人知道如何修复 xdotool 以使其正常工作或以其他方式在另一个会话上启动 mc 服务器(我的树莓派没有连接键盘),那真的很有帮助。
【问题讨论】:
标签: linux bash debian gnu-screen xdotool