我的要求是能够将我的 VNC 客户端连接到一个运行 OpenSolaris 2008.05 的系统,并且能够以超级用户的身份进行登录。我现在已经在一个运行原始 OpenSolaris 2008.05 二进制分发版的系统上成功实现此目标,运行了一个到 snv_91 的之后,在一个运行 OpenSolaris 2008.05 的系统上也实现了此目标。
1. 检查是否安装了 VNC 服务器
VNC 服务器应该已经安装,因为它是 2008.05 二进制分发版的一部分,但我仍然进行了检查。
# pkg info SUNWxvnc
          Name: SUNWxvnc
       Summary: X11/VNC server
         State: Installed
     Authority: opensolaris.org (preferred)
       Version: 4.1.2
 Build Release: 5.11
        Branch: 0.91
Packaging Date: Fri Jun 13 17:49:25 2008
          Size: 6.3 MB
          FMRI: pkg:/SUNWxvnc@4.1.2,5.11-0.91:20080613T174925Z
2. 将此行代码添加到 /etc/services
vnc-server      5900/tcp                        # Xvnc
3. 按照以下方法编辑 /etc/X11/gdm/custom.conf
[xdmcp]
Enable=true
[security]
DisallowTCP=false
AllowRoot=true
AllowRemoteRoot=true
4. 启用这些服务
# svcadm enable xvnc-inetd
# svcs xvnc-inetd
STATE          STIME    FMRI
online         16:22:30 svc:/application/x11/xvnc-inetd:default
# svcadm enable gdm
# svcs gdm
STATE          STIME    FMRI
online         14:43:13 svc:/application/graphical-login/gdm:default
5. 使用 VNC 客户端连接到显示器
您现在应该能够连接到 <hostname>:5900,而且您应该会看到 gdm 登录屏幕。
如果您不能够进行连接,尝试停止并启动这些服务:
# svcadm disable xvnc-inetd gdm
# svcadm enable xvnc-inetd gdm
有一点使我不太满意:当我关闭 VNC 客户端时,与显示器相关联的登录会话似乎退出了。我使用 Solaris 10 和 Solaris Express 时都没有遇到这种现象,它们使用的是 dtlogin,而不是 gdm。如果我找到此问题的解决方案,我会将其添加到本文中。

