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

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

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

简短描述

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

  1. 安装 MATE 桌面环境。MATE 是一款基于 GNOME 2 的轻量级 GUI,可作为 Amazon Linux 2 的附加组件提供。Amazon WorkSpaces 的 Amazon Linux 2 产品使用 MATE。有关 MATE 的更多信息,请参阅 MATE 桌面环境网站
  2. 安装虚拟网络计算 (VNC) 服务,例如 TigerVNC。有关 TigerVNC 的更多信息,请参阅 tigervnc.org 网站
  3. 使用 VNC 连接到 GUI。
  4. (可选)安装 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 VPNAWS 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,其内容如以下示例所示。

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

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


这篇文章对您有帮助吗?


您是否需要账单或技术支持?