Linux实例安装VNC Server实现图形化访问

原文网址:

https://help.aliyun.com/knowledge_detail/41530.html?spm=5176.8208715.110.d41530.4c184ae8mlC7Yy

https://help.aliyun.com/knowledge_detail/41181.html?spm=5176.8208715.110.11.4c184ae8mlC7Yy

前提条件

您已经在本地安装了VNC连接工具,比如 TightVNC Viewer

在CentOS 6.8上安装VNC Server

这部分以在CentOS 6.8上安装TigerVNC Server和GNOME为例,说明如何安装配置VNC Server。

  1. 远程连接Linux实例

  2. 运行以下命令安装GNOME桌面。

    1. yum groupinstall GNOME Desktop Environment -y

    安装需要较长时间,请您耐心等待。

  3. 运行以下命令安装VNC Server。

    1. yum install -y tigervnc-server
  4. 运行以下命令将VNC Server配置为开机自动启动。

    1. chkconfig --level 345 vncserver on
  5. 运行以下命令启动VNC Server,并按界面提示设置VNC连接密码。

    1. vncserver

    注意
    首次启动会要求设置密码,以后您可以运行vncpasswd命令修改连接密码。

  6. 按以下步骤修改 /root/.vnc/xstartup 文件,配置使用GNOME桌面:

    1. 运行命令 vim /root/.vnc/xstartup
    2. i 键进入编辑模式。
    3. 在文件最后一行,注释掉 twm &,并添加一行 gnome-session &
    4. Esc 键退出编辑模式,再输入 :wq 保存并退出。
  7. 按以下步骤在 /etc/sysconfig/vncservers 文件中配置监听端口和环境参数:

    1. 运行命令 vim /etc/sysconfig/vncservers
    2. i 键进入编辑模式。
    3. 添加以下内容:
      1. VNCSERVERS="1:root"
      2. VNCSERVERARGS[1]="-geometry 1200x800"
    4. Esc 键退出编辑模式,再输入 :wq 保存并退出。
  8. (可选)运行不同的命令完成其他设置:

    • 运行以下命令允许root账号访问图形界面。

      1. sed -i 's/.!= root./#&/' /etc/pam.d/gdm
    • 如果报以下错误,运行命令 dbus-uuidgen >/var/lib/dbus/machine-id 生成新的machine-id。

      1. D-Bus library appears to be incorrectly set up; failed to read
      2. machine uuid: Failed to open "/var/lib/dbus/machine-id": No such file or directory
    • ECS不允许开启SELinux服务和NetworkManager服务。如果您开启了这些服务,运行以下命令修改配置。

      1. vi /etc/selinux/config # 检查SELinux服务。如果SELINUX对应的值不是disabled,必须改为disabled。
      2. chkconfig --del NetworkManager # 关闭NetworkManager服务
  9. 运行以下命令重启VNC Server,使配置生效。

    1. service vncserver restart
  10. 运行命令 ps -ef | grep vnc 确认服务是否已经启动。如果返回以下类似结果,说明服务已经启动。
    CentOS6.8_ps运行结果

    由返回结果可知,服务使用了TCP 5901端口。

  11. (可选)如果您的实例上开启了防火墙,需要设置防火墙允许VNC访问。

    举例
    以iptables为例,您需要做如下设置:

    1. iptables -A INPUT -p tcp --dport 5901 -j ACCEPT #放行TCP 5901端口
    2. service iptables save # 保存规则
  12. 登录 ECS管理控制台,在实例所在安全组中 添加安全组规则,放行TCP 5901端口。

  13. 在本地机器的VNC Viewer上连接实例。具体操作步骤,请参考 在 Linux 实例上自动安装并运行 VNC Server 的描述。如果出现如下图所示的界面,说明您已经成功安装VNC Server实现了图形化访问。
    CentOS6.8_VNC Server实现GNOME桌面访问

在CentOS 7.2上安装 VNC Server

