Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

VNCサーバにアクセスするとエラー 「server closed connection unexp ectedly」

3,769 views
Skip to first unread message

cchikakoo

unread,
Dec 13, 2004, 10:17:23 AM12/13/04
to
chikakoと申します。宜しくお願い致します。

RedHat9
(192.168.2.1)
|
(192.168.2.102)
Win2k

の環境下で
RedHat9←Win2k
のVNC接続したく思ってますが成功しません。

# rpm -qa | grep vnc
vnc-server-3.3.3r2-47
vnc-3.3.3r2-47
vnc-doc-3.3.3r2-47

# cat /etc/sysconfig/vncservers | grep -v ^#
VNCSERVERS="1:root 2:user01"
VNCSERVERARGS[1]="-geometry 800x600"
VNCSERVERARGS[2]="-geometry 800x600 -depth 24"

# vncserver
として、パスワードを入力して
# vncserver -kill :1
# exit
$ vncserver
としてパスワードを入力して
$ vncserver -kill :2

# cat /root/.vnc/xstartup
#!/bin/sh
# Red Hat Linux VNC session startup script
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc

$ cat /home/user01/.vnc/xstartup
#!/bin/sh
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

として

# ps ax |grep vnc
16511 pts/1 S 0:00 grep vnc
# service vncserver status | nkf -s
Xvncは停止しています
# service vncserver start | nkf -s
VNCサーバを起動中: 1:root 2:user01 [ OK ]

ファイアウォールをすべてスルーにしてみて、
Win2k側からwin32用VNCビューワ(NSLキー対応)
http://www.vector.co.jp/soft/dl/win95/net/se324464.html
でアクセスしてみましたら、
「server closed connection unexpectedly」
となってしまいます。
サーバ側ではtcpdumpや/var/log/messageは下記のようになっています。
これは何が原因なのでしょうか?

# tcpdump -i eth0 \( src host 192.168.2.102 and dst port 5902 \) or \( dst
host 192.168.2.102 and src port 5902 \)
tcpdump: listening on eth0
20:58:18.869247 192.168.2.102.1160 > 192.168.2.1.5902: S
3828553642:3828553642(
) win 65535 <mss 1460,nop,nop,sackOK> (DF)
20:58:18.870822 192.168.2.1.5902 > 192.168.2.102.1160: S
4139950751:4139950751(
) ack 3828553643 win 5840 <mss 1460,nop,nop,sackOK> (DF)
20:58:18.872950 192.168.2.102.1160 > 192.168.2.1.5902: . ack 1 win 65535
(DF)
20:58:18.960940 192.168.2.1.5902 > 192.168.2.102.1160: F 1:1(0) ack 1 win
5840
DF)
20:58:18.963112 192.168.2.102.1160 > 192.168.2.1.5902: . ack 2 win 65535
(DF)
20:58:23.130288 192.168.2.102.1160 > 192.168.2.1.5902: F 1:1(0) ack 2 win
65535
(DF)
20:58:23.131835 192.168.2.1.5902 > 192.168.2.102.1160: . ack 2 win 5840 (DF)

# tail -f /var/log/messages | grep 5902
Dec 12 20:59:16 rh9 kernel: eth0 Inbound Packet : IN=eth0 OUT=
MAC=00:07:40:e3:8a
:55:00:30:1b:29:90:c3:08:00 SRC=192.168.2.102 DST=192.168.2.1 LEN=48
TOS=0x00 PR
EC=0x00 TTL=128 ID=50323 DF PROTO=TCP SPT=1161 DPT=5902 WINDOW=65535
RES=0x00 SY
N URGP=0
Dec 12 20:59:16 rh9 kernel: eth0 Outbound Packet : IN= OUT=eth0
SRC=192.168.2.1 D
ST=192.168.2.102 LEN=48 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=5902
DPT
=1161 WINDOW=5840 RES=0x00 ACK SYN URGP=0
Dec 12 20:59:16 rh9 kernel: eth0 Inbound Packet : IN=eth0 OUT=
MAC=00:07:40:e3:8a
:55:00:30:1b:29:90:c3:08:00 SRC=192.168.2.102 DST=192.168.2.1 LEN=40
TOS=0x00 PR
EC=0x00 TTL=128 ID=50324 DF PROTO=TCP SPT=1161 DPT=5902 WINDOW=65535
RES=0x00 AC
K URGP=0
Dec 12 20:59:16 rh9 kernel: eth0 Outbound Packet : IN= OUT=eth0
SRC=192.168.2.1 D
ST=192.168.2.102 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=64128 DF PROTO=TCP
SPT=5902
DPT=1161 WINDOW=5840 RES=0x00 ACK FIN URGP=0
Dec 12 20:59:16 rh9 kernel: eth0 Inbound Packet : IN=eth0 OUT=
MAC=00:07:40:e3:8a
:55:00:30:1b:29:90:c3:08:00 SRC=192.168.2.102 DST=192.168.2.1 LEN=40
TOS=0x00 PR
EC=0x00 TTL=128 ID=50345 DF PROTO=TCP SPT=1161 DPT=5902 WINDOW=65535
RES=0x00 AC
K URGP=0
Dec 12 20:59:19 rh9 kernel: eth0 Inbound Packet : IN=eth0 OUT=
MAC=00:07:40:e3:8a
:55:00:30:1b:29:90:c3:08:00 SRC=192.168.2.102 DST=192.168.2.1 LEN=40
TOS=0x00 PR
EC=0x00 TTL=128 ID=50415 DF PROTO=TCP SPT=1161 DPT=5902 WINDOW=65535
RES=0x00 AC
K FIN URGP=0
Dec 12 20:59:19 rh9 kernel: eth0 Outbound Packet : IN= OUT=eth0
SRC=192.168.2.1 D
ST=192.168.2.102 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=5902
DPT
=1161 WINDOW=5840 RES=0x00 ACK URGP=0

