使用服务器时,利用远程桌面是非常方便的,否则需要跑到服务器机房操作非常的费事,或者需要远程操作机器是也可以使用,一般的操作系统都会带有远程桌面功能,但是不如第三方的的软件好用,对于linux系统常用的远程桌面软件是vnc,vnc分为服务器端和客户端,下面先讲讲vnc服务器端的安装与配置。

安装VNC服务器端

ubuntu中vnc服务器端的安装很简单,运行如下命令:

$ sudo apt-get install vnc4server
安装完成后第一次运行要求设置密码。

设置VNC登录密码

$ vncpasswd
Password:
verify:
提示输入密码,确认密码。设置密码并第一次启动vncserver后,在用户家目录中会生成.vnc/目录,注意:刚安装完用户家目录中是没有.vnc目录的。

启动和关闭vcnserver

$ vncserver :1  
表示启动vncserver,“:1”表示display号,即启动vncserver的1号display。服务器中可以在不同的账户中启动不同的display号,客户端登录时需要填写对应的display号登录到对应的账户。如果多个客户端登录同一个display,会看到别人操作的动作,即会争抢鼠标。
$ vncserver -kill :1
关闭1号display。

VNC服务器的配置

默认的配置文件是~/.vnc/xstartup。刚安装完如果不修改配置文件的话,从客户端连接时将看不到完整的桌面,而只有一个Terminal窗口,如下图所示。

这是因为默认启用的桌面配置的问题,需要修改配置文件。网上查到的很多文章都说,将配置文件中的twm &行注释掉,然后添加一行gnome-session &即可。可是通过实验,发现并不一定能解决问题!后来在网上找到一篇靠谱的文章:http://blog.csdn.net/njchenyi/article/details/8489689,该文章讲的配置方法确实可行,下面将该文章中的配置文件内容搬过来记录于此。

默认的配置文件如下:

  1. #!/bin/sh
  2. # Uncomment the following two lines for normal desktop:
  3. # unset SESSION_MANAGER
  4. # exec /etc/X11/xinit/xinitrc
  5. [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
  6. [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
  7. xsetroot -solid grey
  8. vncconfig -iconic &
  9. x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
  10. x-window-manager &

文章中讲述的配置文件如下:

  1. #!/bin/sh
  2. # Uncomment the following two lines for normal desktop:
  3. unset SESSION_MANAGER
  4. unset DBUS_SESSION_BUS_ADDRESS
  5. # exec /etc/X11/xinit/xinitrc
  6. [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
  7. [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
  8. xsetroot -solid grey
  9. vncconfig -iconic &
  10. x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
  11. # x-window-manager &
  12. export DESKTOP_SESSION=ubuntu-2d #这个 ubuntu-2d 参考 /usr/share/gnome-session/sessions/ 下的文件名设置成不同的值
  13. export GDMSESSION=ubuntu-2d
  14. export STARTUP="/usr/bin/gnome-session --session=ubuntu-2d"
  15. $STARTUP

到此vnc客户端就可以进行连接并正常显示了。

关于客户端

据说有不同的客户端可以连接vncserver,我一直是用的VNC Viewer(官网地址:http://www.realvnc.com/download/viewer/),该软件提供了用于不同操作系统的版本,是一个绿色版的小软件,直接运行使用,非常方便。如下图所示:

关于vncserver的开机启动

安装vncserver主要是为了能远程操作服务器,但是会有一个问题:如果远程操作时需要将服务器重启,但是服务器重启后如果vncserver不能开机自己启动的话,客户端就无法远程连接到服务器了,这样用起来就非常麻烦了,所以必须想办法让vncserver开机启动。在网上查阅了很多相关的内容,发现很乱也很不靠谱,暂时没有找到简单有效的配置方法。
后来我使用了另外一种方法:在服务器上开启ssh服务并让ssh服务开机启动,这样服务器重启后,先通过ssh连接到服务器,然后通过命令行启动vncserver,然后就可以用vnc客户端连接了。关于Ubuntu上ssh的安装配置与开机启动可以查看本博客文章:http://blog.csdn.net/lewsn2008/article/details/10160441 。

最新文章

  1. Collection小结
  2. Python-11-RabbitMQ、Redis使用
  3. .NET Remoting学习笔记(三)信道
  4. UE4在Android调用Project Tango
  5. 获取oracle 表字段,表名,以及主键之类等等的信息。
  6. 搜狗一道java题目 关于对象 synchronized 关键字作用在 int, integer
  7. sql server 国内外 2个同步 ,加一个表.加入同步种
  8. BufferedInputStream
  9. 通过js引入当前所需要的js,css等
  10. python模块目录文件后续
  11. Linux下的指令:tail
  12. hdu 4123 树的最长路+RMQ
  13. Python 中包/模块的 `import` 操作
  14. Data Block -- Uncompressed
  15. Handle/Looper源码分析;
  16. UVA804-Petri Net Simulation(模拟)
  17. PHP通过soap调用c#的WebService
  18. 【Linux】正确的关机方法
  19. vue中封装axios方法
  20. js使用s:property标签接收json格式数据

热门文章

  1. 【Reporting Services 报表开发】— 交互式报表
  2. 内容模块PC标签调用说明
  3. HTML 链接
  4. Servlet连接数据库
  5. SPOJ #442 Searching the Graph
  6. 【1-4】jQuery代码风格-导航栏
  7. 【Spring-AOP-1】AOP相关概念
  8. can't run as root without the -u switch
  9. 求助:为什么我用360浏览器和UC浏览器打不开JAVA中的index.html文件? 一打开就显示浏览器首界页
  10. Python之re模块 —— 正则表达式操作