0

我想使用具有 Windows 的客户端设备通过命令行使用 nxssh、nxWin、nxproxy 等组件访问 NX 服务器。不是通过 NX 客户端的 GUI。

换句话说,我想要在 Windows 中使用与 Linux 中使用的“nxproxy -S ...”等命令相反的命令。

4

1 回答 1

1

似乎没有为 Windows 客户端提供nxproxy 。但是,您可以使用来自 nxcomp-3.4.0-7.tar.gz 和 nxproxy-3.4.0-2.tar.gz 的 Cygwin 工具对其进行编译。您可能需要以下 Cygwin 软件包:

  • libpng12-开发
  • zlib-开发
  • libjpeg-开发
  • libX11-开发
  • gcc4核
  • gcc4-g++
  • 制作
  • 自动配置2.1

将 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。

于 2011-04-17T11:45:03.263 回答