vncsub#

命令#

vncsub - 提交 VNC 会话图形作业

dcvsub - 提交 DCV 会话图形作业

概要#

vncsub [csub参数] [-geometry MxN] [-vglrun] [-xstartup 桌面启动脚本] [-vnc vncserver可执行文件所在目录路径] [-debug] [-command] [desktop] [作业命令 …]

dcvsub [csub参数] [-debug] [-command] [desktop] [作业命令 …]

vncsub [-h]

描述#

提交图形化作业。作业运行前,会创建一个 VNC 会话或 DCV 会话。

作业提交后,vncsub 会在作业消息中发送 VNC 会话密码。

vncsub/dcvsub 会读取可选配置文件 vncsub.yaml。默认情况下,vncsub.yaml 位于调度程序的配置目录中,例如 /opt/skyformai/etc 或 /opt/lsf/conf。但是,如果 vncsub.yaml 无法安装在共享目录中(因为某些参数可能因主机而异),则应将其放置在 /etc/skyformaip、 /etc/lsf 或 /etc/slurm 中。

VNC作业依赖于SkyForm CRV服务,该服务运行在VNC作业的主机上,提供VNC到Web的转换。

vncsub.yaml配置文件支持以下参数:

pp: 任何字串

使用 NGINX 将来自 CRV 服务的 Web 流量路由到与 Web 服务器相同的端口。

默认情况下,不使用 NGINX 路由 CRV 流量。端口 16000 需要穿过 Web 服务器防火墙。

默认值未指定。

crv_port: port

默认情况下,SkyForm CRV 服务在端口 16000 上运行。如果它使用其他端口,vncsub 需要知道该端口。 此参数可以配置为 CRV 使用的端口号(而不是默认的 16000)。

desktop: app|project

提交桌面或桌面 + 命令作业时,请使用 csub 的 -A 参数或 -P 参数对作业进行分类。这将允许 cb.yaml 中的 limits 精细控制作业限制。例如, 为某些用户禁用正在运行的桌面作业。

geometry: MxN

指定 VNC 会话的大小(以像素为单位)。默认值为 1900x1060。这仅适用于 VNC 作业。DCV 作业不接受此参数。

vnc: 路径

指定包含可执行文件 vncserver、 vncpasswd 和 Xvnc 的目录路径。默认使用 AIP 嵌入式 TurboVNC。如果使用系统 TigerVNC, 请指定 -vnc /usr/bin。这仅适用于 VNC 作业。

desktopautokill: yes|no

某些系统(例如 Kyrin OS)的 VNC 服务器 -autokill 选项存在问题。在这种情况下,应将此参数设置为“no”,否则 VNC 桌面将完全无法运行。默认情况下,该值为“yes”,这意味着当桌面用户注销时,作业将完成。如果将 desktopautokill 设置为“no”,则用户退出桌面后,作业仍会继续运行。需要手动终止桌面作业。

vglrun: y|n

指定是否应使用 VirtualGL 运行命令 vglrun 来启动应用程序。默认情况下,VNC 会话不在 VirtualGL 中运行。

skyformvnc: 路径

指定 skyformcrv 目录的路径。默认值为:/opt/skyformai/etc/skyformcrv。

dcvpubweb_ips: yaml

指定 DCV 公共 IP 地址。默认情况下,dcvsub 使用检测到的 IP 地址发布 DCV 访问 URL。此地址可能并不总是正确的。 此参数用于提供正确的 Web 访问 IP 地址。以下示例包含 3 个 DCV 服务器:

dcvpubweb_ips:
- "host1: 11.23.1.2"
- "host2: 11.23.1.3"
- "host3: 11.23.1.4"
dcv_web_url: URL前缀

指定 DCV 服务器上 /etc/dcv/dcv.conf 文件中配置的 [connectivity] web-url-path 的值。 该值支持使用环境变量,例如 $HOSTNAME。此参数用于 dcvsub 生成正确的 DCV 访问 URL。

默认情况下,此值在 DCV 配置中为空。

vncpubweb_ips: yaml

