Solaris系统配置VNC远程桌面

时间:2022-06-01 16:52:30

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的远程桌面就设置完成了。