在 Fedora Core 10 上使用 gdm 运行 vncserver
Fedora Core 10 引入了几个新特性,并且像所有新版本一样,也带来了一些新的挫折。在本操作指南中,我将介绍启动并运行 vncserver
所需的步骤,以便您可以连接到基于 GNOME 的桌面。
首先,Core 10 比以前任何版本的 Fedora 操作系统都更安全。有多安全?它默认安装了 iptables 和 SELinux,并且不给您选择不安装它们或最初关闭它们的选项。如果您不熟悉这些,尤其是 SELinux,您应该阅读相关资料。自从我上次使用 SELinux 已经十年了,所以我需要重新学习...呃...维基。
其次,vncserver
不默认安装,twm
或 xterm
应用程序也不安装,而这些是 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,您的选择——我同样擅长使用两者)。
在过去,只需注释掉 xterm
和 twm &
,并将它们替换为 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 相关的显示错误)。