神刀安全网

使用VNC连接远程Linux桌面


故事背景

最近公司主管让我在Linux服务器上面配置JIRA,我按照官方的文档一步步做下来,发现必须要连接到Linux桌面系统,因为需要打开浏览器在网页里面做一些配置,比如使用MySQL数据库,建立账号等等,以前都是命令行操作,使用SSH连接到shell就满足了。之前听人说过用RealVNC可以连接到远程桌面。于是又停下来转而去折腾VNC了。

下载

前往这里下载:VNC官方下载地址,我的是Windows系统,所以直接下载EXE文件然后点击安装,基本上就是一路Next下来即可,这没什么好讲的。

Ubuntu服务器配置

首先安装vncserver服务:

sudo apt-get install vnc4server

接着开启服务,如果你想访问root用户的桌面环境就用sudo vncserver,如果访问当前普通用户的环境就直接vncserver即可,首次启动会要求设置密码,用来在客户端访问时使用,后面可以使用vncpasswd修改。启动vnc成功后,会在主目录下产生一个.vnc目录。值得注意的是,VNC可以开启多个桌面供不同的客户端同时访问,所以它由一个桌面号的概念,每次启动VNC Server时,它会自动为这次启动的服务分配一个桌面号,是从1开始的。

连接到桌面

做到这步后,用你的VNC Viewer连接远程Ubuntu,你放心,还是只能看到一个shell。嗯,还没有达到目的,我们是要连接桌面而非shell。你可以打开在启动VNC时输出的log日志消息,Ubuntu系统多半都是下面这个错误:

…… gnome-session-is-accelerated: No composite extension. gnome-session-check-accelerated: Helper exited with code 256 gnome-session-is-accelerated: No composite extension. gnome-session-check-accelerated: Helper exited with code 256  ** (process:6694): WARNING **: software acceleration check failed: Child process exited with code 1  ** (gnome-session:6694): CRITICAL **: We failed, but the fail whale is dead. Sorry.... ……

你看到fail这个单词就说明连接失败了,我在网上找了很久,发现有的博客写的东西根本无法解决这个问题,也许他自己当时是那么解决的,但是你和他的情况不是完全一样的。我这里也提供一个方法,你可以试一下,兴许就能解决这个问题:
ubuntu下载命令:

$ sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal

然后修改xstartup文件:

#!/bin/sh  export XKL_XMODMAP_DISABLE=1 unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS  [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic &  gnome-session & gnome-panel & gnome-settings-daemon & metacity & nautilus & gnome-terminal & vncconfig -nowin &

然后重启VNC服务即可。
也可以通过安装KDE/XFCE来解决:

$ sudo apt-get install gnome-core xfce4 firefox $ vim ~/.vnc/xstartup  #修改此文件,写入以下内容 #!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS startxfce4 & #gnome-session --session=gnome-flashback &  [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic &

真是错误不断,log日志还说字体还找不到:

error opening security policy file /etc/X11/xserver/SecurityPolicy Could not init font path element /usr/share/fonts/X11/cyrillic, removing from list! Could not init font path element /usr/share/fonts/X11/100dpi/:unscaled, removing from list! Could not init font path element /usr/share/fonts/X11/75dpi/:unscaled, removing from list! Could not init font path element /usr/share/fonts/X11/100dpi, removing from list! Could not init font path element /usr/share/fonts/X11/75dpi, removing from list! Could not init font path element built-ins, removing from list!

其实这个错误是不影响你远程连接Linux桌面的,如果你不是特别完美主义的话,到这儿可以不管它了。但是你还是想要解决的话,方法还是有的,解决办法:

sudo aptitude install xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 使用VNC连接远程Linux桌面

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址