最近,希望在家时登录办公室的机器,进行远程控制。
服务器:vmware + ubuntu 9.10
客户端:windows XP
软件:
- 服务器:
vnc4server- 免费软件,可以从源里面找到。
sudo apt-get install vnc4server
- 客户端:
UltraVNC for Windows
配置:
1、生成一个 passwd文件
vnc4passwd
在$HOME/.vnc目录下面生成一个passwd文件。
$HOME/.vnc是一个vnc4server的关键目录。
2、开启vnc4server
输入:vnc4server
会得到:desktop的名称,这个名称 在客户端连接的时候用到。如果是desktop:1,在客户端连接的时候就填写:ip:5901,依此类推,如果是Desktop 2,在客户端的时候填写:ip:5902....
首次运行会提示生成 了.vnc/xstartup文件,这个文件里面包含着登录启动X时的一下配置。
特 别注意:
现在从UltraVNC登录,可能得到一个比较简单的窗口,因为 VNC4Server缺省启动的WM是twm,如果希望启动gnome,需要改动.vnc/xstartup ,我的配置如下:
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 1024x768+10+10 -ls -title "$VNCDESKTOP Desktop" &
gnome-session &
这样登录的时候,会自动启动gnome,界面如下:
如果实在不是非常明白原理,或者出现问题,可以查看/usr/bin/vnc4server文件, 这是一个Perl文件,你将非常明白其中的运作原理。
VNCServer篇:
如果使用vncserver,那么缺省的配置文件在$HOME/.vncrc里 面,vncserver系统全局的配置文件在/etc/vnc.conf里面,从/usr/bin/vncserver(也是一个Perl文件)可以看到 它的运作原理。
另外,还需要改动/etc/vnc.conf,因为 vncserver默认使用的是xfree系统,需要修改一下配置文件,大体如下:
$XFConfigPath = "/etc/X11/xorg.conf";
当然在这里还可以看到其他变 量,如vncStartup,如果想启动默认的X系统,可以配置如下:
$vncStartup = "/etc/X11/Xsession";
如果在$HOME/.vncrc 里面进行如下配置:
#配置X系统为xorg
$XFconfigPath = "/etc/X11/xorg.conf";
# 启动默认Xsession
$vncStartup = "/etc/X11/Xsession";
#分辨率
$geometry ="800x600";
登录以后,会自动到默认桌面,如Gnome等,如果Ubuntu本机登录一样。
另外还看到用xinited和vncserver来实现后台服务,不过我觉得风险还是比较大,因为 它缺省使用root来运行,需要谨慎。
Linux的VNC充分理由了Xorg的 C/S体系,非常好用啊!
参考:http://zhongweizhang.blog.163.com/blog/static/9348695200922375458698/