ubuntu安装vnc

转载自:http://hi.baidu.com/jrwen0/item/d756d5311e64c0352f0f8136

想在windows下远程登录一个linux系统,同学推荐用vnc,需要在ubuntu上先安装vncserver,在windows上下载vnc viewer,我用的是VNC-Viewer-5.0.1-Windows-32bit.exe
安装步骤:
linux ubuntu上:
1、安装vnc4server
sudo apt-get install vnc4server
2. 直接运行vnc4server(vncserver),装上vnc4server后提供这两个命令。vnc4server是一个脚本文件,vncserver是一个链接文件,链接到/etc/alternatives/vncserver,和vnc4server有相同的脚本内容。
vnc4server
或者
vncserver
第一次执行后需要输入密码,执行后要求你输入密码,这就是要创建的密码
3.运行vnc4passwd(vnc4passwd),同上
vnc4passwd

与运行vnc4server创建密码不同,vnc4passwd运行的时候创建的密码就是最新的密码,不管你前面创建的密码是什么,运行vnc4passwd后创建的密码就是最新的密码,而vnc4server只在第一次运行的时候才能创建密码,如果已经有了密码,那它就直接启动vnc服务。

    上面两种方法,执行命令以后都会在家目录下创建.vnc目录。两种方法在这个新目录下创建不一样的文件。如果是vnc4server,则应该创建的都会创建,而vnc4passwd只创建passwd用于存放密码。

4. 启动vnc4server
vnc4server执行这个命令,会在家目录下创建.vnc目录,并且创建一系列的文件。运行成功会有如下内容显示:
New 'xxxx:1 (xxxx)' desktop is xxxx:1 
Starting applications specified in /home/xxxxx/.vnc/xstartup
Log file is /home/xxxx/.vnc/xxxx:1.log
xxxx因系统而异。冒号后面的数字后面还会用到。
5.关闭vnc4server
vnc4server -kill :1 -kill与:1之间有一个空格。这个要注意,要是没有的话,运行的结果很特别,会启动一个vnc4server服务窗口.如果能成功执行,执行返回的意思大抵是杀了Xvnc4.
6.重要的配置(~/.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 &
修改后长这样:
#!/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 &
为什么要这样修改。原因:vnc4server默认启动x-window-manager &,这是个很丑的窗口管理器。修改后远程看到的桌面和你打开这个服务看到的桌面一模一样。网上有些修改这个地方的参考,可能是由于软件版本不一样,我照着做了没有作用。大抵是这么改的,添加:gnome-session&.这是启动gnome的命令,有兴趣的朋友不妨试试这个命令。后果是。。。。。原因是:你已经启动了gnome桌面了,要是你再启动一次那就是后果。。。。
【注:此处自己并没有这样修改,而是只注释了后两行,然后在后面加上gnome-session &,好像是有些问题,不过可以正常使用】
7.修改/etc/X11/xinit/xinitrc权限
sudo chmod 755 /etc/X11/xinit/xinitrc【注:这一步自己没有做】


windows上操作:
在windows下运行上述的客户端

server后面填入:ip:1

参考:http://www.cnblogs.com/wishmiss/archive/2010/09/26/1834956.html
注意:
1、上面的工作做完后,需要注意的是上面步骤在哪个用户下完成的,也只有在该用户下登陆。即当我用root登陆时出现的是灰色的桌面和控制台,没有图形界面,也就是root用户下的xstartup文件缺少第6步的改动。

2、还有一个问题是在ubuntu本机也在图形界面下运行时,利用VNC登陆后会出现界面冲突的情况,具体语句记不清了,可以google那个语句,可以发现是两个电脑上都用一个用户运行图形界面的问题,需要在本地ubuntu上切换到命令行模式,在网上查了很多方法,比如
alt+ctrl+f1-f2
init 3
都不行
所采用的方法是
更改etc/default/grub文件,在默认启动项里增加text,具体如下:

sudo vi /etc/default/grub

        找到这一行:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

        改为:GRUB_CMDLINE_LINUX_DEFAULT="text "或者"quiet splash text"

       保存后sudo update-grub 重启即可。
参考:http://www.2cto.com/os/201110/109533.html


3、这时在VNC登陆情况下,输入m和s时仍有问题,见解决Ubuntu下VNC客户端无法输入s和m的方法:
http://www.diybl.com/course/6_system/linux/ubuntu/20120802/571453.html
工作需要,在Ubuntu安装了vncserver,使用vncviewer连接后发现输入字母s或m后,分别弹出logout菜单和message菜单 
开始以为是vnc客户端的问题,换了几个发现都存在这个问题,也就排除是客户端的bug 
baidu和google了半天,貌似很少有人碰到这个问题。 
幸运的是搜索结果中列出了文章的部分信息,一个关键的url:https://bugs.launchpad.net/ubuntu/+source/indicator-applet/+bug/568401
  
打开后,发现原来是indicator applet引起的bug 
具体修复步骤如下: 
1. sudo apt-get install apt-show-versions  (安装用于查看Ubuntu软件包版本的应用) 
2. sudo apt-show-versions | grep indicator-applet (查看安装的indicator applet版本) 
发现安装的版本正是0.3.6,存在bug的那个版本 
3. sudo apt-get install indicator-applet   (更新至最新版本) 
4.重启vncserver,一切正常 

   vncserver -kill :桌面号 
   例如:关闭上面的vnc连接 
    vncserver -kill :1  关闭桌面1 
    vncserver 重启

你可能感兴趣的:(Linux,系统管理,ubuntu,vncserver,vncviewer)