这部分以在CentOS 7.2上安装TigerVNC Server和GNOME为例,说明如何安装配置VNC Server。

  1. 远程连接Linux实例

  2. 运行以下命令安装GNOME桌面。

    1. yum groupinstall GNOME Desktop Environment -y

    安装需要较长时间。

  3. 运行以下命令安装VNC Server。

    1. yum install tigervnc-server -y
  4. 按以下步骤修改VNC Server配置文件,设置用户名(如本示例中的root):

    1. 运行命令vim /lib/systemd/system/vncserver@.service
    2. i键进入编辑模式。
    3. User=<User>ExecStartPIDFile的内容替换为以下内容。
      1. User=root
      2. # Clean any existing files in /tmp/.X11-unix environment
      3. ExecStartPre=-/usr/bin/vncserver -kill %i
      4. ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
      5. PIDFile=/root/.vnc/%H%i.pid
      CentOS7.2_修改配置文件
    4. Esc键退出编辑模式,再输入:wq保存并退出。
  5. 运行以下命令,将 /lib/systemd/system/vncserver@.service 改为 /lib/systemd/system/vncserver@:1.service。

    1. mv /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service
  6. 运行以下命令重启systemd。

    1. systemctl daemon-reload
  7. 运行命令 vncpasswd,并按界面提示设置VNC Server连接密码。

  8. (可选)ECS不允许开启SELinux服务和NetworkManager服务。如果您开启了这些服务,运行以下命令修改配置。

    1. vi /etc/selinux/config # 检查SELinux服务。如果SELINUX对应的值不是disabled,必须改为disabled。
    2. chkconfig --del NetworkManager # 关闭NetworkManager服务
  9. 运行以下命令设置开机启动VNC Server。

    1. systemctl enable vncserver@:1.service
  10. 运行以下命令启动VNC Server。

    1. systemctl start vncserver@:1.service
  11. 运行命令 ps -ef | grep vnc 确认服务是否已经启动。如果返回以下类似结果,说明服务已经启动。
    CentOS7.2_ps运行结果

    由返回结果可知,服务使用了TCP 5901端口。

  12. (可选)如果您的实例上开启了防火墙,需要设置防火墙允许VNC访问。

    举例
    以firewalld为例,您需要做如下设置:

    1. firewall-cmd --permanent --add-service vnc-server #允许VNC访问
    2. systemctl restart firewalld.service # 重启firewalld
  13. 登录 ECS管理控制台,在实例所在安全组中 添加安全组规则,放行TCP 5901端口。

  14. 在本地机的VNC Viewer上连接实例。具体操作步骤,请参考 在 Linux 实例上自动安装并运行 VNC Server 的描述。如果出现如下图所示的界面,说明您已经成功安装VNC Server实现了图形化访问。
    CentOS7.2_VNC Server实现GNOME桌面访问

在Ubuntu 14.04上安装VNC Server

这部分以在Ubuntu 14.04上安装vnc4server和GNOME为例,说明如何安装配置VNC Server。

  1. 远程连接Linux实例

  2. 运行命令 apt-get update 更新源。

  3. 运行以下命令安装vnc4server。

    1. apt-get install vnc4server -y
  4. 运行以下命令开启VNC服务并按界面提示设置连接密码。

    1. vnc4server

    注意
    首次启动会要求设置密码,以后您可以使用vncpasswd修改连接密码。

    如果返回结果里出现类似下图所示的New ':1 (root)' desktop is :1 (代表主机名),表示vnc4server启动成功。程序会自动在当前用户(本示例中为root)主目录下产生一个.vnc目录。
    Ubuntu_启动vnc4server

  5. 运行命令 ps -ef | grep vnc 确认服务是否已经启动。如果返回以下类似结果,说明服务已经启动。
    Ubuntu_ps运行结果

    由返回结果可知,服务使用了TCP 5901端口。

  6. 运行以下命令安装GNOME桌面环境。

    1. apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal

    安装需要较长时间,请您耐心等待。

  7. (可选)运行以下命令备份原有xstartup文件。

    1. cp ~/.vnc/xstartup ~/.vnc/xstartup.bak
  8. 按以下步骤修改vnc4server启动文件。

    1. 运行以下命令打开文件。
      1. vim ~/.vnc/xstartup
    2. i键进入编辑模式。
    3. 将文件内容替换为以下内容。
      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 &
      11. gnome-panel &
      12. gnome-settings-daemon &
      13. metacity &
      14. nautilus &
      15. gnome-terminal &
    4. Esc键退出编辑模式,再输入:wq保存并退出。
  9. 依次运行以下命令生成新的会话。

    1. vncserver -kill :1 #杀掉原来的桌面进程(假设桌面号为:1)
    2. vncserver :1 # 生成新的会话
  10. 登录 ECS管理控制台,在实例所在安全组中 添加安全组规则,放行TCP 5901端口。

  11. 在本地机的VNC Viewer上连接实例。具体操作步骤,请参考 在 Linux 实例上自动安装并运行 VNC Server 的描述。如果出现如下图所示的界面,说明您已经成功安装VNC Server实现了图形化访问。
    Ubuntu_VNC Server实现GNOME桌面访问

如果问题还未能解决,您可以到阿里云社区进行 免费咨询,或联系云市场商家寻求帮助

posted @ 2018-03-20 16:40  笑笑别人  阅读(9739)  评论(0编辑  收藏  举报