# Ubuntu系列弹性云服务器如何安装图形化界面？
#### 操作场景
为了提供纯净的弹性云服务器系统给客户，Ubuntu系列弹性云服务器默认未安装图形化界面，如果您需要使用图形化界面，请参见本节内容进行安装。
对于GPU加速型弹性云服务器，在安装图形化界面后，还需要配置X Server、x11vnc和lightdm，配置后可以实现：
- 系统启动后，自动启动图形系统和VNC server。
- 通过VNC远程登录云服务器后，应用程序能够正常调用GPU。
您可以参考如下流程进行Ubuntu系列弹性云服务器图形化界面的安装：
- [安装图形化界面]
- [（可选）配置X Server、x11vnc和lightdm]：仅GPU加速型弹性云服务器涉及该操作。
- [（可选）GPU加速型弹性云服务器结果验证]：仅GPU加速型弹性云服务器涉及该操作。
 
#### 约束与限制
- 本文档适用于Ubuntu 16.04、18.04、20.04、22.04和24.04操作系统的云服务器。
- 弹性云服务器需绑定弹性公网IP或者配置内网镜像源。
- 弹性云服务器安装图形化界面前，请确保云服务器内存不小于2GB，否则可能出现图形化界面安装失败，或安装后无法启动的问题。
- 鲲鹏架构的弹性云服务器请先参考[如何使用华为云开源镜像配置yum源(x86_64和鲲鹏)？](https://support.huaweicloud.com/ecs_faq/zh-cn_topic_0118948562.html)使用华为云提供的镜像源进行更新。
- GPU加速型弹性云服务器需要安装正确的GPU驱动，详细内容，请参考[GPU驱动概述](https://support.huaweicloud.com/usermanual-ecs/ecs_03_0177.html)。
 
 #### 安装图形化界面
1. 登录弹性云服务器，运行如下命令安装图形化界面。
   1. 执行如下命令，更新软件库。
      ```
      apt-get update
      ```
      
   
   2. 执行如下命令，安装Ubuntu图形化桌面。
      - 对于Ubuntu16.04版本，请执行以下命令：
        ```
        apt-get install -y scite xorg xubuntu-desktop
        ```
        
      
      - 对于Ubuntu18.04及以上版本，请执行以下命令：
        ```
        apt-get install -y ubuntu-desktop
        ```
        
       
    
2. （Ubuntu 24.04操作系统必选）设置配置文件版本。 Ubuntu 24.04操作系统在执行安装命令后，需要进行相关配置文件设置，您可以根据提示信息进行选择或直接回车采用默认值。
   图1配置文件设置示例   
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002310550052.png "点击放大") 
3. 执行以下命令，编辑/root/.profile文件。
   ```
   vim /root/.profile
   ```
   单击"i"，进入编辑模式，修改末尾行"mesg n \|\| true"为"tty -s \&\& mesg n \|\| true"，修改后该文件内容如下：
   ```
   # ~/.profile: executed by Bourne-compatible login shells.
    
   if [ "$BASH" ]; then
     if [ -f ~/.bashrc ]; then
       . ~/.bashrc
     fi
   fi
   tty -s && mesg n || true
   ```
   
4. 单击"Esc"退出编辑模式。
5. 执行以下命令，保存并退出文件。
   ```
   :wq
   ```
   
6. (Ubuntu 20.04操作系统必选)添加子账号。
   安装图形化桌面后，Ubuntu 20.04操作系统禁止root登录，因此需要在安装完成后添加子账号用于登录图形化桌面。
   以添加user01用户为例，执行以下命令。
   ```
   adduser user01
   ```
   根据提示设置新用户的密码
   ```
   Adding user `user01' ...
   Adding new group `user01' (1001) ...
   Adding new user `user01' (1001) with group `user01' ...
   Creating home directory `/home/user01' ...
   Copying files from `/etc/skel' ...
   New password: 
   Retype new password: 
   passwd: password updated successfully
   ```
   设置user01的其他信息，该信息均为可选，如果不设置可以 按回车键跳过，最后系统将提示您确认输入的信息是否正确无误。
   正确输入"**Y**"。
   ```
   Changing the user information for user01
   Enter the new value, or press ENTER for the default
           Full Name []: 
           Room Number []: 
           Work Phone []: 
           Home Phone []: 
           Other []: 
   Is the information correct? [Y/n] Y
   ```
   
7. 执行reboot命令，重启服务器。
8. 通过控制台提供的VNC登录方式连接服务器，使用root账号或[6]中添加的子账号登录图形化界面。
   - Ubuntu 20.04操作系统需使用添加的子账号登录图像化桌面。
   
   - 对于GPU加速型弹性云服务器弹性云服务器，还需要继续[配置X Server、x11vnc和lightdm]。
    
 
 #### （可选）配置X Server、x11vnc和lightdm
对于GPU加速型弹性云服务器，在安装图形化界面时，需要配置X Server、x11vnc和lightdm。
1. 远程登录弹性云服务器。
2. 执行以下命令，查询GPU的BusID。
   ```
   lspci | grep -i nvidia
   ```
   图2GPU的BusID   
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000001305249202.png "点击放大") 
3. 执行以下命令，生成X Server配置。
   ```
   nvidia-xconfig --enable-all-gpus --separate-x-screens
   ```
   
4. 在生成的"/etc/X11/xorg.conf"文件的"Section "Device""中配置GPU的BusID。
   1. 执行以下命令，编辑"/etc/X11/xorg.conf"文件。
      ```
      vi /etc/X11/xorg.conf
      ```
      
   
   2. 单击"i"，进入编辑模式。
   
   3. 在"Section "Device""中增加GPU的BusID。
      图3增加GPU的BusID   
      ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000001358242793.png "点击放大")
      ![](https://support.huaweicloud.com/ecs_faq/public_sys-resources/note_3.0-zh-cn.png)
      步骤[2]中查询的BusID为十六进制，需要转换为十进制后增加到"/etc/X11/xorg.conf"文件的"Section "Device""中。
      1. 例如，"00.0d.0"是十六进制，需转换后填入配置中的值为"PCI:00:13:0。"
        
   
   4. 单击"Esc"退出编辑模式。
   
   5. 执行以下命令，保存并退出文件。
      ```
      :wq
      ```
      
    
5. 执行以下命令，安装x11vnc。
   ```
   apt-get -y install x11vnc
   ```
   
6. 执行以下命令，安装lightdm。
   ```
   apt-get -y install lightdm
   ```
   
7. 在弹出的界面，设置默认显示管理器为"lightdm"。
   图4设置默认显示管理器   
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000001358295221.png "点击放大") 
8. 执行以下命令，设置系统默认启动图形化界面。
   ```
   systemctl set-default graphical.target
   ```
   
9. （可选）配置x11vnc开机自启动。
   1. 执行以下命令，添加文件"/lib/systemd/system/myservice.service"。
      ```
      vi /lib/systemd/system/myservice.service
      ```
      
   
   2. 单击"i"，进入编辑模式。
   
   3. 增加如下内容。
      ```
      [Unit]
      Description=My Service
      After=network.target lightdm.service
      [Service]
      Type=oneshot
      ExecStart=/usr/bin/x11vnc -forever -loop -noxdamage -repeat -rfbport 5902 -shared -bg -auth guess -o /var/log/vnc.log
      [Install]
      WantedBy=multi-user.target
      Alias=myservice.service
      ```
      
   
   4. 单击"Esc"退出编辑模式。
   
   5. 执行以下命令，保存并退出文件。
      ```
      :wq
      ```
      
    
10. 执行以下命令，加载配置文件。
    ```
    systemctl daemon-reload
    systemctl enable myservice.service
    ```
    
11. 执行reboot命令，重启服务器。
 
 #### （可选）GPU加速型弹性云服务器结果验证
对于GPU加速型弹性云服务器，在安装完图形化界面后，可通过如下操作验证驱动是否正常工作。
1. 登录[管理控制台](https://console.huaweicloud.com/console/?#/home)。
2. 为弹性云服务器配置安全组。
   1. 单击弹性云服务器名称，查看弹性云服务器详情，在弹性云服务器详情页面，选择"安全组"。
   
   2. 在"安全组"界面，单击"更改安全组规则"，进入安全组详情界面。
   
   3. 在安全组详情界面，单击"添加规则"，弹出添加规则窗口。
   
   4. 根据界面提示配置安全组规则。 允许TCP 5902端口的入方向访问，该端口号根据步骤[9.c]中的"rfbport"参数决定。
      
    
3. 通过VNC客户端访登录弹性云服务器。 本文以TightVNC为例进行介绍。
   图5TightVNC客户端   
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000001305796210.png "点击放大") 
4. 页面空白处右键单击，在菜单中选择"Open in Terminal"。
5. 在终端执行以下命令，若如所示正常识别显卡信息，表示驱动工作正常。
   ```
   nvidia-settings
   ```
   图6显卡信息   
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000001358439905.png "点击放大")
   ![](https://support.huaweicloud.com/ecs_faq/public_sys-resources/note_3.0-zh-cn.png)
   如果GPU加速型弹性云服务器安装的是GRID驱动，则需要配置License才能正常使用GPU渲染能力，详细操作，请参考[GPU加速型实例安装GRID驱动](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0149610914.html)。
   
 
