阿里云ECS云服务器Ubuntu的图形界面

环境

  • 阿里云ECS云服务器 Ubuntu 22.04
  • Alibaba Cloud Client 1.5.2
  • Firefox 133.0.3 (64 位)
  • RealVNC Viewer 7.12.1

步骤

准备

在阿里云上申请云服务器ECS,申请过程略。我申请的实例是Ubuntu 22.04,位置是在中国香港。

在这里插入图片描述

下载Alibaba Cloud Client,通过SSH连接远程服务器:

在这里插入图片描述
登录服务器,确保工作正常:

在这里插入图片描述

在Ubuntu系统上安装图形化界面

更新软件源:

sudo apt-get update

安装图形化桌面:

sudo apt-get install ubuntu-desktop

设置默认启动为图形化桌面(运行 systemctl set-default multi-user.target ,即可取消图形化界面登录):

sudo systemctl set-default graphical.target

重启ECS实例:

sudo reboot

连接图形界面

有两种方法可以连接图形界面:

  • 通过ECS管理控制台(推荐):该方法相对简单,不需要在服务器上配置vncserver,也不需要在客户机上安装VNC viewer
  • 通过VNC Viewer:即通用的VNC方法,稍微麻烦一些,另外还需要打开服务器的5901端口

通过ECS管理控制台

在ECS管理控制台,点击对应实例上的“远程连接”按钮,然后在弹出对话框中选择“展开其他登录方式”:

在这里插入图片描述

然后点击“通过VNC远程连接”下面的“立即登录”按钮:

在这里插入图片描述

初始化一下Ubuntu配置,就可以使用了:

在这里插入图片描述

通过VNCViewer连接

在ECS服务器上安装VNC:

apt-get install tightvncserver

启动VNC:

vncserver

确认VNC已经启动:

$ ps -ef | grep vnc
ding        2646    1941  0 22:06 pts/1    00:00:00 /bin/sh /home/ding/.vnc/xstartup
ding        2799    1941  0 22:08 pts/1    00:00:00 /bin/sh /home/ding/.vnc/xstartup
ding        2917    1941  0 22:08 pts/1    00:00:00 Xtightvnc :1 -desktop X -auth /run/user/1000/.mutter-Xwaylandauth.PCDZZ2 -geometry 1024x768 -depth 24 -rfbwait 120000 -rfbauth /home/ding/.vnc/passwd -rfbport 5901 -fp /usr/share/fonts/X11/misc/,/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/75dpi/,/usr/share/fonts/X11/100dpi/ -co /etc/X11/rgb
ding        2923    1941  0 22:08 pts/1    00:00:00 /bin/sh /home/ding/.vnc/xstartup
root        2926    1684  0 22:08 pts/0    00:00:00 grep --color=auto vnc

VNC使用的是5901端口:

~$ nc -zv localhost 5901
Connection to localhost (127.0.0.1) 5901 port [tcp/*] succeeded!

但是,由于服务器有防火墙,从客户机无法连接到ECS服务器的5901端口:

C:\Users\duke_>nc -zv 47.238.136.198 5901
Ncat: Version 7.95 ( https://nmap.org/ncat )
Ncat: TIMEOUT.

接下来需要打开服务器的5901端口。在Alibaba Cloud Client里,对ECS实例,选择“查看安全组”:

在这里插入图片描述

然后在安全组里,选择“添加入方向规则”:

在这里插入图片描述

添加入方向规则如下:

在这里插入图片描述

现在,从客户机就可以连通ECS服务器的5901端口了:

C:\Users\duke_>nc -zv 47.238.136.198 5901
Ncat: Version 7.95 ( https://nmap.org/ncat )
Ncat: Connected to 47.238.136.198:5901.
Ncat: 0 bytes sent, 0 bytes received in 0.17 seconds.

下载安装VNC Viewer,我使用的是RealVNC Viewer,安装过程略。

新建连接,配置VNC server(别忘了加上 :5901 ),如下图所示:

在这里插入图片描述

但是连接上去后,只有一片空白,什么也没有:

在这里插入图片描述
按照官网的指示( https://help.aliyun.com/zh/simple-application-server/use-cases/use-vnc-to-build-guis-on-ubuntu-18-04-and-20-04 ):

apt install -y gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal ubuntu-desktop

然后修改 ~/.vnc/xstartup 文件:

#!/bin/sh
export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"
export XDG_MENU_PREFIX="gnome-flashback-"
gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &

重启vncserver:

vncserver -kill :1

vncserver

注:启动vncserver时,可以指定分辨率和序号,如:

vncserver -geometry 1920x1080 :1

但是再次连接时,还是一片空白。

于是采用重启大法,把服务器重启了一下,这次终于OK了。

同样,初始化一下Ubuntu配置,就可以使用了:

在这里插入图片描述

(注:由于服务器重启才OK,我也不是百分之百确定之前做的两步是否都是必要的。)

另外,不难发现,两种方式,打开的图形界面不太一样……

参考

  • https://home.console.aliyun.com
  • https://help.aliyun.com/zh/ecs/use-cases/installing-a-graphical-desktop-environment-for-a-linux-instance
  • https://help.aliyun.com/zh/ecs/user-guide/log-on-to-an-instance-by-using-vnc
  • https://blog.csdn.net/heatdeath/article/details/70479161