在 CentOS 7 上安装部署 OpenClaw(一个开源的《百战天虫》(Worms)风格游戏,基于 Java 编写)需要完成以下步骤。由于 OpenClaw 是用 Java 编写的,主要依赖 Java 运行环境和一些图形/音频库。
一、系统准备
确保你的 CentOS 7 系统是最新的:
sudo yum update -y
安装常用工具(如 wget、git、unzip 等):
sudo yum install -y wget git unzip
二、安装 Java 运行环境(JRE)
OpenClaw 需要 Java 8 或更高版本。CentOS 7 官方仓库中的 OpenJDK 通常为 Java 8。
安装 OpenJDK 8:
sudo yum install -y java-1.8.0-openjdk
验证安装:
java -version
你应该看到类似:
text
openjdk version "1.8.0_362"
`...`
注意:如果后续运行时提示缺少 JavaFX,你可能需要额外处理(见下文"JavaFX 问题")。
三、下载 OpenClaw
前往 OpenClaw GitHub Releases 页面获取最新版本。
以 v0.9.5 为例(请根据实际最新版调整):
cd /opt
sudo mkdir -p openclaw
cd openclaw
sudo wget https://github.com/OpenClaw/OpenClaw/releases/download/v0.9.5/openclaw-0.9.5.zip sudo unzip openclaw-0.9.5.zip
或者使用 git 克隆源码(不推荐用于普通用户,除非你要编译):
git clone https://github.com/OpenClaw/OpenClaw.git
建议直接使用预编译的 release 包。
四、安装缺失的依赖(特别是 JavaFX)
OpenClaw 依赖 JavaFX,而 OpenJDK 默认不包含 JavaFX。在 CentOS 7 上,你需要手动提供 JavaFX。
方法 1:使用 OpenJFX(推荐)
从 Gluon OpenJFX 下载适用于 Linux 的 JavaFX SDK。
例如(以 JavaFX 17 为例,需与你的 Java 版本兼容):
cd /opt
sudo wget https://download2.gluonhq.com/openjfx/17.0.2/openjfx-17.0.2_linux-x64_bin-sdk.zip
sudo unzip openjfx-17.0.2_linux-x64_bin-sdk.zip
这会生成 /opt/javafx-sdk-17.0.2 目录。
修改启动脚本
OpenClaw 的启动脚本(通常是 run.sh)需要添加 JavaFX 模块路径。
编辑 /opt/openclaw/run.sh(如果没有,可自己创建):
#!/bin/bash
cd "$(dirname "$0")" JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk JAVAFX_PATH=/opt/javafx-sdk-17.0.2/lib $JAVA_HOME/bin/java \ --module-path "$JAVAFX_PATH" \ --add-modules javafx.controls,javafx.media,javafx.fxml,javafx.swing \ -jar openclaw.jar
⚠️ 注意:Java 8 不支持
--module-path参数!
如果你使用的是 Java 8,则必须使用 包含 JavaFX 的 JDK(如 Oracle JDK 8),或使用旧版 OpenClaw(早期版本可能不强制 JavaFX 11+)。
五、解决方案建议(针对 Java 8 用户)
由于 CentOS 7 默认只有 OpenJDK 8(无 JavaFX),而 OpenClaw 新版本要求 JavaFX 11+,你有两个选择:
✅ 推荐方案:升级到 Java 11 + OpenJFX
-
安装 Java 11:
sudo yum install -y java-11-openjdk
-
下载并配置 OpenJFX 11(或 17)如上。
-
使用 Java 11 运行,并指定模块路径。
替代方案:使用旧版 OpenClaw(兼容 Java 8)
查找早期版本(如 v0.8.x),这些版本可能基于 Swing 而非 JavaFX。但功能较少。
六、运行 OpenClaw
赋予脚本执行权限:
chmod +x /opt/openclaw/run.sh
运行:
/opt/openclaw/run.sh
如果你在图形界面(GNOME/KDE)下运行,应该能正常启动。
如果通过 SSH 无图形界面,请确保已启用 X11 转发(ssh -X)或在本地桌面环境中运行。
七、常见问题
1. "Error: JavaFX runtime components are missing"
说明未正确加载 JavaFX。请确认:
- 使用了 Java 11+
- 正确设置了
--module-path - JavaFX 版本与 Java 主版本兼容
2. 黑屏或卡死
可能是显卡驱动问题。确保安装了 Mesa 或 NVIDIA 驱动:
sudo yum install -y mesa-libGL
3. 声音问题
安装 ALSA/PulseAudio 支持:
sudo yum install -y alsa-lib pulseaudio-libs
八、创建桌面快捷方式(可选)
在 ~/.local/share/applications/openclaw.desktop 创建:
ini
[Desktop Entry]
Name=OpenClaw Exec=/opt/openclaw/run.sh Icon=/opt/openclaw/icon.png Type=Application Categories=Game;
总结
表格
| 步骤 | 操作 |
|---|---|
| 1 | 更新系统,安装基础工具 |
| 2 | 安装 Java 11(推荐)或 Java 8 |
| 3 | 下载 OpenClaw release 包 |
| 4 | 安装 OpenJFX 并配置模块路径 |
| 5 | 编写启动脚本并运行 |