你的位置:
问答吧
-> Linux 软件
-> 问题详情
我的VNC远程桌面黑屏,一个小正方形光标,奇怪!
有装过vnc的大侠么,我的进入后黑屏。从Windows的VNC Viewer进入Linux,只是黑屏,光标是个小方块 .
要如何设定阿?我用rpm安装vncserver后,将.vnc/xstartup内的内容注释掉,写上 gnome & ,后来改为startkde & 都不行。
从Windows的Run VNC Viewer输入服务器IP:5900(只有5900可以进入,其他的拒绝访问)进入就是黑屏,只有一个小正方形的光标。
[root@local ~]# vncserver
New 'local:1 (root)' desktop is local:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/local:1.log
[root@local ~]#
查看root/.vnc/local:1.log的内容:
[root@local .vnc]# vi local:1.log
Couldn't open RGB_DB '/usr/X11R6/lib/X11/rgb'
Xvnc version 4.0 - built Jun 14 2004 12:01:28
Underlying X server release 40201000, The XFree86 Project, Inc
Fri May 18 11:10:09 2007
vncext: VNC extension running!
vncext: Listening for VNC connections on port 5901
vncext: Listening for HTTP connections on port 5801
vncext: created VNC server for screen 0
error opening security policy file /usr/X11R6/lib/X11/xserver/SecurityPolicy
Could not init font path element /usr/X11R6/lib/X11/fonts/misc/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/Speedo/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/Type1/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/CID/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/75dpi/, removing from list!
郁闷阿,搞了两周了都没搞出来!
作者: baojian2002125
发布时间: 2007-05-18
你要设置 vncserver 的启动文件,
应该是在
~/.vnc/xstartup
作者: 晨想
发布时间: 2007-05-18
你的很奇怪呢, 你试试用它的默认的会怎么样?
我用的是realvnc 版本4.1.1(比较老了,而且还听说有漏洞,不过debian一直没更新). 一直都没有问题.
vnc默认的端口是59xx. 按理说第一个server是5901,第二个是5902
而且你的log里也说了是听5901
引用:
vncext: Listening for VNC connections on port 5901所以你连5900肯定是有问题的.
你可以sudo netstat -tap 看一下有没有类似这样的东西
代码:
tcp 0 0 *:5901 *:* LISTEN 6527/Xvnc4我以前用inetd的方式连接,在/etc/inetd.conf里加上
代码:
localhost:5951 stream tcp wait lastart /usr/bin/Xvnc Xvnc -inetd -query localhost -once securitytypes=nonelocalhost:5951表示只听从本机的连接. 这样强制先用ssh连上去
代码:
ssh user@host -L 5951:localhost:5951 -X然后vncviewer :51才能连上.
wait表示关掉viewer时不退出, 直到logout.
/usr/bin/Xvnc是Xvnc的路径.
Xvnc -inetd -query localhost -once securitytypes=none 这是运行的参数.
securitytypes=none 表示不验证密码. (因为上面已经限制了它只听localhost的端口)
说明:inetd方式要求gmd/xdm/kdm启动XDMCP
我现在用的最多的是直接连到:0上
我在/etc/gdm/Init/Default里加上
代码:
x0vncserver -localhost -PasswordFile /home/lastart/.vnc/passwd &这样每次启动gdm我就可以连上,-localhost 参数限制只能在本机上连. 不足是不能启动vncconfig
而且realvnc早就内建了一个叫vnc的模块,在xorg.conf里调用就可以直接连上:0.
详细见http://www.realvnc.com/products/free/4.1/x0.html
但是我测试觉得不稳定. 经常一退出viewer,那边的X就重启, 所以才用了上面的方法.
更详细的参见man Xvnc/vncserver
作者: lastart
发布时间: 2007-05-19
呵呵,谢谢关注!我现在察看监听情况如下:
[root@local ~]# sudo netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 dns1:2208 *:* LISTEN 2240/hpiod
tcp 0 0 *:swat *:* LISTEN 2274/xinetd
tcp 0 0 *:netbios-ssn *:* LISTEN 19004/smbd
tcp 0 0 *:5900 *:* LISTEN 2796/vino-server
tcp 0 0 *:sunrpc *:* LISTEN 2047/portmap
tcp 0 0 *:976 *:* LISTEN 2066/rpc.statd
tcp 0 0 *:ftp *:* LISTEN 2285/vsftpd
tcp 0 0 dns1:ipp *:* LISTEN 6467/cupsd
tcp 0 0 dns1:smtp *:* LISTEN 2303/sendmail: acce
tcp 0 0 *:microsoft-ds *:* LISTEN 19004/smbd
tcp 13851 0 local:5900 192.168.1.220:aal-lm CLOSE_WAIT 2796/vino-server
tcp 1303 0 local:5900 192.168.1.220
n-requester CLOSE_WAIT 2796/vino-server
tcp 1 0 local:5900 192.168.1.22:inova-ip-disco ESTABLISHED 2796/vino-server
tcp 2482 0 local:5900 192.168.1.220:down CLOSE_WAIT 2796/vino-server
tcp 1141 0 local:5900 192.168.1.220:global-dtserv CLOSE_WAIT 2796/vino-server
tcp 1 0 local:38095 opal.cat.pdx.edu:http CLOSE_WAIT 2416/python
tcp 8557 0 local:5900 192.168.1.220:starschool CLOSE_WAIT 2796/vino-server
tcp 1795 0 local:5900 192.168.1.220:ardusuni CLOSE_WAIT 2796/vino-server
tcp 6503 0 local:5900 192.168.1.220:icg-iprelay CLOSE_WAIT 2796/vino-server
tcp 1189 0 local:5900 192.168.1.220:fc-ser CLOSE_WAIT 2796/vino-server
tcp 0 0 *:ssh *:* LISTEN 2264/sshd
tcp 0 0 localhost.localdomain:ipp *:* LISTEN 6467/cupsd
tcp 0 0 local:ssh ::ffff:192.168.1.220:wafs ESTABLISHED 16602/1
[root@local ~]#
作者: baojian2002125
发布时间: 2007-05-22
我的Linux主机在那边机房里,也没有显示器,所以我也想直接连:0。怎么配置呢?
我用root用户进去的(可以么?),然后Vi到/etc/gdm/Init/Default内:
[root@local Init]# vi Default
#!/bin/sh
# Stolen from the debian kdm setup, aren't I sneaky
# Plus a lot of fun stuff added
# -George
PATH=/usr/bin:$PATH
OLD_IFS=$IFS
gdmwhich () {
COMMAND="$1"
OUTPUT=
IFS=:
for dir in $PATH
do
if test -x "$dir/$COMMAND" ; then
if test "x$OUTPUT" = "x" ; then
OUTPUT="$dir/$COMMAND"
fi
fi
done
IFS=$OLD_IFS
echo "$OUTPUT"
}
sysresources=/etc/X11/Xresources
# merge in defaults
if [ -f "$sysresources" ]; then
xrdb -merge "$sysresources"
fi
sysmodmap=/etc/X11/Xmodmap
XMODMAP=`gdmwhich xmodmap`
if [ x$XMODMAP != x ] ; then
if [ x$GDM_PARENT_DISPLAY = x ]; then
if [ -f $sysmodmap ]; then
$XMODMAP $sysmodmap
fi
else
( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $XMODMAP -pke ) | $XMODMAP -
fi
#
# Switch Sun's Alt and Meta mod mappings
#
UNAME=`gdmwhich uname`
PROCESSOR=`$UNAME -p`
if [ x$PROCESSOR = xsparc ]; then
if $XMODMAP | /usr/bin/grep mod4 | /usr/bin/grep Alt > /dev/null 2>/dev/null
then
$XMODMAP -e "clear Mod1" \
-e "clear Mod4" \
-e "add Mod1 = Alt_L" \
-e "add Mod1 = Alt_R" \
-e "add Mod4 = Meta_L" \
-e "add Mod4 = Meta_R"
fi
fi
fi
SETXKBMAP=`gdmwhich setxkbmap`
if [ x$SETXKBMAP != x ] ; then
# FIXME: is this all right? Is this completely on crack?
# What this does is move the xkb configuration from the GDM_PARENT_DISPLAY
# FIXME: This should be done in code. Or there must be an easier way ...
if [ -n "$GDM_PARENT_DISPLAY" ]; then
XKBSETUP=`( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $SETXKBMAP -v )`
if [ -n "$XKBSETUP" ]; then
XKBKEYMAP=`echo "$XKBSETUP" | grep '^keymap' | awk '{ print $2 }'`
XKBTYPES=`echo "$XKBSETUP" | grep '^types' | awk '{ print $2 }'`
XKBCOMPAT=`echo "$XKBSETUP" | grep '^compat' | awk '{ print $2 }'`
XKBSYMBOLS=`echo "$XKBSETUP" | grep '^symbols' | awk '{ print $2 }'`
XKBGEOMETRY=`echo "$XKBSETUP" | grep '^geometry' | awk '{ print $2 }'`
if [ -n "$XKBKEYMAP" ]; then
$SETXKBMAP -keymap "$XKBKEYMAP"
elif [ -n "$XKBTYPES" -a -n "$XKBCOMPAT" -a -n "$XKBSYMBOLS" -a -n "$XKBGEOMETRY" ]; then
$SETXKBMAP -types "$XKBTYPES" -compat "$XKBCOMPAT" -symbols "$XKBSYMBOLS" -geometry "$XKBGEOMETRY"
elif [ -n "$XKBTYPES" -a -n "$XKBCOMPAT" -a -n "$XKBSYMBOLS" ]; then
$SETXKBMAP -types "$XKBTYPES" -compat "$XKBCOMPAT" -symbols "$XKBSYMBOLS"
elif [ -n "$XKBSYMBOLS" ]; then
$SETXKBMAP -symbols "$XKBSYMBOLS"
fi
fi
fi
fi
exit 0
好长哦!按仁兄说的,加一句(什么我忘了:(),要加到那个位置呢?
作者: baojian2002125
发布时间: 2007-05-22
加在exit 0前面就可以了.
你已经启动了vino可能会冲突. 两种应该只能用一种
作者: lastart
发布时间: 2007-05-22
引用:
作者: lastart
加在exit 0前面就可以了.
你已经启动了vino可能会冲突. 两种应该只能用一种那应该怎样去掉vino呢?谢谢!
作者: baojian2002125
发布时间: 2007-05-22
如何解答呢?多多评论以下,对错都是个启发啊!
作者: baojian2002125
发布时间: 2007-05-28
你可以把vino包卸掉或或者只把vino文件改名/删除. 当然也可以选择把vnc卸掉. 设置一下vino你估计没设置过吧? man vino看一下.
作者: lastart
发布时间: 2007-05-29