这是一个完整的 XFCE4 远程桌面环境解决方案,专为 OpenClaw 环境设计,支持:
| 目录 | 说明 | 文档链接 |
|---|---|---|
scripts/ | 安装和启动脚本 | scripts/README.md |
config/ | 配置文件 | config/README.md |
logs/ | 日志文件 | logs/README.md |
docs/ | 详细文档 | docs/ |
| 功能 | 说明 |
|---|---|
| ✅ XFCE4 桌面环境 | 轻量级、高性能的 Linux 桌面 |
| ✅ noVNC Web 访问 | 通过浏览器访问完整桌面 |
| ✅ 中文界面支持 | 完整的中文语言包和本地化 |
| ✅ 中文输入法 | Fcitx5 + IBus 双输入法框架 |
| ✅ HTTP 音频流 | 远程桌面声音在浏览器中播放 |
| ✅ VSCode Desktop | 代码编辑器,中文界面 |
| ✅ MCP Server | VSCode 作为 MCP 服务端 |
| ✅ DEB 软件管理 | 一键安装/卸载第三方 DEB 软件包 |
| ✅ 自定义分辨率 | 支持 800x600 等自定义分辨率 |
| ✅ 持久连接 | 解决 noVNC 频繁断开问题 |
| ✅ 可配置端口 | 所有端口可在配置文件中修改 |
ch72_xfce4_desktop/ ├── Makefile # 便捷命令入口 (推荐使用) ├── master_controller.sh # 交互式管理菜单 ├── audio_player.html # 浏览器端音频播放器 │ ├── scripts/ # 安装和启动脚本 │ ├── install_xfce4_desktop.sh # 主安装脚本 │ ├── install_audio.sh # 音频系统安装 │ ├── install_vscode.sh # VSCode Desktop 安装 │ ├── install_vscode_mcp.sh # MCP Server 安装 │ ├── install_deb_package.sh # DEB 软件安装器 │ ├── uninstall_deb_package.sh # DEB 软件卸载器 │ ├── uninstall.sh # 卸载脚本 │ ├── start_desktop_fixed.sh # 桌面启动脚本 │ ├── start_audio.sh # 音频服务启动 │ ├── audio_http_server.py # HTTP 音频流服务器 │ ├── web_files_server.py # Web 文件服务器 │ ├── status_desktop.sh # 状态检查 │ ├── stop_desktop.sh # 停止服务 │ └── test_all.sh # 测试脚本 │ ├── config/ # 配置文件 │ ├── ports.conf # 端口配置 │ ├── deb_installer.conf # DEB 软件安装配置 │ ├── chinese-env.sh # 中文环境变量 │ ├── audio_env.sh # 音频环境配置 │ └── vscode/ # VSCode 配置 │ ├── settings.json # 用户设置 │ └── mcp/ # MCP 配置 │ ├── docs/ # 详细文档 │ ├── AUDIO_STREAM_SETUP.md # 音频流配置 │ ├── DEB_INSTALLER_PLAN.md # DEB 安装器计划 │ ├── VSCODE_DESKTOP_INSTALLATION.md # VSCode 安装记录 │ └── VSCODE_MCP_SERVER_PLAN.md # MCP Server 计划 │ ├── logs/ # 日志文件 ├── fonts/ # 字体文件 └── themes/ # 主题文件
# 查看帮助
make
# 完整安装
make install
# 启动所有服务(桌面 + 音频 + Web)
make start
# 查看状态
make status
# 停止服务
make stop
# 显示访问地址
make access
make menu
# 或
./master_controller.sh
| 服务 | 端口 | 地址 |
|---|---|---|
| 远程桌面 | 6080 | https://<host>-6080.cnb.run/vnc_lite.html |
| 音频播放器 | 8888 | https://<host>-8888.cnb.run/audio_player.html |
| 音频流 | 8080 | https://<host>-8080.cnb.run/ |
注意: 代理地址通过环境变量动态生成,无硬编码域名
端口可在 config/ports.conf 中自定义:
# noVNC 桌面访问端口
NOVNC_PORT=6080
# HTTP 音频流端口
AUDIO_HTTP_PORT=8080
# Web 文件服务端口
WEB_FILES_PORT=8888
# VNC 服务端口
VNC_PORT=5901
# PulseAudio TCP 端口
PULSE_TCP_PORT=4713
# VSCode MCP Server 端口
MCP_SERVER_PORT=3000
修改后需重启服务: make stop && make start
远程桌面浏览器 → PulseAudio (remote-audio sink) ↓ HTTP 音频服务器 (端口 8080) ↓ PCM 流 (44100Hz, 16-bit, stereo) audio_player.html (Web Audio API) ↓ 用户耳机/音箱
https://<host>-6080.cnb.run/vnc_lite.htmlhttps://<host>-8888.cnb.run/audio_player.htmlmake audio-install # 安装音频系统
make audio-start # 启动音频服务
make audio-status # 查看音频状态
make audio-stop # 停止音频服务
make vscode-install
| 命令 | 用途 |
|---|---|
code | VSCode Server (远程 SSH 开发) |
vscoded | VSCode Desktop (远程桌面 GUI) |
code-desktop | VSCode Desktop (备用) |
config/vscode/settings.json)make vscode-install # 安装 VSCode Desktop
make vscode-check # 检查安装状态
VSCode Desktop 可以配置为 MCP 服务器,让本地客户端(如 Claude Desktop)通过 npx 连接并执行命令。
make vscode-mcp-install
Ctrl+Shift+X 打开扩展市场JuehangQin.vscode-mcp-server编辑 Claude Desktop 配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"vscode-mcp-server": {
"command": "npx",
"args": ["mcp-remote@next", "http://localhost:3000/mcp"]
}
}
}
make vscode-mcp-install # 安装扩展
make vscode-mcp-start # 启动 VSCode
make vscode-mcp-stop # 停止 VSCode
make vscode-mcp-status # 查看状态
make vscode-mcp-help # 显示帮助
DEB 软件安装器支持一键安装/卸载第三方 DEB 软件包,自动处理依赖问题和 Docker 环境兼容性。
编辑 config/deb_installer.conf 添加软件:
# Obsidian - 知识管理/笔记软件
OBSIDIAN_DEB_URL="https://github.com/obsidianmd/obsidian-releases/releases/download/v1.11.7/obsidian_1.11.7_amd64.deb"
OBSIDIAN_NO_SANDBOX="true" # Docker 环境需要无沙箱模式
make deb-list # 列出可安装软件
make deb-install-obsidian # 安装 Obsidian
make deb-install-all # 安装所有软件
make deb-clean # 清理下载目录
make deb-uninstall # 交互式多选菜单(美观界面)
make deb-uninstall-all # 自动卸载所有(-y 模式)
make deb-uninstall-name NAME=obsidian # 卸载指定软件
make deb-status # 查看已安装软件
运行 make deb-uninstall 会显示美观的多选菜单:
╔════════════════════════════════════════════════════════════════╗ ║ 📦 DEB 软件卸载器 - 多选菜单 ║ ╠════════════════════════════════════════════════════════════════╣ ║ [j/k] 上下移动 [空格] 选择 [a] 全选 [回车] 确认 [q] 退出 ║ ╠════════════════════════════════════════════════════════════════╣ ║ 请选择要卸载的软件: ║ ╟────────────────────────────────────────────────────────────────╢ ║ ▶ ● obsidian [已安装] ║ ○ notegen [未安装] ╠════════════════════════════════════════════════════════════════╣ ║ 已选择: 1 个软件包 ║ ╚════════════════════════════════════════════════════════════════╝
/root/Desktop/dl30_downloads/apt --fix-broken install安装时会自动检查下载目录是否已有该软件的 deb 文件:
# 已有文件时
[成功] 发现已下载的文件: 20260226_153854_obsidian_1.11.7_amd64.deb
[信息] 跳过下载,直接使用已有文件
# 没有文件时
[信息] 正在下载: obsidian...
Ctrl + SpaceSuper + Space解决方案: 脚本已配置心跳和超时参数
locale-gen zh_CN.UTF-8 update-locale LANG=zh_CN.UTF-8
killall fcitx5 fcitx5 &
make uninstall # 交互式卸载
make uninstall-force # 强制卸载(跳过确认)
编辑 start_desktop_fixed.sh:
RESOLUTION="1024x768"
编辑 config/vscode/settings.json:
{
"editor.formatOnSave": true,
"editor.fontSize": 14
}
重新安装 VSCode 后生效:
./scripts/install_vscode.sh -f
make logs # 列出日志
make tail # 实时查看桌面日志
| 文档 | 说明 |
|---|---|
| docs/AUDIO_STREAM_SETUP.md | 音频流配置详解 |
| docs/AUDIO_SUPPORT_PLAN.md | 音频支持计划 |
| docs/DEB_INSTALLER_PLAN.md | DEB 软件安装器计划 |
| docs/VSCODE_DESKTOP_INSTALLATION.md | VSCode 安装记录 |
| docs/VSCODE_MCP_SERVER_PLAN.md | MCP Server 计划 |
| docs/obsidian-install-fix.md | Obsidian 安装问题排查与修复 |
# 常用
make install # 安装桌面环境
make start # 启动所有服务
make stop # 停止所有服务
make status # 查看状态
make access # 显示访问地址
# 音频
make audio-install # 安装音频系统
make audio-start # 启动音频
make audio-status # 查看状态
# VSCode
make vscode-install # 安装 VSCode
make vscode-check # 检查状态
# MCP
make vscode-mcp-install # 安装 MCP 扩展
make vscode-mcp-status # MCP 状态
make vscode-mcp-help # MCP 帮助
# DEB 软件管理
make deb-list # 列出可安装软件
make deb-install-obsidian # 安装 Obsidian
make deb-install-all # 安装所有软件
make deb-uninstall # 交互式卸载菜单
make deb-uninstall-all # 自动卸载所有
make deb-status # 查看已安装软件
# 卸载
make uninstall # 交互式卸载
make uninstall-force # 强制卸载
# 其他
make test # 运行测试
make menu # 交互菜单
make logs # 查看日志
make tail # 实时日志
如遇问题,请检查:
logs/ 目录)make status)本项目基于 Debian/Ubuntu 官方软件包,遵循相应开源许可证。
最后更新: 2026-02-26 版本: 2.1 维护者: OpenClaw Automation