As Good A Place As Any
Tim Thomas's Blog
在 Solaris 10 5/08 和 Solaris Express (Nevada) 中配置 VNC 服务器的脚本
有一段时间我使用脚本来配置 Solaris Express (Nevada) 的 VNC 服务器显示,我发现这段脚本也适用于 Solaris 10 5/08 (Solaris 10 Update 5),因为它也包含 Xvnc。
我总是安装完整的 Solaris。如果您不是这样安装的,那么您的系统上可能没有安装 Xvnc。很容易检查是否安装了 Xvnc:
# pkginfo | grep xvnc
system SUNWxvnc X11/VNC server
在完成 OS 安装之后运行下面的脚本。该脚本设置两个 VNC 显示,您使用一个 VNC 客户端以 <hostname>:1 和 <hostname>:2 的形式连接它们。第二个显示是共享的。
#!/bin/sh
#
# config_Xvnc_s10+snv.sh
#
# Run this script once after OS installation is completed.
#
# This has been tested with Solaris 10 5/08 and Solaris Express (Nevada) b87 onwards
#
#add vnc display 1
svccfg -s application/x11/x11-server add display1
svccfg -s application/x11/x11-server:display1 addpg options application
svccfg -s application/x11/x11-server:display1 addpropvalue options/server astring: "/usr/X11/bin/Xvnc"
svccfg -s application/x11/x11-server:display1 addpropvalue options/server_args astring: '"SecurityTypes=None"'
#add vnc display 2, which is shared
svccfg -s application/x11/x11-server add display2
svccfg -s application/x11/x11-server:display2 addpg options application
svccfg -s application/x11/x11-server:display2 addpropvalue options/server astring: "/usr/X11/bin/Xvnc"
svccfg -s application/x11/x11-server:display2 addpropvalue options/server_args astring: '"SecurityTypes=None"'
svccfg -s application/x11/x11-server:display2 addpropvalue options/server_args astring: '"-alwaysshared"'
# Configure dtlogin to start it
if [ ! -d /etc/dt/config ] ; then
mkdir -p /etc/dt/config
fi
if [ ! -f /etc/dt/config/Xservers ] ; then
cp /usr/dt/config/Xservers /etc/dt/config/Xservers
fi
echo " :1 Local local_uid@none root /usr/X11/bin/Xserver :1" >> /etc/dt/config/Xservers
echo " :2 Local local_uid@none root /usr/X11/bin/Xserver :2" >> /etc/dt/config/Xservers
pkill -HUP dtlogin
#End
断开 VNC 客户端时仍会继续显示,因此您可以在以后的某个时刻返回到原来的会话,所有的窗口和应用程序都会与您离开该会话时的状态一模一样。您暂停的任何作业都会继续运行。
您可以从 http://www.realvnc.com 获取 VNC 客户端软件。该软件包括一个免费版本和一个增强的个人版本,后者需要许可证。
如果您的 Solaris 10 版本比 5/08 旧,请查看我关于如何配置 VNC 的以前的博客文章。
Posted at 08:17AM Sep 16, 2008 in VNC |
一个简单的 OpenSolaris 2008.05 VNC 服务器和 GDM 配置示例
我的要求是能够将我的 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。如果我找到此问题的解决方案,我会将其添加到本文中。
Posted at 08:09AM Sep 16, 2008 in VNC |