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

上次更新时间:2020 年 5 月 15 日

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

简短描述

MATE 桌面环境是基于 GNOME 2 的轻量型 GUI,可以作为 Amazon Linux 2 的补充,并在 Amazon WorkSpaces 的 Amazon Linux 2 产品中使用。有关 MATE 的更多信息,请参阅 MATE 桌面环境网站

要与 MATE 交互,您可以安装虚拟网络计算(VNC)服务,例如 TigerVNC。有关 TigerVNC 的更多信息,请参阅 tigervnc.org 网站

您也可将 Firefox 或 Chromium 等通用的 Web 浏览器安装于 Amazon Linux 2。有关 Firefox 的更多信息,请参阅 mozilla.org 网站。有关 Chromium 的更多信息,请参阅 chromium.org 网站

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

cat /etc/os-release

解决方法

在开始安装之前

1.    使用 SSH 以 ec2-user的身份连接到您的 Amazon 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

将新单元的所有 <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 服务器。

Linux 和 macOS

使用 SSH 连接到您的实例

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

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

Windows

打开与 PuTTY 的连接之前,请配置端口转发:
    从连接菜单中,选择 SSH,然后选择隧道
    在源端口字段中输入 5901。
    在 Destination 字段中输入 localhost: 5901
    选择添加

打开连接。

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 安装到 应用程序,Internet,Chromium Web 浏览器 下的 MATE 上。

Mozilla Firefox(仅当前用户)

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

2.    下载 Firefox 后,将文件复制到您的实例:
    Linux 和 macOS 的说明。
    Windows 的说明。

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。


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?