我另有一台老的电脑。没有那么多显示器,这时我想到了用VNC来操控它。该电脑上有Win XP和Redhat 9操作系统。Windows上VNC安装使用
很容易。为了让Linux上的VNC能用起来,费了一番工夫。
没有显示器交互,必须让Linux(图形界面)在启动和关闭时及程序启动都能自动完成。在/etc/inittab中改动:
/etc/inittab:
id:5:initdefault:
......
x:5:once:/bin/su root -l -c "/bin/bash --login -c startx >/dev/null 2>/dev/null"
避免输入用户口令: passwd -d root 删除密码。
关机断电:在/boot/grub/grub.conf文件中 'LABEL=/ ' 后加apm=on apm=power-off。
在/etc/init.d/下添加z_vncserver脚本,让VNC server开机自动启动:
/etc/init.d/z_vncserver:
#!/bin/bash
# vncserver This shell script takes care of starting and stopping
# (realvnc) vncserver.
#
# chkconfig: 5 80 20
# description: not yet.
#
. /etc/rc.d/init.d/functions
[ -x /usr/working3/realvnc/vnc-4_1_3-x86_linux/vncserver ] || exit 0
RETVAL=0
prog="vncserver"
export PATH=$PATH:/usr/working3/realvnc/vnc-4_1_3-x86_linux/
export HOME=/root
start() {
echo "---------starting realvnc vncserver------------------------"
vncserver
return $RETVAL
}
stop() {
echo "---------ending realvnc vncserver------------------------"
vncserver -kill :1
return $RETVAL
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit $RETVAL
上面我使用的是realvnc的VNC server。它缺省提供到Linux的display:1的连接。但它不能提供共享Linux的display:0,即
我们通常登录到的桌面。
要共享桌面需另外使用x11vnc。为此需先用vnc客户端连接到到display:1后,再从该界面手动启动x11vnc。我写了个脚本:
/root/x11vnc.sh:
#!/bin/bash
/usr/working3/x11vnc/z11vnc-0.9.13/x11vnc/x11vnc -display:0
启动x11vnc在display:0的服务后,这时可以用vnc客户端再连接到到display:0,看到的是熟悉的桌面。
(realvnc配置在/root/.vnc下,关闭用命令 vncserver -kill:1 (display:1))。
VNC是个好东西。