文档首页/ 弹性云服务器 ECS/ 常见问题/ 操作系统相关问题/ Ubuntu系列弹性云服务器如何安装图形化界面?
更新时间:2024-11-11 GMT+08:00

Ubuntu系列弹性云服务器如何安装图形化界面?

操作场景

为了提供纯净的弹性云服务器系统给客户,Ubuntu系列弹性云服务器默认未安装图形化界面,如果您需要使用图形化界面,请参见本节内容进行安装。

对于GPU加速型弹性云服务器,在安装图形化界面后,还需要配置X Server、x11vnc和lightdm,配置后可以实现:

  • 系统启动后,自动启动图形系统和VNC server。
  • 通过VNC远程登录云服务器后,应用程序能够正常调用GPU。

您可以参考如下流程进行Ubuntu系列弹性云服务器图形化界面的安装:

约束与限制

  • 本文档适用于Ubuntu 16.04、18.04以及20.04操作系统的云服务器。
  • 弹性云服务器需绑定弹性公网IP或者配置内网镜像源。
  • 弹性云服务器安装图形化界面前,请确保云服务器内存不小于2GB,否则可能出现图形化界面安装失败,或安装后无法启动的问题。
  • 鲲鹏架构的弹性云服务器请先参考如何使用自动化工具配置华为云镜像源(x86_64和鲲鹏)?使用华为云提供的镜像源进行更新。
  • GPU加速型弹性云服务器需要安装正确的GPU驱动,详细内容,请参考GPU驱动概述

安装图形化界面

  1. 登录弹性云服务器,运行如下命令安装图形化界面。
    1. 执行如下命令,更新软件库。

      apt-get update

    2. 执行如下命令,安装Ubuntu图形化桌面。
      • 对于Ubuntu16.04版本,请执行以下命令:

        apt-get install -y scite xorg xubuntu-desktop

      • 对于Ubuntu18.04和20.04版本,请执行以下命令:

        apt-get install -y ubuntu-desktop

  2. 执行以下命令,编辑/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
  3. 单击“Esc”退出编辑模式。
  4. 执行以下命令,保存并退出文件。

    :wq

  5. (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
  6. 执行reboot命令,重启服务器。
  7. 通过控制台提供的VNC登录方式连接服务器,使用root账号或5中添加的子账号登录图形化界面。
    • 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

    图1 GPU的BusID
  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。
      图2 增加GPU的BusID

      步骤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”。
    图3 设置默认显示管理器
  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. 登录管理控制台。
  2. 弹性云服务器配置安全组。
    1. 单击弹性云服务器名称,查看弹性云服务器详情,在弹性云服务器详情页面,选择“安全组”。
    2. 在“安全组”界面,单击“更改安全组规则”,进入安全组详情界面。
    3. 在安全组详情界面,单击“添加规则”,弹出添加规则窗口。
    4. 根据界面提示配置安全组规则。

      允许TCP 5902端口的入方向访问,该端口号根据步骤9.c中的“rfbport”参数决定。

  3. 通过VNC客户端访登录弹性云服务器

    本文以TightVNC为例进行介绍。

    图4 TightVNC客户端
  4. 页面空白处右键单击,在菜单中选择“Open in Terminal”。
  5. 在终端执行以下命令,若如所示正常识别显卡信息,表示驱动工作正常。

    nvidia-settings

    图5 显卡信息

    如果GPU加速型弹性云服务器安装的是GRID驱动,则需要配置License才能正常使用GPU渲染能力,详细操作,请参考GPU加速型实例安装GRID驱动