指定 VNC 公网 IP 地址。默认情况下,vncsub 使用检测到的 IP 地址发布 VNC 访问 URL。 此地址可能并非总是正确。此参数用于提供正确的 Web 访问 IP 地址。以下示例包含 3 个 VNC 服务器:

vncpubweb_ips:
- "host1: 11.23.1.2"
- "host2: 11.23.1.3"
- "host3: 11.23.1.4"
watermark: 字串

为图形背景添加水印。动态变量包括:%U:用户名,%J:作业 ID,%T,VNC 会话的日期和时间。示例: watermark: SkyFormAIP_%U_%J。水印中的空格字符将转换为“_”。

xstartup: 桌面给启动命令

指定用于桌面会话启动的 xstartup 脚本。“null”表示使用默认值,尤其是在 Ubuntu 系统中。

选项#

当不加任何参数时,命令显示vncsub.yaml中配置的参数:

Usage: vncsub [-geometry MxN] [-vnc vncserver_dir] [-vglrun|-novglrun] [-xstartup script] [scheduler_submit_options] [-command] [desktop] job_command ...
Common parameters:
  Web forwarding is enabled.
  Session geometry: -geometry 1900x1060
  VNC desktop autokill: Yes
  vncserver directory: /cubetop/etc/skyformcrv/bin
  VNC pubweb addresses:
  - dev: 192.168.10.10
  - node01: 11.11.11.12
  Graphics compression (0-9): 5
  CRV port: 16000

vncsub/dcvsub可用以下参数:

csub_arguments

指定作业提交选项。不支持交互式作业和暂停选项。例如,LSF 中的选项 -I -Is -Ip -K -XF不受支持。

-geometry MxN

指定 VNC 会话的大小(以像素为单位)。默认值为1900x1060。

-vnc vncserver_dir

指定目录包含可执行文件 vncserver、 vncpasswd 和 Xvnc 的路径。默认使用 AIP 嵌入式 TurboVNC。如果使用系统 TigerVNC,请指定 vnc: /usr/bin -xstartup file_path 指定桌面会话的 xstartup 脚本。“null”表示使用默认启动脚本。这在 Ubuntu 上非常有用。

-debug

显示额外的调试信息。

-pp yes|no

指定是否启用 Web 流量路由。这将覆盖 vncsub.yaml 中的配置。

-command

默认情况下,该工具假定调度程序作业提交选项具有值,例如 -n 3。如果最后一个调度程序选项没有值,请使用 -command 指示此作业命令之后的任何内容。

desktop

以 VNC/DCV 会话的形式启动完整桌面。环境变量 DESKTOPAPP 指定多个桌面应用程序定义文件路径之一。指定该变量后,这些应用程序将与桌面一起启动。例如: DESKTOPAPP=”/usr/share/applications/xterm.desktop /usr/share/applications/firefox.desktop”。

job_command …

带有要运行的参数的作业命令。

如果指定了选项“desktop”,但未指定任何作业命令,则 VNC/DCV 会话中仅启动桌面。

如果同时指定了选项“desktop”和作业命令,则作业命令将在 VNC/DCV 桌面会话中启动。作业命令完成后,桌面和整个作业都将保留。用户需要注销桌面或手动终止作业才能结束整个作业。

如果未指定选项“desktop”,则 VNC/DCV 会话仅包含作业命令。没有其他桌面组件。当 作业命令完成后,VNC/DCV 会话将被销毁,整个作业也随之完成。

示例#

% vncsub 桌面 xterm

在 VNC 桌面中提交 xterm 作业。退出 xterm 可保持桌面会话运行。

% vncsub xterm

提交 xterm 作业。退出 xterm 可结束 VNC 会话。

% vncsub /usr/bin/startkde

提交 KDE 桌面。

% dcvsub -ENV DESKTOPAPP=/usr/share/applications/xterm.desktop desktop

提交正在运行 xterm 的 GHOME 桌面。

诊断#

对于 vncsub,作业输出仅显示在 VNC 日志中。如果作业运行失败,请检查 $HOME/.vnc/job_exec_host:sessionID.log 进行故障排除。