ubuntu中VNC的安装配置笔记

时间:2024-11-20 15:03:55

使用服务器时,利用远程桌面是非常方便的,否则需要跑到服务器机房操作非常的费事,或者需要远程操作机器是也可以使用,一般的操作系统都会带有远程桌面功能,但是不如第三方的的软件好用,对于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窗口,如下图所示。

ubuntu中VNC的安装配置笔记

这是因为默认启用的桌面配置的问题,需要修改配置文件。网上查到的很多文章都说,将配置文件中的twm &行注释掉,然后添加一行gnome-session &即可。可是通过实验,发现并不一定能解决问题!后来在网上找到一篇靠谱的文章:http://blog.****.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/),该软件提供了用于不同操作系统的版本,是一个绿色版的小软件,直接运行使用,非常方便。如下图所示:

ubuntu中VNC的安装配置笔记

关于vncserver的开机启动

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