简介
一、NoMachineTerminal Server Node安装配置指南
欢迎使用 NoMachine Terminal Server Node - 安装和配置指南 v. 7。
NoMachine Terminal Server Node是用来做什么的??
NoMachineTerminal Server Node被设计成专门安装在Linux远程节点上,并成为由NoMachineEnterprise Terminal Server统治的多节点环境的一部分。
小贴士
它不是一个独立的服务器,不能接受与主机的直接连接!
一旦安装,NoMachineTerminal Server Node必须被添加到Enterprise Terminal Server上。
用户将连接到Enterprise Terminal Server,它是所有可用节点的单一访问点。根据Enterprise Terminal Server的配置,用户可以选择在哪个节点上运行他们的虚拟桌面,并且/或者会话将在各节点之间自动进行负载平衡(默认)。
建立一个由NoMachineEnterprise Terminal Server和可扩展数量的Terminal Server Node组成的多节点环境,是一个集中访问多个主机并在它们之间分配负载的解决方案。
图形化界面
NoMachineTerminal Server Node软件包包括一个NoMachine用户界面,用于管理节点及其服务(服务器设置)。
本指南中详述的大多数常见操作都可以由运行在Terminal Server Node本地安装上的NoMachine用户界面和服务器设置面板来完成。
Terminal Server Node还带有一个客户端用户界面,用于运行会话和连接到其他远程桌面。
Terminal Server Node在安装后就可以使用了
安装提供了一个完全可操作的NoMachine节点,其默认配置适用于大多数环境。所有必要的服务都会自动启动。
只要把它添加到Enterprise Terminal Server中就可以了
Enterprise Terminal Server的一个节点
NoMachineTerminal Server Node,仅适用于Linux,支持无限并发的虚拟桌面。一个虚拟桌面是远程桌面的一个单独实例。也支持共享一个虚拟桌面。用户的数量不受限制。
1.1. 关于本指南
文件约定和重要通知
本指南中使用了以下约定:
基本目录
是安装 NoMachine 二进制文件和库的基本目录。
默认情况下,BaseDirectory 是:/usr。
安装目录
是:BaseDirectory/NX,即/usr/NX。
命令行界面
NoMachine 服务器和节点程序有一个命令行界面来执行操作。
您需要是特权系统用户才能访问所有这些功能。 可以使用 sudo 实用程序或以 root 身份从 xterm 或类似工具运行这些命令。
在 Linux 上,从 /etc/NX 调用“nxserver”和“nxnode”程序,例如:
$ sudo /etc/NX/nxserver --status
打印服务器和节点使用情况不需要是特权用户,而是:
$ /etc/NX/nxserver --help
$ /etc/NX/nxnode --help
“nxserver --help”和“nxnode --help”显示所有可用命令和选项的列表及其说明。
2.安装Terminal Server Node
2.1.先决条件
支持的操作系统
Linux 32 位和 64 位
RHEL 4 到 RHEL 8
SLED 10 到 SLED 15
SLES 10 到 SLES 15
openSUSE 10.x 到 openSUSE 15.x
Mandriva 2009 至 Mandriva 2011
Fedora 10 到 Fedora 31
Debian 4.0 到 Debian 10
Ubuntu 8.04 到 Ubuntu 20.04
Raspberry 2/3/4 ARMv6/ARMv7/ARMv8
硬件要求
Intel Core2 Duo 或 AMD Athlon Dual-Core 或同等产品
1 GB 内存
网络连接(LAN 或 Internet 链接:宽带、电缆、DSL 等...)
磁盘所需大小:
Linux 115 MB
软件要求
必须已安装桌面环境。这也适用于无头 Linux 机器。
支持 Web 会话和 NoMachine 客户端的会话。用户必须连接到Enterprise Terminal Server才能在Terminal Server Node主机上运行会话(该节点不接受直接连接)。
即使建议将客户端安装升级到Enterprise Terminal Server和Terminal Server Node的相同版本 7,与客户端 v. 6 和 5 的兼容性仍然保留。
小提示:强烈建议保持Enterprise Terminal Server及其Terminal Server Node的版本始终保持一致!
2.2. Linux 安装
第一次安装
您可以使用 Linux 发行版的图形包管理器或从命令行安装、更新和卸载,方法是从 xterm 或类似工具使用 sudo 实用程序运行命令,或者如果您没有安装 sudo,则以 root 用户身份运行。 下面的说明是指通过命令行安装。
连续更新
服务器和节点安装的更新过程需要停止所有 NoMachine 服务才能正确替换库和二进制文件。这意味着在更新过程中用户无法访问Terminal Server Node。当前会话将被终止,用户稍后将能够再次连接。
有两种方法可以更新当前安装:
l 自动更新
您可以从我们的存储库更新您的安装。只需从您的程序菜单运行 NoMachine UI 并打开服务器 -> 设置 -> 更新面板,然后单击“服务器首选项”。转到“更新”用户界面,然后单击“立即检查”按钮。
NoMachine 启用了自动检查更新:默认情况下,它将每两天检查我们的存储库以验证更新是否可用。在这种情况下,服务器将提示一个对话框,通知有新版本可用,但它永远不会自动更新当前安装。
通过选择“不再询问此版本”选项或在“更新”面板中取消选中“自动检查更新”选项,可以在该对话框中禁用检查更新。
II 使用 NoMachine 软件包进行更新
或者,从 NoMachine 网站下载最新的可用软件包,然后单击可执行文件以启动安装程序。 至于安装,安装程序将指导您完成更新安装所需的所有步骤。
2.3. RPM 包
如果你想安装到默认位置,即/usr/NX/。
安装
# rpm -ivh <pkgName>_<pkgVersion>_<arch>.rpm
要想知道你安装了哪个NoMachine软件包(你会得到软件包的全名),请运行。
# rpm -qa | grep nomachine
UPDATE
# rpm -Uvh <pkgName>_<pkgVersion>_<arch>.rpm
取消安装
# rpm -e nomachine-terminal-server-node
提示
对于非默认的位置,例如/opt/NX。
INSTALL
# rpm -ivh <pkgName>_<pkgVersion>_<arch>.rpm --prefix /opt
更新
# rpm -Uvh <pkgName>_<pkgVersion>_<arch>.rpm --prefix /opt
取消安装
# rpm -e nomachine-terminal-server-node
通过www.DeepL.com/Translator(免费版)翻译
2.4. DEB包
如果你想安装到默认位置,即/usr/NX/。
安装
$ sudo dpkg -i <pkgName>_<pkgVersion>_<arch>.deb
要想知道你安装了哪个NoMachine软件包(你会得到软件包的全名),请运行。
$ dpkg -l | grep nomachine
更新
$ sudo dpkg -i <pkgName>_<pkgVersion>_<arch>.deb
取消安装
$ sudo dpkg -r nomachine-terminal-server-node
提示
对于非默认的位置,例如/opt/NX。
INSTALL
$ sudo NX_INSTALL_PREFIX=/opt dpkg -i <pkgName>_<pkgVersion>_<arch>.deb
更新
$ sudo NX_INSTALL_PREFIX=/opt dpkg -i <pkgName>_<pkgVersion>_<arch>.deb
取消安装
$ sudo dpkg -r nomachine-terminal-server-node
2.5. TAR.GZ包
如果你想安装到默认位置,即/usr/NX/,确保软件包被放在那里。
安装
$ cd /usr
$ sudo tar xvzf <pkgName>_<pkgVersion>_<arch>.tar.gz
$ sudo /usr/NX/nxserver --install
UPDATE
$ cd /usr
$ sudo tar xvzf <pkgName>_<pkgVersion>_<arch>.tar.gz
$ sudo /usr/NX/nxserver --update
取消安装
$ sudo /usr/NX/scripts/setup/nxserver --uninstall
$ sudo rm -rf /usr/NX
小提示
对于非默认的位置,例如/opt/NX。
安装
$ sudo NX_INSTALL_PREFIX=/opt /usr/NX/nxserver --install
UPDATE
$ sudo NX_INSTALL_PREFIX=/opt /usr/NX/nxserver --update
取消安装
$ sudo /opt/NX/scripts/setup/nxserver --uninstall
$ sudo rm -rf /opt/NX
2.6. 激活许可证(针对客户)
客户包
包括一个临时的(30天)node.lic和server.lic文件用于评估。
这些许可证文件必须被替换为客户从NoMachine获得的许可证文件。通过NoMachine用户界面的设置->服务器->更新面板:点击 "服务器订阅 "和 "节点订阅 "来读取当前的许可证文件。点击 "替换 "按钮,激活新的许可证文件。
小贴士
从版本7开始,服务器将在许可证到期后60天停止工作。请联系你的NoMachine供应商或支持团队,了解更新选项。
要从命令行验证node.lic是否正确到位并检查其有效性,你可以运行。
$ sudo /etc/NX/nxnode --subscription
$ sudo /etc/NX/nxnode --version
3. 启动NoMachine连接(终端用户端
前提条件:你需要在Enterprise Terminal Server和Terminal Server Node上有一个有效的账户,密码不能为空。你的账户可以是一个本地账户或LDAP账户或AD账户。NoMachine不检查用户的账户信息来源,例如LDAP或本地账户数据库。请务必提前配置好登录方式。
3.1. 通过浏览器或NoMachine客户端连接到Enterprise Terminal Server
一旦添加到Enterprise Terminal Server上,Terminal Server Node就可以使用了。
要通过网络连接,终端用户应将其设备上的浏览器指向Enterprise Terminal Server主机的名称或IP地址。
以类似的方式,当以客户端设备连接时,用户必须在创建连接时指定Enterprise Terminal Server的IP或主机名。
小贴士
I 支持自动重新连接:当连接因任何原因丢失时(包括客户端主机进入睡眠模式),只要用户保持用户界面或网页打开,客户端将自动尝试重新连接。如果重新连接是不可能的,那么用户将不得不手动重新连接。
II 支持IPv6:如果你想使用IPv6格式的服务器主机的IP地址(例如2001:0:5ef5:79fb:30c6:1516:3ca1:5695),而不是IPv4。
3.2. 负载平衡与手动选择节点的关系
默认情况下,NoMachine Enterprise 终端服务器为虚拟桌面的自动负载平衡提供了Terminal Server Node。这意味着服务器根据其负载平衡算法,将选择启动新的虚拟桌面的节点。服务器也可以被配置为让用户选择节点。
4. 压缩技术和优化
4.1. 网络会话中的视频流编码
在网络会话的情况下,默认情况下,会话数据是通过使用MJPEG有损算法进行压缩和解压的视频帧流,这是浏览器广泛支持的视频格式。
其他视频编解码器,如VP8和H.264,需要一个支持WebRTC和HTML5的浏览器。
当以下要求全部满足时,NoMachine网络会话使用H.264视频流,否则就使用VP8。在实践中,当WebRTC被启用时,将使用H.264或VP8编码,否则将使用MJPEG编码。
I WebRTC已启用。
II 浏览器支持WebRTC和H.264解码
在实践中,当WebRTC启用时,将使用H.264或VP8编码(如果浏览器支持WebRTC),否则将使用经典的网络媒体交换协议,并使用MJPEG作为编解码器。
小贴士
当终端服务器主机拥有Nvidia Kepler微架构以上的硬件加速视频卡(GPU)或Intel Quick Sync处理器或AMD卡(目前仅在Windows上)时,可以进行H.264硬件编码。
优化
优化可以通过两种方式进行:I)通过调整会话中的显示设置或(II)通过启用WebRTC。
I 调整网络会话中的显示设置
要访问NoMachine的显示设置,请在网络会话中打开NoMachine菜单:按ctrl+alt+0或点击窗口右上角的页面剥离来打开它。然后点击 "显示 "按钮,最后点击 "显示设置"。在这个面板上,你可以做以下事情。
改变显示图像的质量
提高质量将意味着应用一个小的压缩率,图像将更清晰,但将使用更多的带宽。
禁用网络自适应的显示质量
这将把显示质量固定在显示质量滑块中指定的固定值上,使其独立于当前的网络拥堵情况。当带宽非常有限时,不建议这样做。
禁用多通道显示编码
编码中的默认设置会在桌面不活动的时候,从较低质量的图像开始,逐步细化到目标质量(如显示质量滑块中指定的)。禁用这种细化,直接以目标质量发送图像。当带宽有限时,不推荐使用。
II 在Enterprise Terminal Server上启用WebRTC
NoMachine网络会话默认使用经典的网络媒体交换协议进行浏览器/网络服务器的双向通信。WebRTC(实时网络通信)也被支持,可以按照下一段的解释来启用。
启用WebRTC可以使用H.264视频流(在可能的情况下)或VP8,从而优化用户对多媒体应用和内容的体验。
小贴士
你可以在会话中的NoMachine菜单中验证使用哪种编码方法:按ctrl+alt+0或点击窗口右上角的页面剥离来打开它。然后点击 "显示 "按钮,最后点击 "显示设置"。实际使用的编解码器会在菜单的左下方报告。
4.2. 客户端会话中的视频流编码
由NoMachine客户端运行的会话使用基于标准编解码器和NoMachine开发的一些技术的视频和图像编码的组合。帧被编码成视频流,通过实时图像和音频数据的压缩和解压算法进行优化。支持VP8、H.264和MJPEG编码。
一般来说,VP8和H.264适用于所有情况,而MJPEG可以在终端用户的电脑性能较差和用户遇到响应速度慢的情况下作为一种选择。
显示编码器可以在服务器上改变。
从UI中
在设置->>服务器->性能面板。
或在节点的配置文件中
通过编辑节点配置文件并启用以下两个键来启用特定的编解码器的使用。
EnableDisplayServerVideoCodec 1
DisplayServerVideoCodec CODEC
其中CODEC可以是。vp8"、"h264 "或 "mjpeg"。例如:
EnableDisplayServerVideoCodec 1
DisplayServerVideoCodec mjpeg
4.3. 客户端会话中的X11矢量图形模式
X11矢量图形模式默认为(i)虚拟桌面和(ii)浮动窗口模式下的自定义会话所启用。该模式主要是一套NoMachine技术,用于压缩和优化X11协议(通过应用NX压缩协议3版中的相同算法)。这些压缩技术适用于所有非视频内容,如文本元素,而多媒体内容则以视频流(VP8或H.264)进行编码。
X11矢量图形模式对于避免图像质量的损失很有用,一般来说,在处理传统的UI或大量的文本时是最好的选择。然而,对于多媒体内容或具有许多图形效果的应用程序来说,它并不可取。
这种模式也有助于减少带宽的使用,减少对客户端和服务器的硬件要求(昂贵的视频编码/解码操作只适用于多媒体内容),提高慢速链接和没有硬件加速视频编码/解码能力的最终用户客户端的响应速度。
你可以禁用/启用X11矢量图形模式
通过用户界面
在设置->>服务器->>性能面板。
或在节点的配置文件中
对于禁用X11矢量图形模式,编辑节点的配置文件,取消注释并设置。
AgentX11VectorGraphics 0
或启用它。
AgentX11VectorGraphics 1
小贴士
在带宽较慢的情况下,降低图像的质量水平可能会有帮助,但如果你需要有一个完美的图像而没有质量损失,你必须提高显示质量。我们还建议禁用多路编码,以避免 "失焦 "效应:多路编码是一种编码技术,使用多路编码来逐步达到图像的最佳清晰度。
II 质量水平和多通道编码可以从NoMachine菜单中的显示->改变设置面板中进行调整。(Ctrl+alt+0或点击窗口的右上角来打开NoMachine菜单)。
4.4. 在虚拟会话中支持OpenGL应用程序
在NoMachine虚拟桌面和自定义会话中,OpenGL渲染默认是由软件组件完成的。这意味着,渲染任务是由CPU完成的,而不是卸载到GPU上。这种操作可能是资源需求,特别是在3D桌面图形效果的情况下,并使用户界面看起来很慢。
一个可能的选择是将NoMachine服务器配置为使用VirtualGL库(包含在NoMachine软件包中),从而激活对HW加速OpenGL应用程序的支持。这允许OpenGL应用程序,即3D应用程序,使用服务器端的图形硬件。
5. Terminal Server Node配置
5.1. 配置文件
Terminal Server Node的配置文件主要是node.cfg。在某些情况下,可能需要在服务器配置文件 server.cfg 中也调整一些设置。实际上,Terminal Server Node包也包括 nxserver 程序,它仍然管理 localhost 上的用户和会话,但不接受连接,除非它们来自Enterprise Terminal Server。
配置文件被放置在BaseDirectory/NX/etc目录下。
/usr/NX/etc/server.cfg
/usr/NX/etc/node.cfg
默认配置
NoMachineTerminal Server Node自带的默认配置足以在大多数环境中提供一个工作设置。NoMachine管理员可以在任何时候根据他们的具体需要,通过设置相关的配置键来调整他们的安装。在某些情况下,这将需要重新启动所有的NoMachine服务。
编辑配置文件
NoMachine配置文件是由一些键值对组成的文本文件。所有的配置文件都可以通过文本编辑器手动编辑,例如 "vi"。
请务必取消对配置键的注释(即删除预加在键上的'#'),以设置一个与默认值不同的值。
当一个配置键支持开/关状态时,将值设为'0'以禁用它,设为'1'以启用它。
使对默认配置的更改生效
如果没有另外指定,更改将在下一次新的连接中生效,而不需要重新启动服务。
5.2. 本地和网络端口
对于每个会话,NoMachine使用仅在节点主机上本地使用的端口和网络端口。
有些端口是强制性的,必须是空闲的,例如会话显示号码和连接端口。其他端口用于可以被禁用的服务,例如USB转发。
本地端口 描述 如何改变默认值
11000 + DisplayBase 会话显示。如果这个端口已经被使用,NoMachine会通过增加DisplayBase来寻找一个空闲的端口,直到DisplayLimit服务器配置键中设置的值。 DisplayBase(默认为1001)和DisplayLimit(200)在server.cfg中定义。
20000 会话的 nxserver 进程和主服务器进程之间的通信端口。 在 server.cfg 的末尾添加 ServerSlaveBase 键,并指定一个值
24000 + DisplayBase 会话的监控端口。 DisplayBase(默认为1001)和DisplayLimit(200)在server.cfg中定义。
5473和5483 USB设备转发。 通过在node.cfg中设置EnableUSBSharing none禁用USB共享。
网络端口 描述 如何改变默认值
6000 + DisplayBase TCP端口用于NoMachine显示服务。如果这个端口已经被使用,NoMachine会通过增加DisplayBase来寻找一个空闲的端口,直到DisplayLimit服务器配置键中设置的值。 DisplayBase(默认为1001)和DisplayLimit(200)在server.cfg中定义。
4000 TCP端口用于NoMachine网络服务(nxd)和通过NX协议的连接。这个端口必须在防火墙中打开,并映射到服务器主机的外部IP。 在server.cfg中设置NXPort并重新启动nxd服务。
4011 - 4999 UDP端口范围。 在server.cfg中设置UDPPort来定义一个不同的范围。UDP可以在客户端被禁用。注意,如果节点在防火墙后面,则不使用UDP。
22 TCP端口用于通过SSH协议的连接。这个端口必须在防火墙中打开,并映射到服务器主机的外部IP。 为系统的SSH服务器设置一个不同的端口,并与server.cfg中为SSHDPort设置的值一致。然后重新启动NoMachine服务器。
4080和4443 HTTP和HTTPS端口用于网络连接。这些端口必须在防火墙中开放,并映射到服务器主机的外部IP。 改变htd.cfg中的'Listen'指令,并重新启动nxhtd服务。
20000 - 30000 用于UPnP端口映射的外部端口范围。 在 server.cfg 中设置 NXUPnPPort 来定义不同的范围。在 server.cfg 中设置 EnableUPnP none 来禁用端口映射。
5040 + x 在客户端和服务器之间为每个USB设备打开的端口。端口号由5040+x定义,其中'x'为从端口号5040开始检索的第一个空闲端口。 不适用
4000 来自NoMachine存储库的自动更新。 更新是由nxd管理的。通过在server.cfg中设置UpdateFrequency 0来禁用自动更新。
5473和5483 USB设备转发。 通过在node.cfg中设置EnableUSBSharing none来禁用USB共享。
5.3. 隐藏NoMachine监视器和通知消息
可以隐藏或显示系统托盘中的!M(监视器)图标。当图标被隐藏时,当用户正在连接时,仍然会显示通知信息。这可以在用户界面上进行配置
从用户界面上配置。
在设置->服务器->安全面板中,选择 "在系统托盘中隐藏NoMachine图标"。当图标被隐藏时,用户连接时仍会显示通知信息。
或在节点的配置文件中
这个设置是由节点配置文件中的DisplayMonitorIcon键来统治的。如果你通过编辑文件手动改变它们,那么你就需要重新启动服务器以使改变生效。
要隐藏系统托盘中的!M设置。
DisplayMonitorIcon 0
要在系统托盘中显示!M,请设置:DisplayMonitorIcon 0。
DisplayMonitorIcon 1
在这两种情况下,然后重新启动服务器。
nxserver --restart
默认情况下,NoMachine 会发出气球消息,通知用户断开连接或用户请求连接等事件。你可以通过在节点配置中设置以下键来禁用通知信息。
DisplayMonitorNotifications 0
提示
如果显示器的通知信息显示被禁用,桌面所有者将无法接受其他用户的连接请求。如果你需要允许没有明确授权的连接,请在Enterprise Terminal Server上配置受信任的用户。
5.4. 隐藏白板和聊天工具
如果你想禁止从监视器菜单中启动白板,请编辑节点的配置文件,使其具有。
EnableWhiteboard 0
然后重新启动服务器。
nxserver --restart
6. 用户管理
6.1. 管理Terminal Server Node主机上的用户
您可以使用操作系统提供的工具或 NoMachine 服务器命令来管理创建和删除用户帐户,如下所述。 请注意,将通过 NoMachine 连接的用户必须在Enterprise Terminal Server上也有一个帐户(用户名必须相同,密码可以不同)。
创建帐户
nxserver --useradd USERNAME --system
修改用户密码:
nxserver --passwd USERNAME --system
列出 NoMachine 用户:
nxserver --userlist
删除帐户:
nxserver --userdel USERNAME --system
6.2. 问候消息(适用于虚拟桌面)
可以在会话开始时通过发出问候消息来欢迎用户,无论是在用户第一次登录时还是在用户每次连接到Terminal Server Node时。 通过在以下任一键中写入消息文本来更新节点配置文件:
NodeFirstLoginGreeting “欢迎来到您的第一个 NoMachine 会话”
NodeLoginGreeting “欢迎来到您的 NoMachine 会话”
6.3. 给用户的通知
NoMachine 提供了一个名为白板的即时通讯工具,它还允许与连接的用户绘制和共享文件,并快速访问文件传输。 要访问它,请连接到用户的桌面,然后从系统托盘中的监视器(!M 图标)单击“显示白板”。 请注意,如果多个用户同时连接到同一个会话,他们都会看到该消息。
作为替代方案,可以在连接的会话中发出一个对话框,通过从命令行发送自定义消息来显示它。
向所有正在运行的会话发送消息:
nxserver --broadcast “你的消息在这里”
或仅向其会话 ID 指定的会话发送消息:
nxserver --message "你的消息在这里"
7. 支持的服务器-节点连接协议
客户端连接是通过隧道从Enterprise Terminal Server到Terminal Server Node的。服务器-节点连接默认使用NX协议,用于网络上的安全通信。NX协议(默认监听端口4000)
NX协议中的加密是使用OpenSSL TLS/SSL实现的,基于ECDHE-RSA-AES128-GCM-SHA256作为默认的密码套件。ECDHE-RSA-AES128-GCM-SHA256是一个AES(高级加密标准)块状密码,在GCM(伽罗瓦/计数器模式)中具有128位密钥。
SSH协议(默认监听端口4000)
作为一个替代方案,可以使用SSH对服务器-节点的连接进行加密。
协议以及端口(如果与默认的不同)必须在Terminal Server Node被添加到Enterprise Terminal Server上时被定义。
8. 会话管理
每个会话都由会话 ID(可能类似于:B253864E822F5A235825F3AB8853AF00)和显示 ID(例如 1002)唯一标识。
NoMachine Terminal Server Node上的会话可以处于以下任一状态:
已连接 - 当它连接到远程显示器时。
断开连接 - 此状态仅适用于虚拟桌面会话和自定义会话。会话在与远程显示器断开连接时被标记为断开连接。即使从不同的机器(迁移)也可以随时重新连接断开的会话。当会话断开时,远程服务器上的应用程序保持运行。
已完成 - 会话已以干净的方式关闭,所有 NoMachine 进程已顺利关闭。
失败 - 任何 NoMachine 进程未能启动或已“不干净地”终止。
过渡状态是连接、断开和终止。
可以在Enterprise Terminal Server上监视和Terminal Server Node节点上的会话。
8.1. 在 Linux 上设置虚拟桌面环境
NoMachine 连接的先决条件是系统上安装了桌面环境,即使主机无头或未在图形模式下启动。
默认情况下,当用户选择创建新的虚拟桌面时,NoMachine 运行系统上设置的默认 X 会话。
在安装过程中,NoMachine 检测系统上设置的默认桌面环境并相应地配置节点。启动系统桌面环境的路径和命令在 node.cfg 中由 DefaultDesktopCommand 键定义。 Workstation 能够检测 GNOME、Unity、KDE、LXDE 和 Xfce。如果您有不同的桌面环境,您可以相应地编辑 DefaultDesktopCommand 键。
例如运行 MATE:
DefaultDesktopCommand "/usr/bin/mate-session"
或运行万神殿:
DefaultDesktopCommand "/usr/bin/gnome-session --session=pantheon"
如果安装了多个桌面环境,您可以配置 NoMachine 为用户提供所有可用桌面的列表。为此,请在服务器配置 (server.cfg) 的 ConnectPolicy 键中设置 xsessions=1。默认情况下这是禁用的 (xsession=0)。要启用它,请设置:
ConnectPolicy autocreate=1,autoconnect=1,automigrate=1,desktop=0,dialog=0,xsessions=1,udp=1
如果安装了 GNOME 和 KDE,和/或如果您想提供 XDM 桌面,您可以在上面的 ConnectPolicy 键中设置 desktop=1。
要运行 GNOME 和/或 KDE,请在 node.cfg 中的相应键中指定命令,例如
CommandStartGnome "/etc/X11/Xsession 'gnome-session --session=gnome'"
CommandStartKDE "/etc/X11/Xsession startkde"
8.2. 对节点事件执行自定义脚本
节点配置 (node.cfg) 提供了许多键,可以激活这些键以在发生特定事件时执行自定义脚本。
以类似的方式,服务器配置 (server.cfg) 也提供了执行客户脚本的可能性。但是,在Terminal Server Node的情况下,只能在 server.cfg 中设置与登录事件相关的脚本。必须在 node.cfg 文件中设置与会话事件相关的脚本。
可以为每个脚本指定多个参数。在Terminal Server Node上设置的脚本在该主机上执行,并且仅适用于连接到它的用户。
可用于配置键 接受参数 (server.cfg) 接受参数 (node.cfg)
服务器 UserScriptBeforeLogin 远程 ip -
服务器 UserScriptAfterLogin 用户名,远程 ip -
服务器 UserScriptAfterLogout(自 v. 6.6.8 起可用)用户名,远程 IP -
node UserScriptBeforeSessionStart session id, username, node host, node port, main session id(*), main session type(*) session id, username, session type, display, main session id(*), main session type(*)
node UserScriptAfterSessionStart session id, username, node host, node port, main session id(*), main session type(*) session id, username, session type, display, main session id(*), main session type(*)
节点 UserScriptBeforeSessionDisconnect 会话 ID、用户名、节点主机、节点端口会话 ID、用户名、会话类型、显示
节点 UserScriptAfterSessionDisconnect 会话 ID、用户名、节点主机、节点端口会话 ID、用户名、会话类型、显示
node UserScriptBeforeSessionClose session id, username, node host, node port, main session id(*), main session type(*) session id, username, session type, display, main session id(*), main session type(*)
node UserScriptAfterSessionClose session id, username, node host, node port, main session id(*), main session type(*) session id, username, session type, display, main session id(*), main session type(*)
节点 UserScriptBeforeSessionReconnect 会话 ID、用户名、节点主机、节点端口会话 ID、用户名、会话类型、显示
节点 UserScriptAfterSessionReconnect 会话 id、用户名、节点主机、节点端口 ssession id、用户名、会话类型、显示
node UserScriptAfterSessionFailure session id, username, node host, node port, main session id(*), main session type(*) session id, username, session type, display, main session id(*), main session type(*)
(*) “主会话 ID”和“主会话类型”参数仅在用户连接到已运行的虚拟桌面(会话重影)时可用。它们分别指示用户连接到他/她自己的由“会话 ID”和“会话类型”限定的会话的 ID 和类型。
节点配置文件中的另一个键允许运行在更改解决事件(调整远程屏幕大小)上触发的自定义脚本。相关的关键是:
UserScriptAfterRemoteResize
提示
参数的顺序是相关的。例如,在节点事件 "UserScriptBeforeSessionStart "上运行的自定义脚本应该使用2美元变量来检索用户名,4美元来检索显示。
运行自定义脚本的前提条件
自定义脚本必须是可执行的。server.cfg 中设置的自定义脚本由 nxserver 程序执行。由于 nxserver 是作为 nx 用户运行的,你必须授予该用户必要的权限,以便执行自定义脚本。
设置在node.cfg中的自定义脚本由nxnode程序执行,该程序以连接用户的身份运行。把脚本放在节点可以访问的目录中,也就是连接的用户可以访问的目录。
默认情况下,如果脚本的执行失败,nxserver和nxnode将终止。这意味着用户的会话将不会启动。你可以通过在自定义脚本中强制退出0来覆盖这一行为,即使自定义脚本失败,也可以让会话启动。
小贴士
如果在登录事件中触发的自定义脚本必须应用于连接到多节点系统的所有用户,则必须将它们放在Enterprise Terminal Server的server.cfg文件中。
8.3. 自动限制或终止虚拟桌面
为了限制该Terminal Server Node上的虚拟桌面的数量,建议使用配置文件规则。它们必须在Enterprise Terminal Server上执行。
作为配置文件规则的替代方案,Terminal Server Node上的server.cfg文件提供了以下键。
VirtualDesktopsLimit 20
VirtualDesktopsUserLimit 20
ConnectionsLimit 20 ConnectionsUserLimit 20
这两个键分别限制了以下最大数量:并发的虚拟桌面、可以运行虚拟桌面的用户、连接(虚拟桌面+共享虚拟桌面+连接到物理桌面(如果有))和用户(运行虚拟桌面+连接到虚拟桌面+可以连接到Terminal Server Node主机的物理桌面的特殊用户),默认为20。
小贴士
要将该节点上的最大并发虚拟桌面数量限制为60个,例如。
将Terminal Server Node的server.cfg中为虚拟桌面限制设置的值增加到例如100。
VirtualDesktopsLimit 100
或者设置为无限制。
VirtualDesktopsLimit 100
然后在Enterprise Terminal Server主机上执行以下命令。NODE:PORT 是Terminal Server Node的名称,它出现在Enterprise Terminal Server上执行的 "nxserver --nodelist "的输出中。
nxserver --ruleadd --class node --type virtual-desktops-limit --value 60 --node NODE:PORT
自动断开或终止虚拟桌面的连接
要在一定的非活动时间后断开虚拟桌面或自定义会话,请取消注释并在以下节点配置键中设置适当的超时值,单位为秒。例如,如果你想在不活动10分钟后终止会话,你需要设置。
DisplayServerExtraOptions "-timeout 600"
如果NoMachine显示代理在给定的超时时间内没有收到用户的任何输入,它将断开连接或终止会话。如果会话不是持久的或者没有X应用程序连接到显示器上,将进行会话的终止。否则,代理将断开会话,这样X应用程序将继续运行。
注意DisplayServerExtraOptions键只适用于虚拟桌面或启用X11矢量图形的自定义会话(默认)。
对于连接到虚拟桌面的会话(共享虚拟桌面),禁用X11矢量图形的虚拟桌面,改为设置与物理桌面的连接。
DisplayAgentExtraOptions "-timeout 600"
9. 设备共享、复制粘贴和文件传输
Terminal Server Node允许用户从本地到远程访问和共享他们的设备和资源,反之亦然。可以在会话内部连接磁盘、打印机、USB 设备等,以便从客户端和服务器端轻松访问它们。目前,设备共享不适用于 Web 会话,只能在 NoMachine 客户端的连接中使用。
完全支持双向复制和粘贴。 Web 会话实现了 NoMachine 虚拟剪贴板,它允许从/向在浏览器和本地计算机中运行的会话复制文本。
客户端和 Web 会话也完全支持从会话下载/上传文件到本地计算机,反之亦然,以及从远程到本地和从本地到远程的文件拖放。
默认情况下,始终允许设备共享、复制粘贴和文件传输。但是,您可以完全禁用这些服务中的任何一个或仅部分禁用它,例如防止用户在 NoMachine 会话中共享他们的本地打印机,但允许他们使用远程打印机。
可以通过配置文件规则在Enterprise Terminal Server上限制或禁止设备共享、复制和粘贴以及文件传输。
10. 多媒体和会话记录
10.1. 支持音频和话筒
在Linux上,NoMachine音频框架与PulseAudio声音服务器集成。如果系统上没有PulseAudio,NoMachine能够使用ALSA(高级Linux声音架构)。这是由NoMachine服务器自动管理的,因此,多媒体支持可以开箱即用,不需要任何配置。如果PulseAudio和Alsa都可以使用,管理员可能想把节点配置为使用其中一个。
禁用或设置音频支持
要禁用音频和麦克风支持,在节点配置文件中取消注释并将AudioInterface键设置为 "禁用"。
AudioInterface disabled
在Linux上,可以通过将AudioInterface键分别设置为'pulseaudio'或'alsa'来定义是否必须使用PulseAudio服务器或ALSA。比如说:
AudioInterface pulseaudio
10.2. 录制你的屏幕
NoMachine可以在视频中记录会话中或桌面上的所有活动。要开始录制会话,用户应该在会话中打开NoMachine菜单(ctrl+alt+0),点击 "录制 "按钮图标,进入录制面板。在这个面板上,可以打开录音栏,改变音频和视频质量,并打开录音目录以访问所有录制的文件。网络上的会话录音是不可用的。
要记录在桌面上进行的活动,从Terminal Server Node主机的系统托盘上的!M图标菜单开始记录,并从那里显示记录栏。桌面活动也可以在物理桌面上登记,而不需要通过NoMachine连接。
录制的文件默认保存为WebM格式,可以直接用NoMachine或任何其他支持该格式的播放器播放。如果支持的话,视频流只能用VP8或H.264进行编码。录制的文件默认保存在用户设备上的 "文档 "目录下的NoMachine目录中。
禁用会话记录
要防止用户记录他们的会话活动,编辑节点配置以设置。
EnableSessionRecording 0
禁用桌面记录
要防止用户记录桌面活动,即使在实际登录到Terminal Server Node主机时,编辑节点配置以设置。
EnableLocalRecording 0
10.3. 自动屏幕记录
默认情况下,会话启动时的自动记录是禁用的。
要启用它,请在终端中执行。
sudo /etc/NX/nxserver --recording yes
自动屏幕记录适用于连接到物理显示器和虚拟桌面的会话。
小贴士
你也可以通过指定'--percentage PERCENTAGE'参数来定义要记录的会话百分比,或者分别通过'--user'和'--group'来激活只针对特定用户或用户组的记录。--用户'和'--组'。
11. 自动更新
Terminal Server Node,以及其他NoMachine客户端和服务器产品,会定期检查NoMachine资源库(默认为每两天一次),以验证是否有更新,并会提示一个对话框,通知用户有新版本可用。
它不会自动更新当前的安装。同样,在后台下载新的软件版本也不会导致对当前安装的自动更新。
京ICP备09015132号-996 | 网络文化经营许可证京网文[2017]4225-497号 | 违法和不良信息举报电话:4006561155
© Copyright 2000-2023 北京哲想软件有限公司版权所有 | 地址:北京市海淀区西三环北路50号豪柏大厦C2座11层1105室