一.
本文只适用于Ubuntu 11.04 Desktop以后的桌面环境,由于Ubuntu从11.04开始默认采用Unity作为它的桌面环境,因此之前网上对于Ubuntu早期版本的GNOME桌面环境的VNC配置都不适用。
1.首先安装vncserver以及客户端,终端下输入一条指令就搞定:
$ sudo apt-get install vnc4server
2.安装完以后在终端下输入:
$ vncserver
首次输入vncserver会提示输入vnc登陆密码,设置完成之后,产生如下信息:
New 'hp-Compaq-Presario-CQ45-Notebook-PC:1 (hp)' desktop is hp-Compaq-Presario-CQ45-Notebook-PC:
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
3.那么我们需要做的是修改xstartup配置文件,终端下输入以下内容进行编辑:
$ vi root/.vnc/xstartup
默认配置文件root/.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桌面后,只能看到桌面背景和一个终端,其他什么也没有。
2. 登陆时出现 Counld not acquire name on session bus 等错误提示。
以下是网友Minqiang Chen的正确配置,解决上述问题,附带说明:
修改后的root/.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/sh # 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 &
vnc连接上之后远程桌面如下:
对于xfce4有个bug,就是在终端中tab键不能自动补齐,解决方法见另一篇博客:
http://blog.163.com/thinki_cao/blog/static/83944875201303081111436/
vnc的xfce4配置具体可以参考以下链接:
如何在ubuntu server 环境安装 vnc4server 服务和xfce 图形环境
二.密码忘记的时候,用rm -rf 直接删除.vnc ,然后输入vncerver来重新启动vnc即可。(记得修改配置文件)
如忘记密码,可直接删除/root/.vnc资料夹,再重新执行vncserver来设定产生
第一次运行vncserver :1
重新启动 service vncserver restart
改密码的命令:vncpasswd
本文只适用于Ubuntu 11.04 Desktop以后的桌面环境,由于Ubuntu从11.04开始默认采用Unity作为它的桌面环境,因此之前网上对于Ubuntu早期版本的GNOME桌面环境的VNC配置都不适用。
1.首先安装vncserver以及客户端,终端下输入一条指令就搞定:
$ sudo apt-get install vnc4server
2.安装完以后在终端下输入:
$ vncserver
首次输入vncserver会提示输入vnc登陆密码,设置完成之后,产生如下信息:
New 'hp-Compaq-Presario-CQ45-Notebook-PC:1 (hp)' desktop is hp-Compaq-Presario-CQ45-Notebook-PC:
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
3.那么我们需要做的是修改xstartup配置文件,终端下输入以下内容进行编辑:
$ vi root/.vnc/xstartup
默认配置文件root/.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桌面后,只能看到桌面背景和一个终端,其他什么也没有。
2. 登陆时出现 Counld not acquire name on session bus 等错误提示。
以下是网友Minqiang Chen的正确配置,解决上述问题,附带说明:
修改后的root/.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/sh # 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 &
vnc连接上之后远程桌面如下:
对于xfce4有个bug,就是在终端中tab键不能自动补齐,解决方法见另一篇博客:
http://blog.163.com/thinki_cao/blog/static/83944875201303081111436/
vnc的xfce4配置具体可以参考以下链接:
如何在ubuntu server 环境安装 vnc4server 服务和xfce 图形环境
二.密码忘记的时候,用rm -rf 直接删除.vnc ,然后输入vncerver来重新启动vnc即可。(记得修改配置文件)
如忘记密码,可直接删除/root/.vnc资料夹,再重新执行vncserver来设定产生
第一次运行vncserver :1
重新启动 service vncserver restart
改密码的命令:vncpasswd