从Mac OS X中远程控制Linux非常简单,在Mac中无需安装任何软件,当然Linux端需要安装VNC服务。
环境概述:
Linux:Oracle Enterprise Linux 5.4
Mac:Mac OS X Lion(实际上Snow Leopard或者Leopard应该都是可以的)
VNC Server:Real VNC Free Edition
1. 在OEL中安装Real VNC Server
rpm -Uvh vnc-4_1_3-x86_linux.rpm
2. link X11字体文件位置,否则VNC启动会报错
# cd /usr/X11R6/lib
# ln -s /usr/share/X11 X11
# ls -l
total 4
lrwxrwxrwx 1 root root 14 Sep 5 18:10 X11 -> /usr/share/X11
drwxr-xr-x 3 root root 4096 Aug 31 15:46 modules
如果不执行以上命令,可能在启动VNC以后,在log文件中会看到如下报错:
Couldn't open RGB_DB '/usr/X11R6/lib/X11/rgb'
Fatal server error:
could not open default font 'fixed'
xsetroot: unable to open display 'hpserver:1'
vncconfig: unable to open display "hpserver:1"
xterm Xt error: Can't open display: hpserver:1
twm: unable to open display "hpserver:1"
2. 启动VNC,可以用任意用户启动VNC,建议不要使用root
$ vncserver
New 'hpserver:1 (kamus)' desktop is hpserver:1
Starting applications specified in /home/kamus/.vnc/xstartup
Log file is /home/kamus/.vnc/hpserver:1.log
3. 检查vnc log文件,确认vnc监听的端口
vi /home/kamus/.vnc/hpserver:1.log
可以在log文件中看到如下字样,这表示通过RFB协议访问VNC服务器应该指向5901,而通过http协议访问则指向5801。
vncext: Listening for VNC connections on port 5901
vncext: Listening for HTTP connections on port 5801
4. 确认VNC已经正常启动,注意在log文件中可能存在warning或者报错,我们通过检查端口来确认VNC是否正常启动。
# lsof|grep 5901|grep vnc
Xvnc 20656 kamus 3u IPv4 206853 TCP *:5901 (LISTEN)
如果上述命令,没有返回值,则表明VNC没有成功启动。
5. 用Mac连接VNC
Cmd+K快捷键或者Finder->Go->Connect to Server,打开如下界面,输入:vnc://server-ip:port,port就是上面第三步检查的通过RFB协议访问VNC服务器的端口,通常为590x。
但是默认启动的VNC界面是比较简陋的,如下图这样。当然,也完全可以使用。
6. 如果我们想在VNC中使用gnome界面,那么需要修改一下启动vnc的脚本。该脚本通常位于启动VNC的用户Home下的.vnc目录中,也就是跟log文件在一个目录下,文件名为xstartup。
$ vi ~/.vnc/xstartup
添加如下行。
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
修改完毕以后,整个xstartup脚本如下所示。
#!/bin/sh
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
[ -r HOME/.Xresources ] && xrdbHOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &
然后停止VNC,再重新启动。
$ vncserver -kill :1
Killing Xvnc process ID 21210
$ vncserver
New 'hpserver:1 (kamus)' desktop is hpserver:1
Starting applications specified in /home/kamus/.vnc/xstartup
Log file is /home/kamus/.vnc/hpserver:1.log
7. 再次从Mac中连接VNC,就可以看到美观的gnome界面了。
如何停止vncserver。
[orat0@hpserver2 ~]vncserver -list
TigerVNC server sessions:
X DISPLAY # PROCESS ID
:1 701
[orat0@hpserver2 ~]
[orat0@hpserver2 ~][orat0@hpserver2 ~] vncserver -kill :1
Killing Xvnc process ID 701