在 Fedora Core 10 上使用 gdm 运行 vncserver

作者:David Lane

Fedora Core 10 引入了几个新特性,并且像所有新版本一样,也带来了一些新的挫折。在本操作指南中,我将介绍启动并运行 vncserver 所需的步骤,以便您可以连接到基于 GNOME 的桌面。

首先,Core 10 比以前任何版本的 Fedora 操作系统都更安全。有多安全?它默认安装了 iptablesSELinux,并且不给您选择安装它们或最初关闭它们的选项。如果您不熟悉这些,尤其是 SELinux,您应该阅读相关资料。自从我上次使用 SELinux 已经十年了,所以我需要重新学习...呃...维基。

其次,vncserver 默认安装,twmxterm 应用程序也不安装,而这些是 vncserver 的默认配置所使用的。

所以,首先,安装软件包。我执行了一个简单的 yum install vncserver xterm twm

然后,运行 vncserver(对于初始连接,我总是采用默认设置,只是为了确保它正确安装)


[admin@core ~]$ vncserver

您将需要密码才能访问您的桌面。

密码
验证
xauth: 创建新的授权文件 /home/admin/.Xauthority

新的 'core.lab.foo.bar:1 (admin)' 桌面是 core.lab.foo.bar:1

创建默认启动脚本 /home/admin/.vnc/xstartup
正在启动 /home/admin/.vnc/xstartup 中指定的应用程序
日志文件是 /home/admin/.vnc/core.lab.foo.bar:1.log

如果您查看 .vnc 目录,您会找到 xstartup 脚本。在我的例子中,它包含以下内容


[admin@core .vnc]$ cat xstartup
#!/bin/sh

vncconfig -iconic &
# 取消注释以下两行以获得正常桌面
# 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
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP 桌面" &
twm &

启动您的 VNC 查看器(我在 Windows 机器上使用 Real VNC),然后...糟糕,无法连接——还记得关于防火墙的那一点吗?您需要将端口添加到您的 iptables 中

iptables -A INPUT -p tcp --destination-port 5901 --source x.x.x.x/xx -j ACCEPT

(其中 xxx.xxx.xxx.xxx/xx 是允许的 CIDR 地址范围,例如 192.168.0.0/24)。现在我可以连接了,但是 twm 不是工具箱中最有启发性的窗口管理器,特别是自从我花时间将所有那些非常酷的小部件和游戏安装到 GNOME(和 KDE,您的选择——我同样擅长使用两者)。

在过去,只需注释掉 xtermtwm &,并将它们替换为 gnome-sessions &(或者最近的 gdm &)即可。如果您这样做,嗯,您会得到一些有趣的错误


[admin@core .vnc]$ cat core.lab.foo.bar:1.log

Xvnc Free Edition 4.1.3
版权所有 (C) 2002-2008 RealVNC Ltd.
有关 VNC 的信息,请访问 http://www.realvnc.com。
底层 X 服务器版本 10503000,

2009 年 2 月 25 日 星期三 08:52:53
vncext: VNC 扩展正在运行!
vncext: 正在端口 5901 上监听 VNC 连接
vncext: 为屏幕 0 创建 VNC 服务器

** (gdm-binary:3164): 警告 **: 无法获取 org.gnome.DisplayManager: 连接 ":1.47" 由于配置文件中的安全策略,不允许拥有服务 "org.gnome.DisplayManager"

** (gdm-binary:3164): 警告 **: 无法获取名称;正在退出

而且,如果您连接,您会得到一个可爱的灰色屏幕和 xterm 窗口——这与您期望的完全不同。

现在,也许这些年来我一直设置错误,但是如果您按照 xstartup 中的指示,并取消注释正常桌面的行


[admin@core .vnc]$ cat xstartup
#!/bin/sh

vncconfig -iconic &
# 取消注释以下两行以获得正常桌面
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
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP 桌面" &
#twm &

您很快就可以启动并运行(尽管您仍然可能在日志文件中获得一些与 X 相关的显示错误)。

加载 Disqus 评论