谷歌云搭建Minecraft服务器遇X11 DISPLAY变量错误求助
解决Minecraft服务器启动时的X11 DISPLAY变量报错问题
出现这个报错的核心原因是:Minecraft服务器本身不需要图形界面,但你的启动配置或某些插件/模组触发了Java对X11显示服务的调用,而谷歌云服务器默认没有运行X11环境。
最直接的解决方案:启用Java无头模式
这是最优解,因为MC服务器完全不需要图形界面,直接禁用Java的X11依赖即可:
在启动服务器的命令中添加-Djava.awt.headless=true参数,示例:
java -Djava.awt.headless=true -Xmx10G -Xms10G -jar minecraft_server.jar nogui
nogui参数也确保服务器以无图形模式启动,和headless=true配合彻底避免X11相关问题。
若确实需要X11(特殊模组/插件场景)
如果必须依赖X11,可以安装虚拟X服务器(xvfb)来模拟显示环境:
- 安装xvfb:
sudo apt update && sudo apt install xvfb -y
- 启动虚拟X服务器并设置DISPLAY变量:
Xvfb :1 -screen 0 1024x768x16 & export DISPLAY=:1
- 接着在同一个Shell会话中启动Minecraft服务器即可。如果需要永久生效,可将上述两行命令添加到
~/.bashrc文件,然后执行source ~/.bashrc加载配置。
关于DISPLAY变量为空的说明
你之前执行的export DISPLAY命令未生效,大概率是因为启动服务器的会话和执行export的会话不是同一个,或者启动脚本没有继承当前Shell的环境变量。使用无头模式可以完全绕过这个问题,无需纠结DISPLAY变量的设置。
内容的提问来源于stack exchange,提问作者pablitooo
相关产品推荐
相关产品推荐

