本文主要介绍vncserver和Ubuntu12.04 Unity远程桌面环境的配置,最后介绍了Xfce4远程桌面环境的配置。
首先安装vncserver以及客户端,终端下输入一条指令就搞定:
$ sudo apt-get install vnc4server
安装完以后在终端下输入:$ vncserver
首次输入vncserver会提示输入vnc登陆密码,设置完成之后,产生如下信息:New 'hp-Compaq-Presario-CQ45-Notebook-PC:1 (hp)' desktop is hp-Compaq-Presario-CQ45-Notebook-PC:1
Starting applications specified in /home/hp/.vnc/xstartup
Log file is /home/hp/.vnc/hp-Compaq-Presario-CQ45-Notebook-PC:1.log
主要的意思是vncserver产生了一个新的桌面,其中的:1是端口号,用于vnc客户端远程连接端口的。
并且会根据/home/hp/.vnc/xstartup(即用户主目录下的 .vnc/xstartup)文件的配置进行启动,相关的log运行记录在/hp/.vnc/hp-Compaq-Presario-CQ45-Notebook-PC:1.log
那么我们需要做的是修改xstartup配置文件,终端下输入以下内容进行编辑:
$ gedit ~/.vnc/xstartup
默认配置文件~/.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 &
x-terminal-emulator -geometry 80x24+10+10-ls -title "$VNCDESKTOP Desktop"&
x-window-manager &
1. 采用默认配置,你登陆到vnc桌面后,只能看到桌面背景和一个终端,其他什么也没有,如下图。
![Ubuntu 12.04 Desktop下vncserver配置 - 小辉辉 - 小辉辉的博客](http://4.bp.blogspot.com/-RwGtLfOCdqI/UCksIOyzs_I/AAAAAAAAMns/0hmeoBTtfb4/s320/Screenshot.png)
以下是网友Minqiang Chen的正确配置,解决上述问题,附带说明:
修改后的~/.vnc/xstartup如下:
#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# exec /etc/X11/xinit/xinitrc
[-x /etc/vnc/xstartup ]&&exec/etc/vnc/xstartup
[-r $HOME/.Xresources]&& xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10-ls -title "$VNCDESKTOP Desktop"&
# x-window-manager &
export DESKTOP_SESSION=ubuntu-2d
#这个 ubuntu-2d 参考 /usr/share/gnome-session/sessions/ 下的文件名设置成不同的值
export GDMSESSION=ubuntu-2d
export STARTUP="/usr/bin/gnome-session --session=ubuntu-2d"
$STARTUP
对于其他ubuntu版本下的vnc的配置,网上有非常多的资料可以参考。
在配置完成之后,我们需要重新启动vncserver,对于Centos下可以直接使用service vncserver restart,在Ubuntu下需要在终端输入:
$ vncserver -kill :1
PS:注意这里-kill之后需要加空格,本人就是因为漏了空格不仅没有能够成功关闭端口1的vncserver,反而又启动了一个新的vncserver端口操作成功之后会出现如下信息:
Killing Xvnc4 process ID 3913
然后再次在终端中输入:
$ vncserver
此时vncserver会再次打开端口1,然后远程电脑就可以使用vnc客户端进行连接了,windows下可以使用realvnc公司的vncviewer,Ubuntu下如果之前没有安装过vncserver的话可以只安装vnc客户端,在终端下输入:$ sudo apt-get install xvnc4viewer
安装完成之后,如果在本机测试的话输入:$ vncviewer localhost:1
这里localhost对应本机的ip地址,如果是远程登陆的话将localhost改为要登陆主机的ip地址即可,连接上以后会提示输入密码,输入会出现远程桌面。默认情况下每输入一次vncserver,系统会自动将端口号加1,从1开始计算,即1,2,3,.....如果想要设置vncserver的服务端口号,那么可以在终端下输入:
$ vncserver :xxx
这里的xxx对应你想要开启的服务端口号。对于服务器以及提供远程服务的主机来说,可以开启ssh远程登陆服务,通过ssh来开启vncserver,从而登陆到vnc远程桌面。
如果在Ubuntu 12.04下想使用轻量级桌面环境作为vnc远程桌面的话可以考虑Xfce4,安装Xfce也很方便,在终端下输入:
$ sudo apt-get install xfce4
相应的xstartup文件配置如下:
#!/bin/shvnc连接上之后远程桌面如下:
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# unset DBUS_SESSION_BUS_ADDRESS
#上面这句话如果在xubuntu桌面环境下开启vnc的话最好取消注释
# exec /etc/X11/xinit/xinitrc
[-x /etc/vnc/xstartup ]&&exec/etc/vnc/xstartup
[-r $HOME/.Xresources]&& xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10-ls -title "$VNCDESKTOP Desktop"&
# x-window-manager &x-session-manager &
xfdesktop & xfce4-panel &
xfce4-menu-plugin &
xfsettingsd &
xfconfd &
xfwm4 &
对于xfce4有个bug,就是在终端中tab键不能自动补齐,解决方法见本人另一篇博客:
http://blog.163.com/thinki_cao/blog/static/83944875201303081111436/
如何在ubuntu server 环境安装 vnc4server 服务和xfce 图形环境