

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 为虚拟会话启用到 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`。将以下内容添加到该文件的末尾：
+ 启用 X 通过 IPv4 和进行转发 IPv6

  ```
  [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. 从远程服务器中，导出 display 环境变量以指向 Amazon DCV 会话的 X 服务器。

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

1. 从该远程服务器上，运行一个应用程序来测试 X 转发功能。例如：

   ```
   xterm
   ```

   测试应用程序（此处为 xterm）应显示在 Amazon DCV 服务器的桌面环境中。