我想使用具有 Windows 的客户端设备通过命令行使用 nxssh、nxWin、nxproxy 等组件访问 NX 服务器。不是通过 NX 客户端的 GUI。
换句话说,我想要在 Windows 中使用与 Linux 中使用的“nxproxy -S ...”等命令相反的命令。
我想使用具有 Windows 的客户端设备通过命令行使用 nxssh、nxWin、nxproxy 等组件访问 NX 服务器。不是通过 NX 客户端的 GUI。
换句话说,我想要在 Windows 中使用与 Linux 中使用的“nxproxy -S ...”等命令相反的命令。
似乎没有为 Windows 客户端提供nxproxy 。但是,您可以使用来自 nxcomp-3.4.0-7.tar.gz 和 nxproxy-3.4.0-2.tar.gz 的 Cygwin 工具对其进行编译。您可能需要以下 Cygwin 软件包:
将 NX 压缩包解压缩到一个公共目录中,以便它包含子目录 nxcomp/ 和 nxproxy/ 之后。
要构建 nxcomp-3.4.0-7:
echo '
388c388,389
< LIBS="-lstdc++ -lpng -ljpeg -lz"
---
> CXXFLAGS="-I/usr/include/libpng12 $CXXFLAGS"
> LIBS="-lstdc++ -lpng12 -ljpeg -lz"
' | patch configure.in
autoconf-2.13
./configure
make
要构建 nxproxy-3.4.0-2:
echo '
162c162
< LIBS="$LIBS -L../nxcomp -lXcomp -lstdc++ -Wl,-e,_mainCRTStartup -ljpeg -lpng -lz"
---
> LIBS="$LIBS -L../nxcomp -lXcomp -lstdc++ -Wl,-e,_mainCRTStartup -ljpeg -lpng12 -lz"
' | patch configure.in
autoconf-2.13
./configure
make
然后将 cygXcomp.dll 和 nxproxy.exe 放在您选择的任何目录中,它应该从那里运行。
注意: nxcomp 包含的代码使其在为 Windows 构建时使用 nxauth 而不是 xauth。如果这不是您想要的,因为您想使用 Cygwin 的 xauth,请从 Auth.cpp 中删除相应的部分。但是,如果将 NX_SYSTEM 环境变量设置为 NX 客户端的安装目录,nxauth 应该可以正常工作。
NXWin包含在客户端安装中。它的调用可能有点挑剔。对我有用的一条线是:
nxwin -fullscreen -fp <YOUR_FONT_PATH> -hide -clipboard -noloadxkb -nokeyhook -auth <YOUR_XAUTHORITY_FILE> -nowinkill -name NX :1
您可以提供“-screen 0 1280x1024”等而不是“-fullscreen”来获取窗口。
nxwin.exe 的路径参数应采用 POSIX 格式(“/cygdrive/c/...”)。要了解您的字体路径设置,您可以尝试通过 nxservice.exe 运行 NXWin,这将导致控制台上的信息日志输出,例如
nxservice --start display --nokeyhook --resolution fullscreen
除了 NX_SYSTEM 之外,还需要在运行 nxservice 之前设置 NX_ROOT 和 XAUTHORITY 环境变量。NX_ROOT 是您的 .nx 目录。XAUTHORITY 指向 Xauthority 文件,可以是 %USERPROFILE%\.Xauthority。