
# 使用VNC Viewer连接Linux云服务器
Linux云服务器一般采用SSH连接方式，使用密钥对进行安全地无密码访问。但是SSH连接一般都是字符界面，有时需要使用图形界面进行一些复杂操作。本文以Ubuntu操作系统为例，介绍如何为云服务器安装VNC Server，以及如何使用VNC Viewer连接云服务器。
#### 准备工作
- 本文适用于Ubuntu 16.04/18.04/20.04/22.04/24.04操作系统，已创建一台对应的Ubuntu操作系统的云服务器，并且为云服务器绑定弹性公网IP，确保可以连接互联网。具体操作请参见[自定义购买ECS](https://support.huaweicloud.com/usermanual-ecs/ecs_03_7002.html)、[申请弹性公网IP](https://support.huaweicloud.com/usermanual-eip/eip_0008.html)。
- 弹性云服务器所在安全组添加了如下表所示的安全组规则，具体步骤参见[为安全组添加安全组规则](https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0030969470.html)。
  表1安全组规则 
  | 方向  | 优先级 | 策略 | 类型   | 协议端口      | 源地址       |
  |:---|:---|:---|:---|:---|:---|
  | 入方向 | 1   | 允许 | IPv4 | TCP: 5901 | 0.0.0.0/0 |
     
  
- 已在本地PC安装VNC Viewer客户端。
  ![](https://support.huaweicloud.com/bestpractice-ecs/public_sys-resources/note_3.0-zh-cn.png)
  VNC Viewer下载地址：<https://www.realvnc.com/en/connect/download/viewer/>
  
 
#### 步骤一：安装VNC Server
本示例中，桌面环境使用Xfce，它是一个精简的轻量化桌面，与Gnome和KDE相比更小巧，并且界面美观、对用户友好，适合云服务器远程连接场景下使用。
1. 远程登录云服务器。 账号：root；密码：您在创建云服务器时设置的密码。具体操作请参见[Linux ECS登录方式概述](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0013771089.html)。
   
2. 执行以下命令，更新软件列表。
   ```
   sudo apt update
   ```
   
3. 执行以下命令，安装Xfce桌面环境。
   ```
   sudo apt install xfce4 xfce4-goodies
   ```
   
4. 执行以下命令，安装TightVNC服务器。
   ```
   sudo apt install tightvncserver
   ```
   
5. 执行完成后，使用**vncserver** 命令进行配置。
   当您第一次运行**vncserver**时，它会创建一个默认启动脚本。按照提示进行配置：
   ![](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_image_0000002607943065.png "点击放大")
   - 密码：长度为6\~8个字符。超过8个字符的密码将自动截断，只截取前8位作为VNC登录密码。请牢记该密码，VNC Viewer连接云服务器时会使用。
   
   - 验证密码：再次输入密码。
   
   - 是否创建仅查看密码：使用仅查看密码登录的用户将无法使用鼠标或键盘控制云服务器。此处输入"n"。
    
 
#### 步骤二：配置VNC Server
1. 首先停止第一个虚拟桌面。
   ```
   vncserver -kill :1
   ```
   ![](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_image_0000002577299242.png)
   
2. 执行以下命令，修改xstartup文件。
   ```
   vim ~/.vnc/xstartup
   ```
   按"i"进入编辑模式，添加以下内容：
   ```
   #!/bin/sh
   xrdb $HOME/.Xresources
   startxfce4 &
   ```
   其中，
   - 第一个命令"xrdb $HOME/.Xresources"告诉VNC的GUI框架读取服务器用户的".Xresources"文件。用户可以在".Xresources"中更改图形桌面的某项设置，如终端颜色、光标主题和字体渲染。
   
   - 第二个命令"startxfce4 \&"告诉服务器启动Xfce。
   
   
   ![](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_image_0000002576871072.png "点击放大")
   
3. 为了保证VNC服务正常启动，需要配置可执行。
   ```
   sudo chmod +x ~/.vnc/xstartup
   ```
   
4. 执行以下命令，重启VNC Server。
   ```
   vncserver
   ```
   第二次运行**vncserver**时，它将创建日志文件。
   ![](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_image_0000002577141102.png "点击放大")
   回显信息中出现类似这样的一条信息：Log file is /root/.vnc/xxx:1.log。其中，"1"表示当前用户分配的是VNC的第一个虚拟桌面。
   
 
#### 步骤三：云服务器控制台配置
1. 登录[ECS控制台](https://console.huaweicloud.com/ecm/?#/ecs/manager/vmList)，进入弹性云服务器列表页面。
2. 单击弹性云服务器名称，进入详情页面。
3. 选择"安全组"页签，单击待配置安全组规则右侧的"配置规则"。
4. 在"入方向规则"页签，单击"添加规则"。
5. 添加一条入方向规则，放行5901端口。
   图1更改安全组规则   
   ![](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_image_0000002607974051.png "点击放大") 
 
#### 步骤四：使用VNC Viewer连接云服务器
1. 在本地PC打开VNC Viewer客户端，输入*云服务器的弹性公网IP* :1，设置名称，单击"OK"。
   ![](https://support.huaweicloud.com/bestpractice-ecs/public_sys-resources/note_3.0-zh-cn.png)
   端口号由[4]中回显的日志文件名决定，如果为"xxx:1.log"，则输入1。
   ![](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_image_0000002577282504.png "点击放大")
   
2. 弹出如下界面，直接单击"Continue"。 ![](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_image_0000002607431091.png "点击放大")
   
3. 输入[5]中设置的密码，单击"OK"。
   ![](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_image_0000002577128212.png "点击放大")
   
4. 建立连接后，即可查看Ubuntu的图形界面。如果需要在Ubuntu的图形界面打开终端，可在Ubuntu的图形界面右键单击**Open Terminal Here** 即可。
   图2Ubuntu 20.04的图形化界面   
   ![](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_image_0000002577128426.png "点击放大")
   图3Ubuntu 24.04的图形化界面   
   ![](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_image_0000002577320734.png "点击放大") 
 
#### 常见问题
- **如何解决无法通过VNC Viewer访问图像化桌面？**
  问题现象：通过VNC Viewer访问图像化桌面出现如下图所示报错：
  ![](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_image_0000002607564563.png "点击放大")
  处理方法：
  - 排查Ubuntu服务器的防火墙中放行了VNC服务所需的5901端口。请参考[云服务器端口不通怎样排查？](https://support.huaweicloud.com/trouble-ecs/zh-cn_topic_0191526704.html)进行排查。
  
  - 排查本地电脑是否设置了防火墙。
  
  - 排查本地电脑是否能ping通Ubuntu服务器的弹性公网IP。
  
  
  更多信息，请参见[无法登录到Linux云服务器怎么办？](https://support.huaweicloud.com/ecs_faq/zh-cn_topic_0105127983.html)。
  
- **设置完VNC密码后，如何重置新的密码？**
  1. 修改VNC密码。根据系统提示输入新的密码，然后再次输入以确认。
     ```
     vncpasswd
     ```
     密码长度为6\~8个字符。超过8个字符的密码将自动截断，只截取前8位作为VNC登录密码。
  
  2. （可选）重启VNC服务。
     ```
     vncserver -kill :1
     vncserver
     ```
     
   
 
