Red Hat Enterprise Linux Server 5.3 (Tikanga)上使用VNC时出现黑屏和X光标的问题

20

使用vncserver :1命令启动VNC服务器,客户端可以连接,但是只显示黑屏和X光标。

.vnc/xstartup文件的内容如下:

#!/bin/sh

# Uncomment the following two lines for normal desktop:
 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" &
twm &

这个有问题吗?


运行 yum install gnome 命令即可。 - Raktim Biswas
6个回答

17

这种情况发生过两次,我已经成功修复了两次。很可能只需要第二步和第三步,但一旦我找到有效的方法,我就不愿意改变...

  1. .vnc/xstartup 文件的所有者是 root,所以我把它的所有权改为 user:
    chown user /home/user/.vnc/xstartup
  2. .vnc/xstartup 文件是 664 (-rw-rw-r--.) 的 - 我假设 vnc 使用 'other' 权限进行连接和允许交互,因此我更改了权限为 755:
    chmod 755 /home/user/.vnc/xstartup
  3. 重新启动 vncserver 守护进程:
    service vncserver stop; service vncserver start

对我来说,第二步已经足够了,不需要第三步。 - John_West
第三步需要小心使用,因为它会断开其他用户与任何正在运行的VNC会话的连接。 - Paul

4

我遇到了同样的问题,通过将最后一行注释掉,并在/home//.vnc/xstartup文件中添加gnome一行来解决了该问题,如下所示:

#!/bin/sh

# Uncomment the following two lines for normal desktop:
# 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" &
#twm &
gnome-session&

注意:我的GUI会话处理程序是gnome,所以它可以正常工作。

4

我在新的Redhat Linux 6.4上遇到了同样的问题。通过以下命令安装基本桌面即可解决问题:

yum groupinstall basic-desktop

1
这个方法在RHEL 6.7上对我有效,但它会安装很多东西,因此不应该是高性能服务器的首选解决方案。 - emery

2

除了其他答案之外,我还需要使用以下脚本修改我的xstartup脚本:

#!/bin/sh

# Change "GNOME" to "KDE" for a KDE desktop, or "" for a generic desktop
MODE=""

#Uncommment this line if using Gnome and your keyboard mappings are incorrect.
#export XKL_XMODMAP_DISABLE=1

# Load X resources (if any)
if [ -e "$HOME/.Xresources" ]
then
xrdb "$HOME/.Xresources"
fi

# Try a GNOME session, or fall back to KDE
if [ "GNOME" = "$MODE" ]
then
if which gnome-session >/dev/null
then
gnome-session --session=ubuntu-2d &
else
MODE="KDE"
fi
fi

# Try a KDE session, or fall back to generic
if [ "KDE" = "$MODE" ]
then
if which startkde >/dev/null
then
startkde &
else
MODE=""
fi
fi

# Run a generic session
if [ -z "$MODE" ]
then
xsetroot -solid grey
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
startx &
fi

我使用了这个网站帮助我解决问题:http://ubuntuforums.org/archive/index.php/t-2131958.html。但是因为我使用的是基于CentOS的Rocks Cluster发行版,所以我需要对其进行适应。


0
尝试删除xstarup文件(/home/.vnc/xstartup),并重新输入VNC密码以创建新的xstartup文件,然后重启VNC服务器服务: sudo rm xstartup vncpasswd 验证密码 sudo service vncserver restart

-2
你可能需要检查一下你想在上面使用VNC的服务器是否有足够的内存等资源。我曾经在我的服务器上开着一个内存泄漏的Firefox,这就是VNC无法正常工作的原因。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接