我的要求是能够将我的 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。如果我找到此问题的解决方案,我会将其添加到本文中。