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 进行故障排除。