

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

# 為虛擬工作階段啟用遠端 X 連線至 X 伺服器
<a name="setup-xforwarding"></a>

根據預設，由於固有的安全風險， `Xdcv`會防止使用 X 轉送。Amazon DCV 會從較新版本的 Xorg 伺服器繼承此行為。Amazon DCV 伺服器實作下列預設緩解措施，將安全風險降至最低：
+ X 伺服器可防止來自網路的 X 連線。X 伺服器設定為以`-nolisten tcp`命令列選項開頭。不過，您可以變更預設行為，以啟用 X 伺服器的遠端 X 連線。如需此解決方法的詳細資訊，請參閱 [啟用遠端 X 連線至 X 伺服器](#enable-remotex)。
+ X 伺服器會停用 GLX 間接內容。由於與 DCV-GL 衝突，目前沒有解決方法可啟用 GLX 間接內容。

如需安全風險和緩解措施的詳細資訊，請參閱 [ X.Org 安全諮詢](https://www.x.org/wiki/Development/Security/Advisory-2014-12-09/)。

## 啟用遠端 X 連線至 X 伺服器
<a name="enable-remotex"></a>

根據預設，`Xdcv` 設定成使用 `-nolisten tcp` 命令列選項來啟動，以降低安全風險。不過，您可以變更預設行為，以啟用 X 轉送。

**啟用 X 轉送**  
使用您偏好的文字編輯器開啟 `/etc/dcv/dcv.conf`。在檔案的結尾新增下列命令：
+ 啟用透過 IPv4 和 IPv6 的 X 轉送

  ```
  [session-management]
  virtual-session-xdcv-args="-listen tcp"
  ```
+ 啟用僅透過 IPv4 的 X 轉送

  ```
  [session-management]
  virtual-session-xdcv-args="-listen tcp -nolisten inet6"
  ```

**注意**  
啟用 X 轉送不會影響現有的工作階段，只會影響在啟用之後才啟動新的工作階段。

**測試 X 轉送**

1. 連接 Amazon DCV 工作階段。

1. 確認 Amazon DCV 工作階段的 X 伺服器正在接聽介於 6000-6063 之間的連接埠。

   ```
   $ netstat -punta | grep 600
   ```

1. 將遠端伺服器新增至 X 伺服器主機存取清單。

   ```
   $ xhost +remote_server
   ```

1. 擷取 Amazon DCV 工作階段顯示號碼。

   ```
   $ dcv describe-session session_name | grep display
   ```

1. 以 SSH 連線到託管應用程式的遠端伺服器。

   ```
   $ ssh user@remote_server
   ```

1. 從遠端伺服器匯出顯示環境變數，以指向 Amazon DCV 工作階段的 X 伺服器。

   ```
   $ export DISPLAY=dcv_server_ip:display_number
   ```

1. 從遠端伺服器執行應用程式，以測試 X 轉送功能。例如：

   ```
   xterm
   ```

   在此情況下，測試應用程式 xterm 應該會出現在 Amazon DCV 伺服器的桌面環境中。