命令行
在终端里打开界面、提交任务、加入工作区、管理这台机器上的 danio。
界面里能做的大部分事,终端里也能做。SSH 到一台渲染服务器上排查问题,或者写脚本批量提交,用命令行会更顺手。完整的列表随时可以用 danio help 看。
命令都是找这台电脑上正在运行的 danio 去办事。没有 danio 在运行时,命令会在自己的进程里临时启动一个。
打开界面
有桌面时直接运行 danio,打开窗口和托盘图标;SSH 到服务器上运行它,得到的是终端界面。
| 命令 | 做什么 |
|---|---|
danio | 打开界面:有桌面时是窗口和托盘图标,没有时是终端界面 |
danio tui | 终端里的界面,排法和能做的事照网页 |
danio web [--addr host:port] [--no-open] | 在浏览器里打开界面,给没有桌面的机器用 |
danio show <页面> | 打开 danio 窗口里的一页,如 /?job=<任务> |
danio tray | 只在托盘里运行 |
danio serve | 只运行 danio,不开界面,给 Linux 服务器和 systemd 用 |
danio tui 和 danio web 在没有 danio 运行时会自己带一个,tui 退出就停,web 一直运行到你按 Ctrl-C。要让 danio 一直在后台跑,用下面的 danio service install。
提交和管任务
这组命令默认对着这台电脑当主机的工作区。要对加入的别的工作区操作,加 --workspace <名称或 ID>,submit、update、jobs、job、pause、resume、cancel、project 都可以加。
danio submit sh010.blend --project 短片 --frames 1-250
| 命令 | 做什么 |
|---|---|
danio submit <file.blend> --project <项目> | 提交,每个场景一个任务。可以加 --scene、--frames、--chunk、--name、--note;--here 在本机渲染,不经过存储 |
danio update <任务> | 更新任务,默认沿用上一版入口 .blend,只传变化的文件 |
danio jobs [--json] | 任务列表 |
danio job <任务> [--json] | 任务详情:版本、渲染进度、分段 |
danio pause|resume|cancel <任务> | 暂停、继续、取消 |
danio render <任务> | 在本机渲染一个已提交到存储的任务 |
danio project add <名称> | 新建项目,可以加 --python on|off、--include <glob> |
danio project set <名称> / danio project ls | 改项目设置,列出项目 |
脚本里要读结果时加 --json。
工作区和设备
在没有桌面的服务器上,加入工作区、开放给别的设备、发令牌,都用 danio workspace。
| 命令 | 做什么 |
|---|---|
danio workspace | 这台设备当主机或已加入的工作区 |
danio workspace join <主机地址> | 用设备令牌加入,令牌从提示符或管道读入 |
danio workspace join <主机地址> --password | 用局域网加入密码加入 |
danio workspace join <主机地址> --ask | 申请加入,等对方管理员批准 |
danio workspace discover | 找局域网里开放加入的工作区 |
danio workspace port <端口> | 对其他设备开放,如 7420;0 为关闭 |
danio workspace address [地址…] | 主机在哪块网卡上监听、发给设备的网址,如 https://danio.example.com |
danio workspace token add <名称> --access none|viewer|station|admin | 生成令牌;--render 加入后接收渲染,--multi 多台共用 |
danio workspace token ls / rm <令牌 ID> | 列出、作废令牌 |
danio workspace takeover <共享目录> | 从存储里的备份接管工作区,恢复密钥从提示符读入 |
danio workspace set-host <地址> | 主机换了地址时,改成新地址 |
对象存储上的工作区这样接管:
danio workspace takeover s3://<桶>/<前缀> --endpoint <地址>
密钥从提示符读入,也可以用 DANIO_S3_ACCESS_KEY、DANIO_S3_SECRET_KEY、DANIO_RECOVERY_KEY 给。
管设备用 danio device,设备可以写 ID 或名称:
| 命令 | 做什么 |
|---|---|
danio device | 工作区的设备 |
danio device block|unblock <设备> | 拉黑、解除拉黑 |
danio device access <设备> none|viewer|station|admin | 改权限:无、查看、工作站、管理 |
danio device render <设备> on|off | 打开或关闭那台设备的渲染,它下次联系主机时生效 |
工作区的存储用 danio store add <名称> <SMB 路径或本地路径> 设,danio store ls 查看。一个工作区只有一个存储。
这台机器
这组命令只管你正在用的这台电脑:随电脑启动、更新、卸载、检查环境、改本机配置。
服务
| 命令 | 做什么 |
|---|---|
danio service | 是否随电脑启动、danio 是否在运行 |
danio service install | 随电脑启动(Linux 用 systemd,Windows 在登录时),并马上启动 |
danio service uninstall | 不再随电脑启动,正在运行的不受影响 |
danio service restart | 重启,换上 danio upgrade 下载的新版本 |
danio service stop | 停止正在运行的 danio |
更新和卸载
| 命令 | 做什么 |
|---|---|
danio upgrade | 更新到最新发布的版本 |
danio upgrade check | 只看有没有新版本 |
danio upgrade list [--pre] | 列出发布的版本,--pre 连预发布版本一起列 |
danio upgrade <版本> | 换成指定的版本,如 0.2.0,也可以回退 |
danio upgrade --from <主机地址> | 换成那个工作区主机正在用的版本 |
danio uninstall [--data] [--yes] | 停止 danio、删除程序;--data 连同数据一起删 |
从 GitHub 下载慢时,danio upgrade 可以加 --mirror <地址> 用下载加速,如 https://mirror.example.com/;不加时用设置里的“下载加速”。
检查和配置
| 命令 | 做什么 |
|---|---|
danio status [--json] | danio 是否在运行、数据目录在哪 |
danio doctor [--json] | 检查这台电脑能不能提交和渲染 |
danio doctor --fix | 只输出安装缺失系统库的命令 |
danio doctor --libs | 只输出 Blender 缺的系统库的安装命令 |
danio config | 显示本机配置 config/danio.toml |
danio config get <键> / set <键> <值> | 读、改一项本机配置,如 danio config set node.gpus 0,1 |
danio version | 版本 |
本机配置只放这台机器自己的事:缓存目录、执行目录、Blender 路径、渲染机设置,完整说明见本机配置。项目的设置在项目里。
插件和接口
插件跑在主机上,比如发飞书通知、同步到别的系统。怎么写插件见插件开发,接口见HTTP 接口。
| 命令 | 做什么 |
|---|---|
danio plugin [--json] | 列出插件:状态、版本、权限、最近的错误 |
danio plugin add <npm 包 | 文件夹 | .tgz> | 安装,先显示它要的权限,确认后启用 |
danio plugin on|off|rm <插件> | 启用、停用、删除 |
danio plugin update | 从各自的来源重装全部插件 |
danio plugin config <插件> [键=值]… | 改设置,不给值时逐项询问 |
danio openapi [--lang en] | 输出接口描述(OpenAPI 3.1 JSON),--lang en 为英文版 |
danio token new | 生成一个随机令牌,给 DANIO_TOKEN 用 |
环境变量
| 变量 | 做什么 |
|---|---|
DANIO_PORT | 本机界面的端口 |
DANIO_ADDRESS | 本机界面的地址,默认只在 127.0.0.1 上监听;写法同 danio workspace address,多个用逗号分隔 |
DANIO_HOME | 整个数据目录放在哪 |
DANIO_TOKEN | 本机令牌,网页登录页可以粘贴它 |
DANIO_TOKEN_FILE | 从文件读本机令牌,代替 DANIO_TOKEN |
比如想从别的电脑打开一台服务器上的 danio 网页界面,就设 DANIO_ADDRESS。
DANIO_HOME 里有工作区的数据库,要放在本机的盘上,不能指向 SMB 或 NFS 共享。Docker 镜像已经设好 DANIO_HOME=/data,把 NAS 本地卷上的一个文件夹挂到 /data 就行,见把主机放到 NAS 上。