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

3 分的閱讀內容
0

我想要在執行 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 存取執行個體。這些指示不適用於使用堡壘主機的環境。基於安全理由,VNC 伺服器的流量使用 SSH 進行通道傳輸。最佳實務是避免在安全群組中開啟 VNC 連接埠。

2.    執行 sudo yum 更新更新您的執行個體,然後重新啟動執行個體。無法更新並重新啟動執行個體可能會導致遵循這些步驟時出現無法預測的結果。

安裝 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 網路存取限定為 localhost,以便僅使用安全 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. 連線選單中,依序選取 SSH通道
  2. 來源連接埠欄位中,輸入 5901。
  3. 目的地欄位中,輸入 localhost:5901
  4. 選取新增

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

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

您的 MATE 桌面環境將會出現。

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

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

1.    將 VNC 伺服器的「安全類型」設定變更為「無」:

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

2.    重新啟動 VNC 伺服器。

sudo systemctl restart vncserver@:1

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

在 Amazon Linux 2 儲存庫中,AWS 不提供 Web 瀏覽器 (例如,Chromium 或 Firefox)。若要安裝其中一個瀏覽器,請遵循這些步驟。請注意,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 安裝在應用程式網際網路Chromium 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.    如果出現提示,指出應用程式啟動器未標記為受信任,請選擇「標記為受信任」,然後按兩下以開啟 Firefox。

AWS 官方
AWS 官方已更新 2 年前