如何在运行 Amazon Linux 2 的 Amazon EC2 实例上安装 GUI?

上次更新时间:2021 年 4 月 20 日

我想在运行 Amazon Linux 2 的 Amazon Elastic Compute Cloud (Amazon EC2) 实例中安装图形用户界面 (GUI)。应如何操作?

简短描述

要在 EC2 Linux 实例上安装 GUI,请执行以下操作:

    安装 MATE 桌面环境。MATE 是一款基于 GNOME 2 的轻量级 GUI,可作为 Amazon Linux 2 的附加组件提供。Amazon WorkSpaces 的 Amazon Linux 2 产品使用 MATE。有关 MATE 的更多信息,请参阅 MATE 桌面环境网站。 安装虚拟网络计算 (VNC) 服务,例如 TigerVNC。有关 TigerVNC 的更多信息,请参阅 tigervnc.org 网站。 使用 VNC 连接到 GUI。 (可选)安装 Web 浏览器,例如 Firefox 或 Chromium。有关 Firefox 的更多信息,请参阅 mozilla.org 网站。有关 Chromium 的更多信息,请参阅 chromium.org 网站。

注意:这些说明仅适用于 Amazon Linux 2。要确认您正在运行的版本,请运行以下命令:

cat /etc/os-release

有关通过 GUI 访问 EC2 macOS 实例的说明,请参阅如何通过 GUI 访问我的 Amazon EC2 Mac 实例?

解决方法 开始之前

1.使用 SSH 以 EC2-用户身份连接到您的实例。

此实例必须位于公有子网中,并可通过公有 IP 地址或弹性 IP 地址访问。或者,您可以使用 AWS VPN 或 AWS Direct Connect 建立一个连接,可让您通过私有 IP 访问您的实例。这些说明不适用于使用堡垒主机的环境。出于安全原因,将使用 SSH 为到 VNC 服务器的流量建立隧道。此为避免在您的安全组中开放 VNC 端口的最佳实践。

2.运行 sudo yum update 更新您的实例,然后重启实例。如果不更新并重启实例,可能会导致执行以下步骤时出现无法预测的结果。

安装 MATE 桌面环境

1.安装 MATE 软件包。

sudo amazon-linux-extras install mate-desktop1.x

2.将 MATE 定义为您的默认桌面。

要为所有用户定义 MATE:

sudo bash -c 'echo PREFERRED=/usr/bin/mate-session > /etc/sysconfig/desktop'

要仅为当前用户 (ec2-user) 定义 MATE:

echo "/usr/bin/mate-session" > ~/.Xclients && chmod +x ~/.Xclients
安装 TigerVNC

1.安装 TigerVNC 程序包:

sudo yum install tigervnc-server

2.为此用户配置特定于 VNC 的密码,该密码应包含 6 到 8 个字符。如果系统询问您是否想要输入一个仅限查看的密码,请按“n”。

vncpasswd

3.在 1 号显示器上启动 VNC 服务器。

输入以下命令以仅启动 VNC 服务器一次:

注意:输入此命令可防止服务在重新启动后启动。

vncserver :1

输入以下命令以在系统启动时始终启动 VNC 服务器:

创建新的 systemd 单元。

sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service

使用 sed 命令将新单元的所有 USER 替换为 ec2-user

sudo sed -i 's/<USER>/ec2-user/' /etc/systemd/system/vncserver@.service

重新加载 systemd 管理器配置。

sudo systemctl daemon-reload

启用该服务。

sudo systemctl enable vncserver@:1

启动该服务。

sudo systemctl start vncserver@:1
使用 VNC 连接到 GUI

1.在您的本地计算机上安装 TigerVNC 软件(如果尚未安装)。TigerVNC 可用于 Linux、Windows 和 macOS。如要下载,请访问 TigerVNC 网站。

2.在本地计算机上,使用 SSH 连接到您的实例,创建隧道,将本地端口 5901/TCP(VNC) 上的所有流量转发至实例的 VNC 服务器:

使用 SSH 连接到您的实例。

使用 -L 参数以启用端口转发。将 PEM_FILE 替换为私钥的路径。视情况将 INSTANCE_I 替换为您实例的公有或私有 IP。

ssh -L 5901:localhost:5901 -i PEM_FILE ec2-user@INSTANCE_IP

打开连接。

3.在您的本地计算机上打开 VNC 客户端。当系统要求输入 VNC 服务器主机名时,输入 localhost:1,然后与其连接。

4.输入您在安装 TigerVNC 内容第 2 步中设置的 VNC 密码。如果出现警告提示该连接不安全,请忽略它。尽管默认情况下 VNC 数据为未加密状态,但您正在使用加密的 SSH 隧道访问 VNC 服务器。

您的 MATE 桌面环境将出现。

(可选)安装 Web 浏览器

Amazon Linux 2 存储库中,AWS 目前不提供 Mozilla Firefox 或 Google Chromium 等 Web 浏览器。要安装此类浏览器,请执行以下步骤。

注意:AWS 不支持从第三方源安装的软件。

要安装 Chromium(Google Chrome 的开源版本),请执行以下操作:

1.启用 EPEL 存储库。请参阅 Fedoraproject.org 网站上的 EPEL 文档了解更多信息。

sudo amazon-linux-extras install epel

2.安装 Chromium 程序包。

sudo yum install chromium

将 Chromium 安装到 应用程序InternetChromium Web 浏览器下的 MATE 上。

要安装 Mozilla Firefox(仅限当前用户),请执行以下操作:

1.将适用于 Linux 64 位的最新版本 Firefox 下载到本地计算机。如要下载,请访问 mozilla.org 网站。

2.下载 Firefox 后,将文件复制到您的实例。

3.提取文件内容。以下命令表示该文件位于 ec2-user 的主目录中。根据需要更改路径和 Firefox 版本。

tar jxf ~/firefox-xx.y.tar.bz2 -C ~/

4.使用 vim 或您偏好的编辑器,创建一个桌面图标。创建文件 ~/Desktop/Firefox.desktop,其内容如以下示例所示。


Version=1.0
Type=Application
Terminal=false
Icon=/home/ec2-user/firefox/browser/chrome/icons/default/default128.png
Icon=/home/ec2-user/firefox/browser/chrome/icons/default/default128.png
Name=Firefox
Exec=/home/ec2-user/firefox/firefox
Comment=Firefox web browser
Name=Firefox
Comment=Firefox web browser
GenericName=Firefox web browser
Categories=Network;WebBrowser;

5.使用第 4 步中创建的桌面图标启动 Firefox。