Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
如何在运行 Amazon Linux 2 的 Amazon EC2 实例上安装 GUI?
我想在运行 Amazon Linux 2 的 Amazon Elastic Compute Cloud(Amazon EC2)实例中安装图形用户界面(GUI)。
简短描述
您可以手动安装 GUI,也可以选择以下方法之一:
- 从预装了 MATE 的 Amazon Linux 2 亚马逊机器映像(AMI)启动。有关更多信息,请参阅 Configure the Amazon Linux 2 MATE desktop connection。
- 使用 Amazon WorkSpaces,这是一项完全托管的永久桌面虚拟化服务。有关更多信息,请参阅 Amazon WorkSpaces Family。
- 使用 Amazon DCV,这是一种远程显示协议,可将远程桌面和应用流从任何云或数据中心安全地传输到任何设备。有关更多信息,请参阅 Amazon DCV。
解决方法
先决条件
- 使用 SSH 以 Amazon EC2 用户身份连接到您的实例。该实例必须位于公有子网中,并可通过公有 IP 地址或弹性 IP 地址进行访问。您也可以使用 AWS VPN 或 AWS Direct Connect 建立连接,通过私有 IP 访问您的实例。这些说明不适用于使用堡垒主机的环境。出于安全原因,发往虚拟网络计算(VNC)服务器的流量使用 SSH 进行隧道传输。最佳做法是避免在安全组中打开 VNC 端口。
- 运行 sudo yum update 更新您的实例,然后重启该实例。更新和重启失败可能会导致后续步骤出现不可预测的结果。
**注意:**以下一组说明仅适用于 Amazon Linux 2。要确认您的版本,请运行下面的命令:
$ grep PRETTY\_NAME /etc/os-release PRETTY\_NAME="Amazon Linux 2"
安装 MATE 桌面环境
安装 MATE 桌面环境,这是一款基于 GNOME 2 的轻量化 GUI,可作为 Amazon Linux 2 的附加功能使用。有关 MATE 的更多信息,请参阅 MATE 网站上的 MATE 桌面环境。
-
安装 MATE 软件包。
sudo amazon-linux-extras install mate-desktop1.x -y
-
将 MATE 定义为所有用户的默认桌面。
sudo bash -c 'echo PREFERRED=/usr/bin/mate-session > /etc/sysconfig/desktop'
安装 TigerVNC
安装 VNC 服务(如 TigerVNC)。有关 TigerVNC 的更多信息,请参阅 TigerVNC 网站上的 TigerVNC。
-
安装 TigerVNC 服务器。
sudo yum install tigervnc-server -y
-
为此用户配置一个长度为六到八个字符的 VNC 专用密码。当系统询问您是否要输入只读密码时,请按 n。
vncpasswd
-
将 VNC 网络访问限制到 localhost,以便您只能使用安全的 SSH 隧道访问 VNC。
创建 tigervnc 配置目录。sudo mkdir /etc/tigervnc
创建一个包含 localhost 选项的强制配置文件。
sudo bash -c 'echo localhost > /etc/tigervnc/vncserver-config-mandatory'
注意: 如果希望 VNC 会话在所有接口上运行,允许直接访问互联网,请对 localhost 条目进行哈希处理。最佳做法是使用安全组来限制,以仅允许来自 IP 或 CIDR 的 VNC 会话端口。
-
在 1 号显示屏上启动 VNC 服务器,并将其设置为始终在启动时启动。
使用 sed 命令将新单元中出现的所有 USER 替换为 ec2-user。sudo sed -i 's/<USER>/ec2-user/' /lib/systemd/system/vncserver@.service
要创建新的 systemd 单元,请将单元文件复制到 /etc/systemd/system/。
sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service
重新加载 systemd 管理器配置。
sudo systemctl daemon-reload
启动时启用该服务。
sudo systemctl enable vncserver@:1
启动该服务。
sudo systemctl start vncserver@:1
确认该服务运行。
sudo systemctl status vncserver@:1
使用以下命令确认 1 号显示屏默认使用端口 5901/TCP:
sudo netstat -tulpen |grep 590\*
tcp 0 0 0.0.0.0:5901 0.0.0.0:\* LISTEN 1000 78547 1304/Xvnc tcp6 0 0 :::5901 :::\* LISTEN 1000
使用 VNC 连接到 GUI
要使用 VNC 连接到 GUI,请安装 TigerVNC 软件,使用 SSH 连接到实例,然后输入 VNC 密码。
安装 TigerVNC 软件
TigerVNC 有 Windows、Linux 和 macOS 几种版本。要下载相应版本,请参阅 TigerVNC 网站上的 TigerVNC。
- **Linux:**TigerVNC 软件包可在许多发行版的存储库中找到。
- macOS: 下载并安装 TigerVNC-x.y.z.dmg,其中 x.y.z 代表最新版本。
- Windows: 下载并安装 tigervnc64-x.y.z.exe(64 位)或 tigervnc-x.y.z.exe(32 位),其中 x.y.z 代表最新版本。
使用 SSH 连接到实例
使用 SSH 连接到实例。然后,创建隧道,将本地端口 5901/TCP(VNC)上的所有流量转发到实例的 VNC 服务器。
**注意:**如果没有将 VNC 网络访问限制为 localhost,则无需使用安全的 SSH 隧道。可以使用实例公有 IP 连接到 TightVNC Viewer。
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。
- 在目标字段中输入 localhost:5901。
- 选择添加。
输入 VNC 密码
要输入 VNC 密码,请完成下面的步骤:
- 在本地计算机上打开 TigerVNC Viewer。
- 对于 VNC 服务器主机名,输入 localhost:1,然后连接到它。
- 输入您在安装 TigerVNC 部分的步骤 2 中设置的 VNC 密码。
**注意:**如果收到提示连接不安全的警报,请将其忽略。访问 VNC 服务器是使用加密的 SSH 隧道。
(可选)关闭 VNC 的密码身份验证
关闭 VNC 密码身份验证不是最佳做法。当 VNC 密码身份验证关闭时,任何有权使用 SSH 连接到您的实例的用户都可以创建隧道并访问您的 VNC 桌面。
如果这是一个单用户实例,并且您想关闭 VNC 的密码身份验证,请完成下面的步骤。
-
运行以下命令来将 VNC 服务器的“安全类型”设置更改为“无”。
echo SecurityTypes=None >> ~/.vnc/config
-
重启 VNC 服务器。
sudo systemctl restart vncserver@:1
(可选)安装 Web 浏览器(仅限 X86)
在 Amazon Linux 2 存储库中,AWS 不提供 Web 浏览器,例如 Chromium Projects 网站上的 Chromium 或 Mozilla 网站上的 Firefox。这些第三方来源的网页浏览器不支持基于 Graviton 处理器 (aarch64) 的实例。
注意: 对于从第三方来源安装的软件,AWS 不提供支持。
Chromium 和 Firefox 均仅在 X86 版本中可用。要安装此类浏览器,请按照以下步骤进行操作。**注意:**这些步骤适用于基于 64 位 Intel 和 AMD 处理器 (x86_64) 的 EC2 实例。
要确认您的实例的架构,请运行此命令:
$ uname -m
要安装 Chromium(Google Chrome 背后的开源项目),请完成下面的步骤:
-
激活 EPEL 存储库。有关更多信息,请参阅 Fedora Project 网站上的 Extra Packages for Enterprise Linux (EPEL)。
sudo amazon-linux-extras install epel -y
-
安装 Chromium 软件包。
sudo yum install chromium -y
Chromium 安装在 MATE 的 Applications(应用程序)> Internet(互联网)> Chromium Web Browser(Chromium Web 浏览器)下面。
要安装 Mozilla Firefox(仅限当前用户),请完成下面的步骤:
-
将适用于 Linux 64 位的最新版本 Firefox 下载到本地计算机。要下载相应版本或添加适用于 Debian Linux 的存储库,请参阅 Mozilla 网站上的选择您想要下载的 Firefox 浏览器语言版本。
-
使用 SSH 连接到 EC2 实例。
-
提取文件内容。此示例命令表示该文件位于 ec2-user 的主目录中。根据需要更改路径和 Firefox 版本“xx.y”。
tar jxf ~/firefox-xx.y.tar.bz2 -C ~/
-
要创建桌面图标,请使用 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 中创建的桌面图标启动 Firefox。
-
如果出现提示,告诉您应用程序启动器未标记为可信,请选择标记为可信,然后打开 Firefox。
相关信息
相关内容
- AWS 官方已更新 6 个月前
- AWS 官方已更新 9 个月前
- AWS 官方已更新 3 年前