L. Zhao

unread,
Dec 15, 2004, 8:32:26 AM12/15/04
to
> RedHat9←Win2k
> のVNC接続したく思ってますが成功しません。
...

再現環境がないため何とも言えませんが,TightVNCを
使ってみたらいかがでしょう.半年前実験で使っていて
特に苦労もせずできていたと覚えています.

因にRedhat9附属のVNCサーバの性能が断然低いのです.


cchikakoo

unread,
Dec 16, 2004, 2:10:35 AM12/16/04
to
chikakoと申します。どうもありがとうございます。m(_ _)m


> 再現環境がないため何とも言えませんが,TightVNCを
> 使ってみたらいかがでしょう.半年前実験で使っていて
> 特に苦労もせずできていたと覚えています.
> 因にRedhat9附属のVNCサーバの性能が断然低いのです.

わかりました。

http://jaist.dl.sourceforge.net/sourceforge/vnc-tight/tightvnc-1.2.9-1.src.rpm
をインストールしてみました。

# rpm -e vnc-server
# rpm -e vnc
# rpm -e vnc-doc
# rpmrebuild --rebuild tightvnc-1.2.9-1.src.rpm
# cd /usr/src/redhat/RPMS/i386
tightvnc-debuginfo-1.2.9-1.i386.rpm
tightvnc-server-1.2.9-1.i386.rpm
tightvnc-1.2.9-1.i386.rpm
# rpm --test -ihv tightvnc-server-1.2.9-1.i386.rpm
# rpm -ihv tightvnc-server-1.2.9-1.i386.rpm
# rpm -ihv tightvnc-1.2.9-1.i386.rpm
# rpm -ihv tightvnc-debuginfo-1.2.9-1.i386.rpm

として無事イスントールできました。そして、

# cat /root/.vnc/xstartup


#!/bin/sh
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

$ cat /home/user01/xstartup


#!/bin/sh
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

# ls -l /root/.vnc
合計 24
-rw------- 1 root root 8 12月9 02:29 passwd
-rwxr-xr-x 1 root root 316 12月16 15:21 xstartup*
-rwxr-xr-x 1 root root 104 12月 9 02:29 xstartup~*
-rw-r--r-- 1 root root 1833 12月16 14:09 rh9.dyndns.net:1.log
-rw-r--r-- 1 root root 7776 12月 9 02:31 rh9.dyndns.net:2.log

$ ls -l /home/user01/.vnc
合計 36
-rw------- 1 user01 user01 8 12月 9 02:33 passwd
-rwxr-xr-x 1 user01 user01 316 12月 9 02:49 xstartup*
-rwxr-xr-x 1 user01 user01 104 12月9 02:33 xstartup~*
-rw-rw-r-- 1 user01 user01 9030 12月12 08:33 rh9.dyndns.net:1.log
-rw-rw-r-- 1 user01 user01 5 12月 9 02:33 rh9.dyndns.net:1.pid
-rw-r--r-- 1 user01 user01 7800 12月16 14:09 rh9.dyndns.net:2.log
# service vncserver start
VNCサーバを起動 1:root vncserver: The USER environment variable is not set.
失敗

# ls -l /etc/sysconfig/vncservers
-rw-r--r-- 1 root root 570 12月12 20:16
/etc/sysconfig/vncservers

# cat /etc/sysconfig/vncservers


VNCSERVERS="1:root 2:user01"
VNCSERVERARGS[1]="-geometry 800x600"
VNCSERVERARGS[2]="-geometry 800x600 -depth 24"

# service vncserver start
VNCサーバを起動 1:root vncserver: The USER environment variable is not set.
[失敗]

# service vncserver stop
VNCサーバを停止 1:root vncserver: The USER environment variable is not set.
2:user01
Can't find file /home/user01/.vnc/rh9.dyndns.net:2.pid
You'll have to kill the Xvnc process manually

となり、起動できません。
これにはどう対処したらいいのでしょうか?
(お手数お掛けしてスイマセン)

L. Zhao

unread,
Dec 16, 2004, 9:43:03 AM12/16/04
to
こんばんは,趙と申します.

いろいろ試してみたのですが,ぼくのところはうまくいきましたよ ^o^.
なので,ご報告します.# 意外なところに原因があるのですね.

サービスを起動するコマンドとして

service vncserver [start|stop]

をお使いになっているのですが,その代わりに

/etc/init.d/vncserver [start|stop]

で(rootで)やってみてください.

# /sbin/serviceはenv -iを使ってLANGとPATH以外の環境変数を
# 全部無効にしてあるので,USERもない -- それが原因みたいです.
# ... どうしてUSER環境変数が必要なのかは知りません :-9.

cchikakoo

unread,
Dec 16, 2004, 10:34:59 PM12/16/04
to
chikakoです。

> /etc/init.d/vncserver [start|stop]
> で(rootで)やってみてください.
> # /sbin/serviceはenv -iを使ってLANGとPATH以外の環境変数を
> # 全部無効にしてあるので,USERもない -- それが原因みたいです.
> # ... どうしてUSER環境変数が必要なのかは知りません :-9.

# /etc/init.d/vncserver start


VNCサーバを起動中: 1:root 2:user01 [OK]

で上手くいきました。\(^o^)/
(感動です!!!)

お陰さまで助かりました。どうもありがとうこざいました。m(_ _)m

0 new messages