如何在运行 Amazon Linux 2 的 Amazon EC2 实例上安装 GUI?
上次更新时间:2020 年 11 月 7 日
我想在运行 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
解决方法
开始之前
1. 使用 SSH 以 ec2-user 的身份连接到您的 Amazon 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 服务器:
使用 -L 参数以启用端口转发。将 PEM_FILE 替换为您的私有密钥,并视情况将 INSTANCE_IP 替换为您实例的公有或私有 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 安装到 应用程序、Internet、Chromium 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。</p