*VNC Serverのインストール手順
*VNC Serverのインストール手順 [#hf7a5060]
#navi(OpenBlockS)

OpenBlockS に VNC Server を入れる手順をメモ書きしたもの

**目次
**目次 [#jf63421c]
#contents

**リンク
**リンク [#mc02b984]
-[[RealVNC:http://www.realvnc.com/]] - 配布元
-[[VNCの設定:http://www.dream-seed.com/linux/vnc.html]] - TightVNCを使って inetd, wdm 経由でログインするインストール方法

**VNC server (4.0)
**VNC server (4.0) [#fef8ab84]

TrueType や GTK 等を使わないのであれば、VNC 3.3で十分なのだが、
何となく思い立って 4.0 にしてみた。
先に XFree86を入れておく必要がある。
buildに2.5時間程度かかるので注意。

 cd ~/src/01distfiles
 mkdir vnc4 ; cd vnc4
 wget ftp://ftp.jp.debian.org/debian/pool/main/v/vnc4/vnc4_4.0.orig.tar.gz
 wget ftp://ftp.jp.debian.org/debian/pool/main/v/vnc4/vnc4_4.0-5.diff.gz
 wget ftp://ftp.jp.debian.org/debian/pool/main/v/vnc4/vnc4_4.0-5.dsc
 cd ~/src
 tar xzvf 01distfiles/vnc4/vnc4_4.0.orig.tar.gz
 mv vnc4-4.0.orig vnc4-4.0-5
 cd vnc4-4.0-5
 zcat ~/src/01distfiles/vnc4/vnc4_4.0-5.diff.gz | patch -p1
 ./configure --with-installed-zlib
 make
 chmod 755 debian/buildX.sh
 debian/buildX.sh
 mkdir -p ~/src/02localpkg/vnc4/usr/local/bin
 mkdir -p ~/src/02localpkg/vnc4/usr/local/man/man1
 mkdir -p ~/src/02localpkg/vnc4/usr/local/vnc/classes
 ./vncinstall ~/src/02localpkg/vnc4/usr/local/bin
 cp -p java/* ~/src/02localpkg/vnc4/usr/local/vnc/classes
 cd ~/src/02localpkg/vnc4
 tar czvf vnc4_4.0-5-ssdlinux-1.tgz --owner=root --group=wheel usr
 rm -rf usr
 sudo tar xzvpf vnc4_4.0-5-ssdlinux-1.tgz -C /

とりあえずうまく動いているようだ。
clipboardの転送は、vncconfig を立ち上げておかないと有効に
ならないので注意。

http://minig:5801/ のようにアクセスすると、Xvncごと落ちて
しまうようだ。この機能は使っていないので、原因を追究していない。

しばらく動かしていると、勝手に落ちてしまうようだ。
新しいファーム(HDDイメージ)の乗ったOpenBlockS266では、
問題ないようなので、gcc++かlibc++のバージョンの違いなのかもしれない。
古い環境では、VNC 3.3に戻した。

FontPathにモナーフォントを加えるため、以下を /etc/X11/XF86Config-4
として置いておくと FontPath を見てくれる。

 Section "Files"
   RgbPath       "/usr/X11R6/lib/X11/rgb"
   FontPath      "/usr/X11R6/lib/X11/fonts/Type1/"
   FontPath      "/usr/X11R6/lib/X11/fonts/Speedo/"
   FontPath      "/usr/X11R6/lib/X11/fonts/misc/"
   FontPath      "/usr/X11R6/lib/X11/fonts/75dpi/"
   FontPath      "/usr/X11R6/lib/X11/fonts/100dpi/"
   FontPath      "/usr/X11R6/lib/X11/fonts/local/"
 EndSection

FontPathが、ちゃんと設定されているかどうかは xset q で分かる。

***タイムアウト
***タイムアウト [#j32deb19]
気が付くと、勝手にviewerと切断されていることがある。
~/.vnc/minig\:1/log を見ると、以下のようなログが残っているので、
timeoutによる自動切断と思われるが、VNC 3.3や他のサーバーなどでは
勝手に切れることは無いようなので、誤ってタイムアウトが設定されている
ようだが詳細は不明。

 Connections: closed: 192.168.0.80::3391 (Idle timeout)
 SMsgWriter:  framebuffer updates 27
 SMsgWriter:    copyRect rects 5, bytes 80
 SMsgWriter:    hextile rects 2, bytes 136284
 SMsgWriter:    ZRLE rects 166, bytes 4363
 SMsgWriter:    raw bytes equivalent 1616666, compression ratio 11.494493

接続時の時刻と切断時の時刻の差を見ると、1時間で切っているように思われる。
man Xvnc に書いてあるが、-IdleTimeout seconds オプションで指定するように
なっていて、デフォルトが 3600秒(1時間)となっている。

***xinetdによる起動
結局以下の alias を使って Xvnc を立ち上げることにした。
 alias vncsv='vncserver :1 -depth 16 -IdleTimeout 0'

***xinetdによる起動 [#t12c2e00]
man Xvnc に書いてあるが、gdmを通してloginから接続できるようにする。

**VNC server (3.3)
**VNC server (3.3) [#j3dd5578]
vnc server が動けば、X Server (cygwin) が動かせないような非力な PC でも、複数のコンソールを使って操作できたり、コンパイルなどの時間のかかる処理中にPCを切ったりできる。当然ながら powerpc-ssdlinux のバイナリ・パッケージは用意されていないので、ソースからコンパイルを試みる。オリジナルのソースをそのままコンパイルすると、Xvnc の make World で、以下のようなエラーで止まった。

 cd ./config/imake && make -f Makefile.proto all 
 make[2]: Entering directory `/home/otsuka/src/vnc-3.3.7-unixsrc/Xvnc/config/imake'
 gcc -O -ansi -pedantic  -I../../include -I../../exports/include/X11 (以後省略)
 gcc: cannot specify -o with -c or -S and multiple compilations
 make[2]: *** [imake.o] Error 1
 make[2]: Leaving directory `/home/otsuka/src/vnc-3.3.7-unixsrc/Xvnc/config/imake'
 make[1]: *** [imake.bootstrap] Error 2
 make[1]: Leaving directory `/home/otsuka/src/vnc-3.3.7-unixsrc/Xvnc'
 make: *** [World] Error 2

vnc-list(メーリングリスト)の検索で、同様の問題があるようだが、簡単な解決方法は無いようだ。

簡単な修正ではコンパイルが通りそうもないので、Red Hat の SRPM を取り寄せて調べてみたら、vnc 3.3.3r2 をベースに18ものパッチを当てて組み立てられていた。パッチを眺めてみたら、オリジナルのコードは、Intel 以外の環境ではコンパイルしたことが無いような様子。

PowerPC版がある、Debian のパッケージから vncserver 3.3.7-1 の patch を取り寄せてコンパイルしてみることにする。

 $ mkdir ~/src/01distfiles/vnc
 $ cd ~/src/01distfiles/vnc
 $ wget http://www.realvnc.com/dist/vnc-3.3.7-unixsrc.tar.gz
 $ mkdir debian-package; cd debian-package
 $ wget http://ftp.debian.org/debian/pool/main/v/vnc/vnc_3.3.7-1.diff.gz
 $ cd ../../..
 $ tar xzvf 01distfiles/vnc/vnc-3.3.7-unixsrc.tar.gz
 $ cd vnc-3.3.7-unixsrc
 $ zcat ../01distfiles/vnc/debian-package/vnc_3.3.7-1.diff.gz | patch -p1
 $ ./configure --with-installed-zlib
 $ make
 $ cd Xvnc
 $ make World

コンパイルは成功するようだ。

 # cd ~/src/vnc-3.3.7-unixsrc
 # ./vncinstall /usr/local/bin /usr/local/man
 # mkdir -p /usr/local/vnc/classes
 # cp classes/* /usr/local/vnc/classes
 # cd /usr/lib
 # ln -s ../X11R6/lib/X11 .

実行に先立って、パスワードを設定

 $ vncpasswd
 $ cat <<EOF >.vnc/xstartup
 #!/bin/sh
 exec /usr/X11R6/bin/xterm -ls
 EOF
 $ vncserver -depth 16 -geometry 1280x1024 :1

あとは、Windows 等の vncviewer から 'ホスト名:1' に接続すればよい。

#include(免責事項)

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS