首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“没有设置”X11显示变量“试图在EC2实例上运行Min克拉夫特服务器

“没有设置”X11显示变量“试图在EC2实例上运行Min克拉夫特服务器
EN

Stack Overflow用户
提问于 2022-05-08 21:44:22
回答 1查看 1.3K关注 0票数 1

当我尝试在ec2实例上运行一个Min克拉夫特服务器时,我会遇到以下问题:

代码语言:javascript
运行
复制
java[7261]: No X11 DISPLAY variable was set, but this program performed an operation which requires it.
java[7261]: at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204)
java[7261]: at java.awt.Window.<init>(Window.java:536)
java[7261]: at java.awt.Frame.<init>(Frame.java:420)
java[7261]: at java.awt.Frame.<init>(Frame.java:385)
java[7261]: at javax.swing.SwingUtilities$SharedOwnerFrame.<init>(SwingUtilities.java:1763)
java[7261]: at javax.swing.SwingUtilities.getSharedOwnerFrame(SwingUtilities.java:1838)
java[7261]: at javax.swing.JOptionPane.getRootFrame(JOptionPane.java:1696)
java[7261]: at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:863)
java[7261]: at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:666)
java[7261]: at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:637)
java[7261]: at net.minecraftforge.installer.SimpleInstaller.launchGui(SimpleInstaller.java:177)
java[7261]: at net.minecraftforge.installer.SimpleInstaller.main(SimpleInstaller.java:147)
systemd[1]: minecraft.service: main process exited, code=exited, status=1/FAILURE
systemd[1]: Unit minecraft.service entered failed state.
systemd[1]: minecraft.service failed.

我的用户数据脚本如下所示(每次启动实例时都运行):

代码语言:javascript
运行
复制
#!/usr/bin/env bash
sudo yum -y install java-1.8.0
sudo mkdir /minecraft
sudo chown -R 777 /minecraft
cd /minecraft
aws s3 cp s3://minecraft-server-v3/setup/forge-1.12.2-14.23.5.2860-installer.jar /minecraft/forge-1.12.2-14.23.5.2860-installer.jar
export DISPLAY=:0.0
java -jar forge-1.12.2-14.23.5.2860-installer.jar --installServer
echo '#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Mon Aug 06 18:11:14 UTC 2018
eula=true' > eula.txt
aws s3 cp s3://minecraft-server-v3/setup/mods.zip /minecraft/mods.zip
unzip mods.zip
sudo aws s3 cp s3://minecraft-server-v3/setup/minecraft.service /etc/systemd/system/minecraft.service
sudo chmod 777 /etc/systemd/system/minecraft.service
sudo systemctl daemon-reload
sudo service minecraft start

我的minecraft.service文件如下所示:

代码语言:javascript
运行
复制
[Unit]
Description=Minecraft Service
After=default.target

[Service]
Type=simple
User=ec2-user
WorkingDirectory=/minecraft
ExecStart=/usr/bin/java -Xmx8G -Xms8G -jar /minecraft/forge-1.12.2-14.23.5.2860-installer.jar nogui

知道会发生什么事吗?哪个操作需要显示?我很困惑。会很感激你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-08 22:11:05

问题所在

据我理解,问题在于您的minecraft.service文件。

当您启动服务时,您正在运行伪造服务器的安装程序。

安装程序需要X,除非像上面在用户数据脚本中所做的那样使用--installServer标志运行。

这就是你正经历错误的原因。

解决方案

我可以想象您想要运行实际的服务器.jar

对于您使用的安装程序版本,我非常肯定jar的名称是:

代码语言:javascript
运行
复制
minecraftforge-universal-1.12.2-14.23.5.2860.jar

使用此示例,您希望用以下内容替换当前命令:

代码语言:javascript
运行
复制
/usr/bin/java -Xmx8G -Xms8G -jar minecraftforge-universal-1.12.2-14.23.5.2860.jar nogui
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72165297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档