分类:
2008-03-08 20:46:32
Solaris的远程桌面VNC配置
1. 启动telnet服务
#svcadm enable telnet
# svcs | grep telnet
online 20:03:09 svc:/network/telnet:default
2. 创建普通用户帐号
远程登陆不支持root登陆,所以需要创建一个普通用户,使用这个普通用户进行远程登陆,需要超级用户权限的时候,通过su命令来获得。在Solaris上,有两种方法可以增加一个用户,一个是图形界面的admintool,另一个为useradd命令,不同的图形界面使用不同的admintool,所以熟悉字符命令是最好的方法:
# useradd -d /export/home/oracle -m -s /bin/bash oracle
64 blocks
其中的-m参数表示自动创建home目录。
# passwd oracle
New Password:
Re-enter new Password:
passwd: password successfully changed for oracle
该命令为创建的用户设置一个初始化密码。
另外,userdel可以删除一个用户:
# userdel -r oracle
# ls /export/home
lost+found oracle
-r参数表示删除用户的同时,删除home目录。
启动了telnet服务,创建了远程登陆用户后,就可以从网络上的另一台机器上telnet该主机了:
login: oracle
Password:
Last login: Sun Jul 1 20:03:30 from blu2-mobl.ccr.c
Sun Microsystems Inc. SunOS 5.11 snv_63 October 2007
-bash-3.00$
3.下载Solaris Companion DVD,该DVD包含了Solaris下常用的一些软件包,可以从下载Solaris 10 Free DVD set的网站上下载。下载完后,将解压缩的iso image传输到Solaris上,传输的方式可以通过samba,nfs,ftp等等。下面是samba的配置文件/etc/sfw/smb.conf的内容:
# Samba config file created using SWAT
# Date: 2002/08/30 11:08:09
# Global parameters
[global]
workgroup = PVL
netbios name = SERVER
server string = server
security = SHARE
log file = /var/log/samba/%m.log
max log size = 0
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
dns proxy = No
printing = lprng
[homes]
comment = Home Directories
read only = No
browseable = No
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
[e$]
path = /fs1
read only = No
guest ok = Yes
4.将iso文件中的文件mount到Solaris的lofi虚拟设备上。
创建mount节点。
bash-3.00# mkdir -p /mnt/iso
创建lofi虚拟设备。
bash-3.00# lofiadm -a /tools/sol-10-u4-companion-ga.iso
/dev/lofi/1
Mount lofi虚拟设备上的文件系统(iso9600格式,hsfs)到文件系统目录树上的节点上。
bash-3.00# mount -o ro -F hsfs /dev/lofi/1 /mnt/iso
成功。或者:
mount -F hsfs -o ro `lofiadm -a `pwd`/filename.iso` /mnt/iso
bash-3.00# ls /mnt/iso
Legal_Notice Solaris_Software_Companion
README
5. 安装SFWvnc软件包
Companion DVD上的软件包存放在这个目录下。
bash-3.00# pwd
/mnt/iso/Solaris_Software_Companion/Solaris_i386/Packages
查找vnc软件包的名称。
bash-3.00# ls | grep vnc
SFWvnc
使用pkgadd安装。
bash-3.00# pkgadd -d . SFWvnc
6.配置SFWvnc
# mkdir -p /etc/dt/config
# cp /usr/dt/config/Xservers /etc/dt/config/
# cp /usr/dt/config/Xconfig /etc/dt/config/
# cp /usr/dt/config/Xsetup /etc/dt/config/
# vi /etc/dt/config/Xservers
:0 Local local_uid@console root /usr/X11/bin/Xserver :0 -nobanner
:1 Local local_uid@console root /opt/sfw/bin/Xvnc :1 -httpd /opt/sfw/vnc/classes -depth 16 -geometry 1024x768 -rfbwait 120000 -rfbauth /opt/sfw/vnc/.vnc/passwd -rfbport 5901 -httpport 5801 -fp tcp/localhost:7100 –alwaysshared
注意:0标签是local X,不需要修改,1标签是需要添加的,后面所有的字符需要在同一行。如果命令行参数有误,/var/dt/Xerror文件中会有所显示。
# HOME=/opt/sfw/vnc
# export HOME
# mkdir $HOME/.vnc
# /opt/sfw/bin/vncpasswd
Password: password
Verify: password
创建vnc password,最好在一个新的shell中创建,以免变量冲突。密码文件存放在/opt/sfw/vnc/.vnc/passwd
为了使dtlogin启动的时候,同时启动vnc,需要将/etc/dt/config/Xconfig文件中含有Dtlogin*grabServer的行的行首的注释符去掉。手动或用下面的命令都可以。
# sed '/Dtlogin\*grabServer/s/^#//' /etc/dt/config/Xconfig >/tmp/Xconfig
# mv /tmp/Xconfig /etc/dt/config/Xconfig
将字体服务器加到/etc/inetd.conf中,并将起转化为一个新的SMF管理的网络服务:
# echo "fs stream tcp wait nobody /usr/openwin/lib/fs.auto fs" >>/etc/inetd.conf
# inetconv
重新启动机器,或者运行下面的命令:
# pkill –HUP inetd
# /etc/init.d/dtlogin stop
# /etc/init.d/dtlogin start
每次改变/etc/dt/config/Xservers文件时,都需要重新启动dtlogin。到此为止,在Windows Client上运行vncview,连接到vncserver_ip :1上,输入刚才创建的密码,则基于Solaris的远程桌面就设置完成了。