nxssh、nxWin、nxproxy などのコンポーネントを使用して、コマンド ラインから Windows を搭載したクライアント デバイスを使用して NX サーバーにアクセスしたいと考えています。NX クライアントの GUI 経由ではありません。
つまり、Linux で使用されている「nxproxy -S ...」のようなコマンドの Windows での逆のコマンドが必要です。
nxssh、nxWin、nxproxy などのコンポーネントを使用して、コマンド ラインから Windows を搭載したクライアント デバイスを使用して NX サーバーにアクセスしたいと考えています。NX クライアントの GUI 経由ではありません。
つまり、Linux で使用されている「nxproxy -S ...」のようなコマンドの Windows での逆のコマンドが必要です。
nxproxyは、Windows クライアント用に提供されていないようです。ただし、nxcomp-3.4.0-7.tar.gz および nxproxy-3.4.0-2.tar.gz の Cygwin ツールでコンパイルできます。次の Cygwin パッケージが必要になる場合があります。
NX tarball を 1 つの共通ディレクトリに解凍し、サブディレクトリ 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 用にビルドするときに xauth の代わりに nxauth を使用するコードが含まれています。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
ウィンドウを取得するには、「-fullscreen」の代わりに「-screen 0 1280x1024」などを指定できます。
nxwin.exe へのパス引数は、POSIX 形式 (「/cygdrive/c/...」) である必要があります。フォント パスの設定を確認するには、nxservice.exe を介して NXWin を実行してみてください。これにより、コンソールに有益なログが出力されます。
nxservice --start display --nokeyhook --resolution fullscreen
nxservice を実行する前に、NX_SYSTEM に加えて、NX_ROOT および XAUTHORITY 環境変数を設定する必要があります。NX_ROOT は .nx ディレクトリです。XAUTHORITY は、%USERPROFILE%\.Xauthority などの Xauthority ファイルを指します。