Skip to content

Linux 终端 服务器

浏览器中的完整 Ubuntu 终端 — 不是模拟,不是 WebContainer,也不是 WSL。这是一个 按用户隔离的 Docker 容器,运行 Ubuntu 22.04,带有 bash、apt、sudo、您的整个工具链(Node、Python、Go 等)和 roqueos-cli 预安装,让您直接从 shell 控制 RoqueOS 桌面。

运行 htop 的终端

它的不同之处

  • 🐧 真正的 Ubuntu 22.04 带有主机的 Linux 内核(不是模拟)
  • 👤 按用户隔离 — 每次登录都有自己的容器、持久化主目录、独立的进程
  • 🔐 无密码 sudo 在容器内(您是您环境的 root,不会影响其他用户)
  • 💾 持久化主目录 在 Docker 卷中 — 位于 /data/roqueos/users/<your-id>/,会话之间保留
  • 🛠️ 预安装的包: Node.js 22、Python 3、Go、Rust toolchain、Git、curl、wget、htop、vim、nano、jq、build-essential
  • 🌐 网络访问 完整 — 可以运行 HTTP 服务器、下载文件、连接到外部数据库
  • 🤖 roqueos-cli 预安装 — 调用 RoqueOS 桌面(通知、打开应用、创建文件)

如何打开

Launchpad → Terminal。第一次需要约 5 秒来启动容器(之后即时)。可以打开多个实例 — 您需要多少就打开多少。

实际使用案例

快速维护脚本:

bash
# 清理 /tmp 中的旧日志 + 完成时通知
find /tmp -name "*.log" -mtime +7 -delete
roqueos-cli notify "清理完成" "已删除超过 7 天的日志"

新项目设置:

bash
cd ~/projects
git clone https://github.com/your/project
cd project
yarn install
yarn dev &  # 在后台运行
roqueos-cli open-url "http://localhost:5173"  # 在 Roque Browser 中打开

监控的 cron:

bash
crontab -e
# 粘贴:
0 9 * * * df -h | awk '$5+0 > 80 {system("roqueos-cli notify \"磁盘已满\" \"" $6 " " $5 "\"")}'

临时管道:

bash
# 流式传输服务器日志 + 当出现 "ERROR" 时自动警报
docker logs -f roqueos-server 2>&1 | \
  grep --line-buffered ERROR | \
  xargs -I{} roqueos-cli notify "RoqueOS 错误" "{}"

roqueos-cli — 通过 shell 控制桌面

RoqueClaw 使用的相同 CLI。在终端中运行 roqueos-cli --help 查看完整参考 — 这是真相的来源。

6 个规范操作:

roqueos-cli notify       <title> <message>      # 桌面通知
roqueos-cli open-app     <appId>                # 打开应用(finder、vscode、browser 等)
roqueos-cli open-url     <url>                  # 在 Roque Browser 中打开 URL
roqueos-cli create-file  <path>                 # 从 stdin 读取内容创建文件
roqueos-cli run-terminal <command>              # 执行命令 + 返回 stdout
roqueos-cli show-dialog  <message> [--type X]   # confirm/alert/info 模态框

实用示例:

bash
# 通知
roqueos-cli notify "标题" "消息"

# 打开 RoqueOS 应用
roqueos-cli open-app finder

# 在 Roque Browser 中打开 URL
roqueos-cli open-url "https://github.com"

# 在 Finder 中创建文件(读取 stdin)
echo "会议记录..." | roqueos-cli create-file "/home/user/notes/reuniao.md"

# 执行命令 + 返回输出作为通知
roqueos-cli run-terminal "df -h"

# 确认模态(等待响应)
roqueos-cli show-dialog "删除 50GB 旧日志?" --type confirm

语法使用 位置参数(不是 --title/--message 标志)。如果您的 CLI 版本不同,请在容器内通过 apt-get install --reinstall roqueos-cli 更新。

完整文档: RoqueClaw + CLI

共享文件系统

终端中 /home/user/ 的文件与 FinderVS Code 中显示的 相同。所有内容都同步:

  • 在 VS Code 中保存代码 → 在终端的 ls 中显示
  • 在 Finder 中创建文件夹 → 在终端中 cd 工作
  • 在终端中 wget 下载 → 在 Roque Browser 的 Finder 中显示

终端 + Finder 并排显示相同的文件系统

容器资源

资源默认
内存 RAM2 GB(可通过 env CONTAINER_MEMORY_LIMIT 配置)
CPU2 个共享核心
磁盘专用 Docker 卷
网络Bridge roqueos-network(访问服务器的其他容器)
镜像roqueribeiro1988/roqueos-server-ubuntu:latest(Ubuntu 22.04)

xterm.js 快捷键

快捷键操作
Ctrl+Shift+C复制选择
Ctrl+Shift+V粘贴
Ctrl+Shift++ / Ctrl+-增加/减小字体大小
Ctrl+Shift+F在缓冲区中查找
Ctrl+L (bash)清除终端
Ctrl+D注销 / 关闭 shell
Ctrl+Rbash 历史记录中的反向搜索

移动设备上的触摸输入原生支持(xterm.js 检测)。

会话之间的持久化

/home/user/(以及任何子文件夹)在应用关闭、容器重启、RoqueOS Server 更新(install.sh --update)之间持久化。只有手动删除 Docker 卷 roqueos-userdata-<uid> 或从零重新创建服务器(docker compose down -v)时才会丢失。

安装额外的包

bash
sudo apt update
sudo apt install -y <package>

包保存在 您的 用户的容器中 — 同一服务器上的其他用户看不到。良好的实践: 在 /home/user/.bashrc 中记录您安装的包,以便在容器有一天被重新创建时重新安装。

与 xterm 直接 / WSL 的差异

方面RoqueOS TerminalWSL / xterm 本地
设置0 秒(已经在运行)安装 Linux + dist + 设置
访问任何登录的浏览器仅您的机器
多设备✅ 手机访问相同的主目录
持久化服务器的 Docker 卷本地磁盘
隔离容器 per-user共享
性能服务器↔浏览器延迟原生

另请参阅