Ubuntu下设置VNCServer



Virtual Network Computing(VNC)是进行远程桌面控制的一个软件。客户端的键盘输入和鼠标操作通过网络传输到远程服务器,控制服务器的操作。服务器的图形界面 通过网络传输会客户端显示给用户。给你的感觉就像直接在操作本地计算机一样,只是所有的程序和命令都是在服务器端执行。
1、打开一个Terminal window


2、下载 vnc4server :
    sudo apt-get install vnc4server

3、启动vnc4server:
    vnc4server
    此时系统会提示你输入密码,在通过客户端链接时将会用到这个密码。
    输入完密码后你将看到类似下边的提示:

New '****3 (****)' desktop is ****:3 (****代表主机名)

Take notice of the number after the colon (, in this case it is "3."

   启动完vnc4server后在你的主目录下将会产生一个.vnc的目录。
   此时就可以通过vnc客户端链接到服务器了。


4、停止一个vnc4server
    vnc4server -kill :3
   根据你启动时获得的数字替换此处的3。


5、打开 .vnc/xstartup 文件并编辑:
    gedit /.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
vnccon** -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &


6、修改 .vnc/xstartup文件并保存
    取消unset和exec开始的行的注释,注释以xsetroot,vnccon**,xterm和twm开始的行。执行后看起来像这样:
#!/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
#vnccon** -iconic &
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &

7、修改/etc/X11/xinit/xinitrc文件的许可,使其可执行:
    sudo chmod 755 /etc/X11/xinit/xinitrc


8、启动vnc4server:
    vnc4server
    注意:记住此处冒号后提示的数字


9、从另外的电脑登录这台服务器:
    vncviewer remote-server:3
    按照提示输入你在第三部输入的密码,成功进入远程桌面。

10、若前面执行失败导致在VNC下看不到图形界面,鼠标变成"X"形状,请查看第七条是否执行过,同时将刚建过的VNCServer删掉,vncserver -kill :1(1代表前面启动的vncserver序号)

gconf-editor,这样会弹出一个对话框,到“Apps->Metacity->Global keybingdings"中找“show desktop”,将其默认值<Super>D改为<Ctl><Alt>D即可。





另一个


尽管我们在大部分情况下用ssh登录Ubuntu服务器就好了,但是有时候我们的程序需要在图形界面下运行,这时我们就要用到vnc server这个软件了。在Ubuntu下安装vnc server很简单的,只要下面几步就可以了:

第一步,获取安装文件

sudo apt-get install vnc4server

第二步,修改VNC Password,不能太短

      # vncpasswd

      Password: ******

      Verify:*****

第三步,检查防火墙,这个就不详细说明了

第四步,启动VNC server

        # vncserver

第五步,通过客户端连接

        地址后面加:1

第六步,发现界面是不是很丑啊!?引用别人的解决办法

        不过...这个桌面怎么这么丑?!

原来vncserver默认使用的窗口管理器是twm,这是一个很简陋的窗口管理器,你可以把你的桌面改成GNOME或KDE。

方法是,进入你自己的home目录,然后编辑这个文件:.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 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
 #twm &
 gnome-session &

你可以把像上面这样把"twm &"这一行注释掉,然后在下面加入一行"gnome-session &",或者是"startkde &",分别启动GNOME桌面和KDE桌面。

如果server重启了,那你就需要重新运行一次vncserver命令来启动VNC server,这很麻烦。有没有更好的方法呢

如果server重启了,那你就需要重新运行一次vncserver命令来启动VNC server,这很麻烦。有没有更好的方法呢?

有!我们可以把VNC server启动成后台服务。执行如下步骤:

首先要允许VNC server在系统启动过程中被启动。这可以通过“系统设置-->服务器设置-->服务”菜单来配置,把vncserver一项选上就可以了。

如果使用命令行的话,以root身份运行以下两条命令:

cd /etc/rc5.d

mv K35vncserver S35vncserver

然后编辑/etc/sysconfig/vncservers,以下是文件内容:

# The VNCSERVERS variable is a list of display:user pairs.

#

# Uncomment the line below to start a VNC server on display :1

# as my 'myusername' (adjust this to your own). You will also

# need to set a VNC password; run 'man vncpasswd' to see how

# to do that.

#

# DO NOT RUN THIS SERVICE if your local area network is

# untrusted! For a secure way of using VNC, see

# .

VNCSERVERS="1:user1 2:user2 3:user3"

VNCSERVERARGS[1]="-geometry 1024x768"

VNCSERVERARGS[2]="-geometry 1024x768"

VNCSERVERARGS[3]="-geometry 800x600"

解释一下这个文件:

VNCSERVERS这一行是配置在系统启动时启动几个VNC server,上面的例子里运行了三个VNC server,其中user1在display :1,user2在display :2,user3在display :3。

VNCSERVERARGS这三行,分别为VNC server 1, 2, 3配置启动参数,上面的例子里对user1和user2使用屏幕分辨率1024x768,对user3使用800x600。

其它支持的参数请使用“man vncserver”命令查询。

编辑好这个文件后,保存,然后以root身份运行:

/sbin/service vncserver start

这样user1, user2, user3的vncserver就启动了。

以后每次系统重启时,都会自动启动这三个用户的vncserver。

注意:上面三个用户必须已经使用vncpasswd命令设置过vnc密码,不然他的vncserver启动会失败