*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(免責事項)