

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 將 Xdcv 與主控台工作階段搭配使用
<a name="xdcv-console-sessions"></a>

Amazon DCV 提供兩種類型的工作階段：主控台和虛擬。

透過**虛擬工作階段**，Amazon DCV 會啟動專用 X 伺服器執行個體 Xdcv，並在其中執行桌面環境。Amazon DCV 會為每個虛擬工作階段啟動新的 Xdcv 執行個體，而每個虛擬工作階段會使用其自己的 X 伺服器執行個體提供的顯示器。Xdcv 二進位檔由 `nice-xdcv`套件提供。

使用**主控台工作階段**時，Amazon DCV 會直接擷取桌面畫面的內容，該畫面通常由系統的 X 伺服器 (Xorg) 在 Linux 上轉譯。您也可以將主控台工作階段設定為由 Xdcv 提供，以取代 Xorg。這可提供動態調整大小和多監視器，而無需在 中設定特定項目`xorg.conf`。

本主題說明如何在 Ubuntu、RHEL/Rocky Linux/CentOS Stream 和 Amazon Linux 2023 上進行切換。

**重要**  
此組態僅適用於非 GPU 主機。在具有 GPU 的執行個體上套用這些步驟會中斷 GPU 加速的顯示管道。

**注意**  
這些指示假設您的系統使用 GDM (GNOME Display Manager)。如果您使用不同的顯示管理員，例如 LightDM 或 SDDM，請相應地調整`systemctl restart`命令。

**Topics**
+ [先決條件](#xdcv-console-prereqs)
+ [Ubuntu](#xdcv-console-ubuntu)
+ [RHEL / Rocky Linux / CentOS 串流](#xdcv-console-rhel)
+ [Amazon Linux 2023](#xdcv-console-al2023)
+ [驗證 DNS 組態](#xdcv-console-verify)
+ [還原](#xdcv-console-revert)

## 先決條件
<a name="xdcv-console-prereqs"></a>

為您的分佈執行命令之前，請確認下列事項：
+ `nice-xdcv` 套件已安裝，且`Xdcv-console`二進位檔位於 `/usr/bin/Xdcv-console`。
+ 您有根權限 （適當`sudo`時使用）。

**注意**  
組態之後，下一個主控台登入將啟動 Xdcv 支援的工作階段，而不是標準 Xorg 工作階段。

## Ubuntu
<a name="xdcv-console-ubuntu"></a>

在 Ubuntu 上，透過將原始 Xorg 二進位檔轉出，並透過符號連結指向 `/usr/bin/Xorg``Xdcv-console`來執行切換。

```
$ dpkg-divert --package nice-xdcv --divert /usr/bin/Xorg.orig --rename /usr/bin/Xorg
$ ln -sf /usr/bin/Xdcv-console /usr/bin/Xorg
$ sudo systemctl restart gdm
```每個命令的功能

`dpkg-divert`  
告知 dpkg `nice-xdcv`套件擁有路徑，`/usr/bin/Xorg`並將現有的 Xorg 二進位檔重新命名為 `/usr/bin/Xorg.orig`。這會保留原始二進位檔，並防止未來 Xorg 套件升級覆寫您的自訂。

`ln -sf`  
建立或取代符號連結，讓叫用 的任何程序`/usr/bin/Xorg`實際執行 `/usr/bin/Xdcv-console`。

`systemctl restart gdm`  
重新啟動 GNOME Display Manager，讓變更生效。這會終止主機上的任何作用中圖形工作階段，因此在沒有人登入主控台時執行它。

## RHEL / Rocky Linux / CentOS 串流
<a name="xdcv-console-rhel"></a>

在 RHEL-family 分佈上，`nice-xdcv`套件提供兩個系統化單位，可宣告地處理交換器。

```
$ systemctl enable --now xdcv-console-update.service
$ systemctl enable xdcv-console.path
$ sudo systemctl restart gdm
```每個命令的功能

`xdcv-console-update.service`  
調校系統以`Xdcv-console`用於主控台工作階段的單位。使用 啟用它會立即`--now`啟用它，並在後續開機時啟動它。

`xdcv-console.path`  
以路徑為基礎的單元，可監控磁碟上的相關檔案，並在 X 伺服器組態變更時重新觸發更新服務，例如在套件升級之後。啟用它可確保自動重新套用 Xdcv 組態，而不是以無提示的方式還原。

`systemctl restart gdm`  
重新啟動 GNOME Display Manager，讓變更生效。這會終止主機上的任何作用中圖形工作階段，因此在沒有人登入主控台時執行它。

## Amazon Linux 2023
<a name="xdcv-console-al2023"></a>

Amazon Linux 2023 使用 `update-alternatives`系統來管理哪個二進位檔提供 `/usr/bin/X`。

```
$ update-alternatives --install /usr/bin/X X /usr/bin/Xdcv-console 11
$ sudo update-alternatives --set X /usr/bin/Xdcv-console
$ sudo systemctl restart gdm
```每個命令的功能

`update-alternatives --install`  
註冊`Xdcv-console`為`X`替代 的候選者，優先順序為 11。優先順序只有在替代項目處於自動模式時才很重要；下一個命令會覆寫該項目。

`update-alternatives --set X`  
明確釘選`X`到 `Xdcv-console`，因此稍後不會由較高優先順序的候選者取代。

`systemctl restart gdm`  
重新啟動 GNOME Display Manager，讓變更生效。這會終止主機上的任何作用中圖形工作階段，因此在沒有人登入主控台時執行它。

## 驗證 DNS 組態
<a name="xdcv-console-verify"></a>

套用分佈的步驟之後，請確認 X 伺服器路徑現在解析為 `Xdcv-console`：

```
$ ls -l /usr/bin/Xorg       # Ubuntu
$ ls -lh /usr/bin/X         # RHEL/Rocky Linux/CentOS Stream
$ ls -l /etc/alternatives/X # Amazon Linux 2023
```

然後啟動主控台工作階段，並檢查它是否如預期般出現。如果顯示管理員無法啟動，請在嘗試另一個圖形登入之前，透過 SSH 登入進行故障診斷。

## 還原
<a name="xdcv-console-revert"></a>

如果您需要還原至庫存 X 伺服器：
+ **Ubuntu：**移除符號連結，然後執行 `dpkg-divert --package nice-xdcv --rename --remove /usr/bin/Xorg`以還原原始二進位檔。
+ **RHEL/Rocky：**`systemctl disable --now xdcv-console.path xdcv-console-update.service`。
+ **Amazon Linux 2023：**`update-alternatives --remove X /usr/bin/Xdcv-console`，然後重新啟動 gdm。