如何在執行 Amazon Linux 2 的 Amazon EC2 執行個體上安裝 GUI?

上次更新日期:2022 年 8 月 4 日

我想要在執行 Amazon Linux 2 的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體中安裝圖形使用者界面 (GUI)。要怎麼做?

簡短描述

在繼續操作之前,首先考慮以下替代方案之一來手動安裝 GUI:

  • 從預先安裝的 MATE 隨附的 Amazon Linux 2 AMI 啟動。如需詳細資訊,請參閱設定 Amazon Linux 2 MATE 桌面連線
  • 開始使用全受管持久桌面虛擬化服務 Amazon WorkSpaces。如需詳細資訊,請參閱 Amazon WorkSpaces
  • 開始使用 NICE DCV,這是一個遠端顯示通訊協定,可將遠端桌面和應用程式從任何雲端或資料中心安全地串流至任何裝置。如需詳細資訊,請參閱 NICE DCV

如果要繼續手動 GUI 安裝,則執行以下操作:

  1. 安裝 MATE 桌面環境,這款基於 GNOME 2 的輕量級 GUI 可作為 Amazon Linux 2 的額外元件提供。如需有關 MATE 的詳細資訊,請參閱 MATE 桌面環境網站
  2. 安裝虛擬網路運算 (VNC) 服務,如 TigerVNC。如需有關 TigerVNC 的詳細資訊,請參閱 tigervnc.org 網站
  3. 使用 VNC 連線至 GUI。
  4. (選用) 關閉 VNC 的密碼驗證。
  5. (選用) 安裝 Web 瀏覽器,如 Chromium 或 Firefox。如需有關 Chromium 的詳細資訊,請參閱 chromium.org 網站。如需有關 Firefox 的詳細資訊,請參閱 mozilla.org 網站。請注意,Chromium 和 Firefox 僅在 X86 變體中可用。

注意:這些指示僅適用於 Amazon Linux 2。若要確認您正在執行的版本,請執行下列命令:

$ grep PRETTY_NAME /etc/os-release
PRETTY_NAME="Amazon Linux 2"

如需有關使用 GUI 存取 EC2 macOS 執行個體的指示,請參閱如何透過 GUI 存取 Amazon EC2 Mac 執行個體?

解決方案

開始之前

1.    使用 SSH 以 EC2-user 身分連線至您的執行個體

此執行個體必須在公有子網路中,並可透過公有 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 定義為您的預設桌面。

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

安裝 TigerVNC

1.    安裝 TigerVNC 伺服器:

sudo yum install tigervnc-server

2.    為此使用者設定 VNC 專用密碼,其中包含六到八個字元。如果系統詢問您是否要輸入僅供檢視的密碼,請按 "n"。

vncpasswd

3.    將 VNC 網路存取限定為本地主機,以便僅使用安全 SSH 通道存取 VNC。

建立 TigerVNC 組態目錄:

sudo mkdir /etc/tigervnc

建立含 localhost 選項的必要組態檔案:

sudo bash -c 'echo localhost > /etc/tigervnc/vncserver-config-mandatory'

4.    在 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 適用於 Windows、Linux 和 macOS。請參閱 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 代表最新版本。

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 開啟連線時,設定連接埠轉送,然後開啟連線:

  1. Connection (連線) 選單中,依序選取 SSHTunnels (通道)。
  2. Source Port (來源連接埠) 欄位中,輸入 5901。
  3. Destination (目的地) 欄位中,輸入 localhost:5901
  4. 選取 Add (新增)。

3.    在您的本機電腦上開啟 TigerVNC Viewer。在系統要求輸入 VNC 伺服器主機名稱時,輸入 localhost:1,然後與之連線。

4.    輸入您在「安裝 TigerVNC」部分的步驟 2 中設定的 VNC 密碼。如果出現提醒,指出此連線不安全,請忽略它。您正在使用加密 SSH 通道存取 VNC 伺服器。

您的 MATE 桌面環境將出現。

(選用) 停用 VNC 的密碼驗證

停用 VNC 密碼驗證並非最佳實務。任何能使用 SSH 連線至您執行個體的使用者,皆可建立通道並存取您的 VNC 桌面。如果這是單一使用者執行個體 (即沒有其他人可以登入),且您確定要停用 VNC 的密碼驗證,請執行以下步驟:

1.    將 VNC 伺服器的 Security Types (安全類型) 設定變更為 None (無):

echo SecurityTypes=None >> ~/.vnc/config

2.    重新啟動 VNC 伺服器。

sudo systemctl restart vncserver@:1

(選用) 安裝 Web 瀏覽器 (僅限 X86)

在 Amazon Linux 2 儲存庫中,AWS 不提供 Chromium 或 Firefox 等 Web 瀏覽器。若要安裝其中一個瀏覽器,請執行這些步驟。請注意,AWS 不支援從第三方來源安裝的軟體。

以下說明適用於以 64 位元 Intel 和 AMD 處理器 (x86_64) 為基礎的 EC2 執行個體。這些第三方來源不提供 Web 瀏覽器給以 Graviton 處理器 (aarch64) 為基礎的執行個體。若要確認執行個體的架構,請執行下列命令:

$ uname -m
x86_64

若要安裝 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 後,將檔案複製到您的執行個體。如需相關說明,請參閱 LinuxWindows 的相關網站。

3.    使用 SSH 連線至您的 EC2 執行個體。

4.    擷取檔案內容。此範例命令表示此檔案在 ec2-user 的主目錄中。視需要變更路徑和 Firefox 版本。

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

5.    使用 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;

6.    使用步驟 5 中建立的桌面圖示啟動 Firefox。

7.    如果顯示提示,指出應用程式啟動器未標記為受信任,請選擇 Mark as Trusted (標記為受信任),然後按兩下以開啟 Firefox。


此文章是否有幫助?


您是否需要帳單或技術支援?