vnc の料理方法

VNC ( Virtual Network Computing ) で遊んでみましょ。

最終更新日 : 1998 年 10 月 20 日


  1. 材料

    • Solaris[ developper ]以上ががインストールされたコンピュータ。
      今回は Solaris2.6 / Ultra1 を素材にしました。

    • ネットワークにつながった Solairs もしくは Windows95/98/NT4.0 のコンピュータ

    • vnc の UNIX 用ソース・コード ( ソースコードから料理する場合のみ )

    • vnc の WIN32 用バイナリー

    • vnc の Solaris2.x 用バイナリー

    • GNU gcc の実行環境

    • GNU gzip の実行環境

    • Perl version 5.003 以上の実行環境

  2. 材料の入手

    ソース・コードやバイナリーを入手しないと話になりませんので、下記の場所からもってきましょう。

    http://www.orl.co.uk/vnc/

    UNIX 版だけ持ってきてもしょうがないので、色々持ってきました。

    • vnc-3.3.2-unixsrc.tar.gz - UNIX 用ソースコード
    • vnc-3.3.2-solaris2.tar.gz - Solairs2.x 用バイナリー
    • vnc-3.3.2_x86_win32.tar.gz - WIN32 用バイナリー

  3. 下拵え

    ソースを解凍して準備します。
    パスは[ /usr/bin /usr/sbin /usr/ccs /usr/ccs/bin /usr/openwin/bin /usr/local/bin . ]に貼ってあります。

    # cd /usr/local/compile
    # gzip -dc vnc-3.3.2-unixsrc.tar.gz | tar xvf -

  4. さてコンパイル

    あとは README に書かれている手順で料理しちゃいましょう。

    # xmkmf
    # make World

    次に ./Xvnc の下に移動して make World するんですが、 gcc を使用する場合は、 ./Xvnc/config/imakefile/Makefile.ini の一部を変更しておかないとエラーになってしまいますので下拵えしてからにしましょう。
    ./Xvnc の下で xmkmf をすると大混乱になります。僕と同じ混乱したい方はしてみてね。 :-P

    # cd Xvnc
    # chmod 666 ./config/imake/Makefile.ini
    # vi ./config/imake/Makefile.ini

    CC = cc → CC = gcc
    # make World

    余談ですが、SunOS4.1.4 でもコンパイルできちゃいました。でもキーボードの入力がうまくいかないようです。

  5. さぁ、盛り付け

    これも README に書かれている手順で料理しちゃいましょう。

    # cd /usr/local/compile
    # ./vncinstall /usr/local/bin
    # mkdir -p /usr/local/vnc/classes
    # cp classes/* /usr/local/vnc/classes

    Solaris2.x 用バイナリーをもってきて盛り付けるのは、解凍して README に書かれているように個々のファイルをコピーするだけです。

    # cd /usr/local/compile
    # gzip -dc vnc-3.3.2-solaris2.tar.gz | tar xvf -
    # cp vncviewer vncserver vncpasswd Xvnc /usr/local/bin
    # mkdir -p /usr/local/vnc/classes
    # cp classes/* /usr/local/vnc/classes

    インストールされた vncserver は Perl script になっています。 /usr/bin に Perl がインストールされている事を前提に書かれていますので、 Perl が /usr/bin 以外にインストールされている場合は書き換えましょう。

    # chmod 755 /usr/local/bin/vncserver
    # vi /usr/local/bin/vncserver

    #!/usr/bin/perl → #!/usr/local/bin/perl
    # chmod 555 /usr/local/bin/vncserver

  6. 後片づけ

    ソース・コードなどはバックアップしておいて作業した生ごみは必要がなければ消してしまいましょう。

    # cd /usr/local/compile
    # rm -r vnc-3.3.2-unixsrc.tar.gz Imakefile LICENCE.TXT Makefile README Xvnc classes include linvncauth vncinstall vncpasswd vncserver vncviewer

  7. WIN32 版も用意しよ

    Windows 版のセットアップをおこないましょう。但し、取ってきた材料が vnc-3.3.2_x86_win32.tar.gz みたいになっていると思います。Solaris で、

    % gzip -dc vnc-3.3.2_x86_win32.tar.gz | tar xvf -
    して Windows95/98/NT4.0 マシンにコピーするか、WIN32 で動く GNU ツールなどを別途用意して解凍しましょう。
    SETUP.EXE なんてのが出てきますので、クリックしてインストールしましょう。
    インストールが終わると [Vnc]なんてグループができます。
    そうしたら [Vnc]-[Install Default Registry Settings] を実行してレジストリに登録しましょう。手動でレジストリ登録するのでなんか安心ですね。心配な人はこの操作の前にレジストリのバックアップをしておきましょう。
    これで、こちらはおしまい。

  8. 試食

    Windows の画面を X に投影するのと、 X の画面を Windows に投影するの Netscape Navigator などのブラウザをクライアントにするものがあります。どちらからやりますか ?

    • Solaris のホスト名を pochi
    • WIN32 のホスト名を tama
    として試食してみませう。

    • Windows の画面を X Window に投影

      1. Windows 上で、[ スタート ]-[ プログラム ]-[Vnc]-[WinVNC 3.3.2] で起動します。

      2. [Propety Page] なんてウィンドウが出てきます。 passwd だけ入れてあとはデフォルトでもいいと思いますので [OK] しましょ。

      3. Solaris でインストールしたディレクトリ ( /usr/local/bin など ) にパスを通して OpenWindows / CDE の環境のコマンドツールなどで、Windows の動いているマシンのホスト名とディスプレイ番号を指定して起動すると、パスワードを聞いてくるので、 Windows 上で入力したパスワードを入力します。

        % vncviewer tama:0
        vncviewer: VNC server supports protocol version 3.3 (viewer 3.3)
        Password:
        vncviewer: VNC authentication succeeded
        vncviewer: Desktop name "hogehoge"
        vncviewer: Connected to VNC server, using protocol version 3.3
        vncviewer: VNC server default format:
        8 bits per pixel.
        Uses a colour map (not true colour).
        Using default colormap and translating to BGR233
        Creating window depth 8, visualid 0x22 colormap 0x21
        %

      4. ほれ ! 動いたぞ
        ここで間違えて Windows を終了したりすると、本当にサーバー側の Windows が終了しちゃいますので注意しましょう。:-p

      5. クライアント側の終了
        ウィンドウの [ 終了 ] でいいんじゃないかな ? だけどこれだとサーバー側 ( この場合 Windows 側 ) は終わってませんので注意しましょ。

      6. サーバー側の終了
        Windows の [ タスクバー ] に VNC がいるので、メニューを出して [ Kill All Client ] するとクライアントで起動したものはちゃんと死にます。
        [ Close VNC ] で VNC サーバーを終了させます。

    • X Window の画面を Windows に投影

      1. Solaris でインストールしたディレクトリ ( /usr/local/bin など ) にパスを通して OpenWindows / CDE の環境のコマンドツールなどで、 vncserver と入力しサーバーを起動します。
        初回の起動時はパスワードを要求されて入力すると終わっちゃいます。 ( パスワードは 6 文字以上のようですね。 )
        こりずにもう一度 vncserver と入力して起動しましょう。次回からは 1 回でいいですね。
        vncserver は Perl script ですから、 Perl の実行環境が必要です。

        % vncserver
        You will require a password to access your desktops.
        Password:
        Verify:
        % vncserver
        New 'X' desktop is pochi:1
        Creating default startup script /home/shiro/.vnc/xstartup
        Staring applications sepcified in /home/shiro/.vnc/xstartup
        Log file is /home/shiro/.vnc/pochi:1.log
        %
        ディスプレイ番号を指定して起動する場合は、
        % vncserver :3
        のように起動してくだされ。

      2. Windows の方へ移って、[ スタート ]-[ プログラム ]-[Vnc]-[VNC viewer] で起動します。

      3. [Connection details] なんてウィンドウが開きますので、[ ホスト名:ディスプレイ番号 ] を入れて [OK] してみましょう。[ pochi:3 ] なんて感じね。
        [VNC Authentication] なんてウィンドウが開きますので、サーバーで入力したパスワードを入力し [OK] しましょう。

      4. ほれ ! 動いたぞ
        たぶん twm で xterm が動いたのではないかと ... チガウ ?

      5. クライアント側の終了
        Windows のアプリケーションとして動いているようなので、普通に終わればいいんじゃないかなぁ。でも、これだとやっぱり、サーバー側のプロセスとして動いたままなので注意しましょうね。もう一度接続すると、さっきの続きになっていたりしますもん。

      6. サーバー側の終了
        vncserver のオプションでプロセスを kill します。殺したい vnc のディスプレイ番号を思い出して、

        % vncserver -kill :3
        killing process ID 7738
        なんてメッセージを出してプロセスを殺してしまいます。

      7. vncserver のおまけ
        % vncserver -help なんてするとヘルプが表示されます。
        サーバー起動時の設定ファイルは ~/.vnc に下にあります。~/.vnc/xstartup を編集して X Window の環境を設定できるようですね。
        だから初期状態に戻したい時は rm -r ~/.vnc ですね。

    • Web ブラウザに投影

      1. vncserver の起動は、上記の他の方法と同じです。起動しといてください。

      2. クライアント側で Java をサポートしたブラウザ ( Netscape Navigaor など ) を起動しましょ。

      3. URL の入力で vncserver の動いているホスト名、ディスプレイ番号をもとに指定します。
        vncserver のポートは 5800 がデフォルトになっています。で、ディスプレイ番号をポート番号に足したものが使用ポートになります。
        例えば、ディスプレイ番号が 2 で vncserver を起動していれば、ポート番号は、 5800 + 2 = 5802 になります。いやぁ~、これで悩んだ悩んだ。 5800 に telnet かけたりして七転八倒しちゃった。わかれば簡単な事なのに ...
        ホスト名 : pochi 、 ディスプレイ番号 3 の時は、

        http://pochi:5803/
        になります。

      4. vncserver の Web page が開いてパスワードの入力になりますので、入れてね。

      5. うわぁ !! ブラウザに表示されちゃった。

      6. クライアント側の終了
        ブラウザの画面に [Disconnect] なんてボタンがあるので、これを押すと接続が切られます。だけど、サーバー側でのプロセスは終了してないので注意しましょうね。もう一度接続すると、さっきの続きになっていたりしますもん。

      7. サーバー側の終了
        他の方法と同じです。悩まなくていいでしょ ?

  9. ちょっと疑問

    vncserver -kill :1 なんかで vnc を終了して、 vnc 再起動で同じディスプレイ番号を指定しても使えないですよね。しばらく待てばいいのですが。このタイミングはなんなんでしょうかねぇ。


[ Solaris 料理コーナー ] [ トップページ ]

BEKKOAME//INTERNET で公開していたページです。
作成: 1998 年 10 月 20 日~ Copyright (C) 1998 Katsauki Shimizu <katsuaki-s @_nifty.com> All rights reserved.

access counter