Skip to content

远程 Web 控制台

通过 SSH 隧道,在本地浏览器中浏览和操作远程 GPUMDkit 主机上的文件。

功能简介

gpumdkit.sh -server 会以启动时所在目录为根目录,打开一个浏览器控制台。 浏览器查看的是远程主机上的文件,不会把整个工作目录复制到本地。适合检查 远程模拟或训练输出、运行支持的绘图操作,以及进行少量文件操作,而不必传输 整个项目。

在远程主机上启动服务

先通过 SSH 登录远程主机,激活包含 GPUMDkit 的环境,进入希望在控制台中访问的 目录,然后启动服务:

ssh <用户名>@<主机名>
conda activate gpumdkit
cd /path/to/working-directory
gpumdkit.sh -server

请将占位符替换成实际的 SSH 账户、主机名和工作目录。如果不使用 Conda,请加载 包含 gpumdkit.sh 以及绘图所需 Python 包的环境。使用控制台期间,请保持这个 远程终端运行。

默认情况下,服务监听远程主机的 127.0.0.1:8888。启动服务时所在目录就是文件 浏览器的根目录;网页可以进入其子目录,但文件 API 不能访问根目录以外的路径。

在本地工作站建立 SSH 隧道

在本地工作站另开一个终端,运行:

ssh -N -L 8888:127.0.0.1:8888 <用户名>@<主机名>

账户和主机名与远程登录时相同。保持隧道终端运行,然后在本地浏览器打开:

http://127.0.0.1:8888

第一个 8888 是本地端口,最后一个 8888 是远程服务端口。如果本地的 8888 已被占用,可以换成 8890:

ssh -N -L 8890:127.0.0.1:8888 <用户名>@<主机名>

随后打开 http://127.0.0.1:8890。如果远程的 8888 被占用,可以用 gpumdkit.sh -server 9000 启动服务,并通过 ssh -N -L 8888:127.0.0.1:9000 <用户名>@<主机名> 转发远程 9000 端口。

在本地隧道终端按 Ctrl+C 可关闭隧道;在远程服务终端按 Ctrl+C 可停止 Web 服务。

服务选项

gpumdkit.sh -server [port] [-b <address>] [-pw <password>]
gpumdkit.sh -server -h
选项 默认值 说明
port 8888 Web 服务监听的端口
-b <address> 127.0.0.1 服务监听的网络地址
-pw <password> loopback 监听时不启用 设置网页登录密码

使用 SSH 隧道时请保留默认的 loopback 地址。除非明确需要并符合主机安全策略, 不要绑定到 0.0.0.0。绑定非 loopback 地址时必须设置密码;服务本身不提供 HTTPS。此时如果省略 -pw,启动时会交互式询问密码。不要把密码写进共享脚本或 shell 历史记录。

网页控制台能做什么

  • 浏览当前目录、筛选文件,并打开支持的文本和图片预览。
  • 新建文件或文件夹、从本地上传文件,以及下载选中的远程文件。
  • 运行可用的 GPUMDkit 绘图操作并查看输出图像。
  • 在对应输出文件存在时查看 NEP 训练或 MD 进度。控制台读取输出文件,但不会 启动 GPUMD、提交调度器任务,也不会根据文件时间戳判断进程是否仍在运行。
  • 通过终端抽屉运行快捷命令。命令在远程主机上执行,终端不受文件浏览器根目录 限制。

请从预期使用的 Conda 环境启动服务,这样允许执行的绘图操作会继承对应的 GPUMDkit 安装和 Python 依赖。本地与远程主机之间的文件传输需通过网页的上传和 下载操作显式完成。

故障排查

现象 检查方法
浏览器无法连接 确认远程服务和本地 SSH 隧道都仍在运行,并核对两端端口是否对应。
显示的文件不对 服务根目录取决于启动 gpumdkit.sh -server 时所在的目录;停止服务后在目标目录重新启动。
绘图操作失败 从包含 GPUMDkit 和绘图依赖的环境启动服务,并查看控制台中的操作输出。
进度没有变化 页面会重新读取输出文件,但只有文件写入新记录时进度才会变化;该监测器不是进程或调度器监控工具。