

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

# 管理活动的 Amazon DCV 会话
<a name="managing-running-session"></a>

当客户端登录并开始使用 DCV 会话后，该会话即被视为处于活动状态。当会话处于活动状态时，您仍然可以执行某些管理任务。本节介绍当客户端仍在使用会话时，您管理这些会话的参数需要哪些信息。

**Topics**
+ [管理会话存储](managing-session-storage.md)
+ [管理会话授权](managing-session-perms.md)
+ [管理会话显示布局](managing-session-display.md)
+ [管理会话名称](managing-session-name.md)
+ [查找和停止空闲会话](stop-idle-sessions.md)

# 管理 Amazon DCV 会话存储
<a name="managing-session-storage"></a>

会话存储是 Amazon DCV 服务器上的一个目录，客户端可以在连接到 Amazon DCV 会话时访问该目录。

如果在 Amazon DCV 服务器上启用了会话存储，您可以使用 `dcv set-storage-root` 命令指定服务器上用于会话存储的目录。有关在 Amazon DCV 服务器上启用会话存储的更多信息，请参阅[启用会话存储](manage-storage.md)。

要设置会话存储路径，请使用 `dcv set-storage-root` 命令并指定会话 ID 和要使用的目录的路径。

**Topics**
+ [语法](#managing-session-storage-syntax)
+ [选项](#managing-session-storage-options)
+ [示例](#session-storage-example)

## 语法
<a name="managing-session-storage-syntax"></a>

```
dcv set-storage-root --session session_id /path_to/directory
```

对于目录路径，您可以使用 `%home%` 指定当前登录用户的主目录。例如，在 Windows 服务器上，`%home%/storage/` 路径解析为 `c:\Users\username\storage\`。在 Linux 服务器上，该路径解析为 `$HOME/storage/`。

**注意**  
在 macOS 上，该`storage-root`值必须是绝对路径。

## 选项
<a name="managing-session-storage-options"></a>

可以将以下选项与 `dcv set-storage-root` 命令一起使用：

**`--session`**  
要指定存储目录的会话 ID。  
类型：字符串  
是否必需：是

## 示例
<a name="session-storage-example"></a>

**Windows Amazon DCV 服务器示例**  
以下示例将会话 ID 为 `my-session` 的会话的存储路径设置为 `c:\session-storage`。

```
C:\> dcv set-storage-root --session my-session c:\session-storage
```

**Linux Amazon DCV 服务器示例**  
以下示例设置为当前用户的主目录中名为 `session-storage` 的目录的存储路径（对于会话 ID 为 `my-session` 的会话）。

```
$ dcv set-storage-root --session my-session %home%/session-storage/
```

# 管理 Amazon DCV 会话授权
<a name="managing-session-perms"></a>

授权用于为 Amazon DCV 客户端授予或拒绝特定 Amazon DCV 特征的权限。通常，授权是在启动 Amazon DCV 会话时配置的。不过，可以编辑运行的会话的权限。有关 Amazon DCV 授权的更多信息，请参阅[配置 Amazon DCV 授权](security-authorization.md)。

要修改运行的会话的权限，请使用 `dcv set-permissions` 命令。

**Topics**
+ [语法](#managing-session-perms-syntax)
+ [选项](#managing-session-perms-options)
+ [示例](#session-perms-example)

## 语法
<a name="managing-session-perms-syntax"></a>

```
dcv set-permissions --session session-id --none | --reset-builtin | --file /path_to/permissions_file
```

您必须指定 `--none`、`--reset-builtin` 或 `--file`。

## 选项
<a name="managing-session-perms-options"></a>

以下选项可以与 `dcv set-permissions` 命令一起使用。

**--session**  
指定要设置权限的会话的 ID。

**--reset-builtin**  
将会话的权限重置为默认会话权限。默认权限仅向会话拥有者授予对所有功能的完全访问权限。

**--none**  
撤消对会话的所有权限。

**--file**  
指定自定义权限文件的路径。如果指定的文件为空，则撤消所有权限。有关创建自定义权限文件的更多信息，请参阅[了解权限文件](security-authorization-file-create.md)。

## 示例
<a name="session-perms-example"></a>

**示例 1 - 撤销所有权限**  
以下示例撤消 ID 为 `my-session` 的会话的所有客户端权限。

```
C:\> dcv set-permissions --session my-session --none
```

**示例 2 - 指定自定义权限**  
以下示例为具有 ID `my-session` 的会话指定名为 `perm-file.txt` 的自定义权限文件。此文件位于 `c:\dcv\` 目录中。

```
C:\> dcv set-permissions --session my-session --file c:\dcv\perm-file.txt
```

**示例 3 - 重置权限**  
以下示例将 ID 为 `my-session` 的会话的权限重置为默认值。

```
C:\> dcv set-permissions --session my-session --reset-builtin
```

# 管理 Amazon DCV 会话显示布局
<a name="managing-session-display"></a>

您可以为运行的 Amazon DCV 会话设置显示布局。显示布局指定客户端连接到会话时使用的默认配置。不过，客户端可以使用 Amazon DCV 客户端设置或本机操作系统显示设置手动覆盖布局。

如果主机服务器的硬件和软件配置不支持指定的分辨率或屏幕数量，则 Amazon DCV 服务器不会应用指定的显示布局。

Amazon DCV 可以根据设置和服务器系统配置来配置分辨率。
+ 默认情况下，Web 客户端分辨率限制为 1920x1080（来自服务器 web-client-max-head分辨率设置）。
+ 默认情况下，本机客户端限制为 4096x2160（来自）。 max-head-resolution

请注意，可用的分辨率和显示器数量取决于服务器的配置，请务必按照[先决条件指南](https://docs.aws.amazon.com/dcv/latest/adminguide/setting-up-installing.html)正确设置系统环境和驱动程序以获得出色性能。

**注意**  
对于本机客户端，最多可以使用 4 台显示器。  
对于 Web 客户端，最多可以使用 2 台显示器。  
任何配置都不支持更高分辨率或超过最大数量的显示器。

**Topics**
+ [访问显示布局](#display-restrict)
+ [设置显示布局](#dislay-set)
+ [查看显示布局](#dislay-view)

## 访问显示布局
<a name="display-restrict"></a>

您可以配置 Amazon DCV 服务器，以防止客户端请求超出指定范围的显示布局。要限制显示布局更改，请配置以下 Amazon DCV 服务器参数。
+ [`enable-client-resize`](config-param-ref.md#paramref.display.enable-client-resize) - 要禁止客户端更改显示布局，请将该参数设置为 `false`。
+ [`min-head-resolution`](config-param-ref.md#paramref.display.min-head-resolution) 和 [`max-head-resolution`](config-param-ref.md#paramref.display.max-head-resolution) - 分别指定允许的最小和最大分辨率。
+ [`web-client-max-head-resolution`](config-param-ref.md#paramref.display.web-client-max-head-resolution) - 指定 Web 浏览器客户端允许的最大分辨率。`max-head-resolution` 限制基于 `web-client-max-head-resolution` 限制应用。默认情况下，Web 浏览器客户端的最大分辨率为 1920x1080。指定更高分辨率可能会导致性能问题，具体取决于 Web 浏览器和客户端计算机规范。
+ [`max-num-heads`](config-param-ref.md#paramref.display.max-num-heads) - 指定最大显示器数。
+ `max-layout-area` - 指定屏幕区域允许的最大像素数。将忽略总屏幕区域（以像素表示）超过指定值的请求。

有关这些参数的更多信息，请参阅“参数参考”中的[`display` 参数](config-param-ref.md#display)。

## 设置显示布局
<a name="dislay-set"></a>

**为运行的 Amazon DCV 会话配置显示布局**  
使用 `dcv set-display-layout` 命令并指定要设置显示布局和显示布局描述符的会话。

```
dcv set-display-layout --session session-id display-layout-descriptor
```

显示布局描述符指定显示数以及每个显示的分辨率和位置偏移。必须按以下格式指定描述：

```
widthxheight+|-x-position-offset+|-y-position-offset
```

如果指定多个屏幕，请用逗号将屏幕描述符分隔开来。屏幕位置偏移指定屏幕左上角相对于屏幕 1 的位置。如果您没有指定屏幕的位置偏移，则默认为 x=0 和 y=0。

**重要**  
如果要指定多个屏幕，请确保正确设置每个屏幕的位置偏移，以避免屏幕重叠。

例如，以下显示布局描述符指定两个屏幕：
+ 屏幕 1：1920x1080 分辨率，偏移为 x=0，y=0
+ 屏幕 2：800x600 分辨率，偏移为 x=1920，y=0，以便它显示在屏幕 1 的右侧。

![\[带两个屏幕的屏幕布局。\]](http://docs.aws.amazon.com/zh_cn/dcv/latest/adminguide/images/eg2.png)


```
1920x1080+0+0,800x600+1920+0
```

以下显示布局描述符指定三个屏幕。
+ 屏幕 1：1920x1080 分辨率，偏移为 x=0，y=0
+ 屏幕 2：1920x1080 分辨率，偏移为 x=1920，y=0，以便它显示在屏幕 1 的右侧。
+ 屏幕 3：1024x768 分辨率，偏移为 x=-1024，y=0，以便它显示在屏幕 1 的左侧。

![\[带三个屏幕的屏幕布局。\]](http://docs.aws.amazon.com/zh_cn/dcv/latest/adminguide/images/eg1.png)


```
1920x1080+0+0,1920x1080+1920+0,1024x768-1024+0
```

## 查看显示布局
<a name="dislay-view"></a>

**查看会话的显示布局**  
使用 `dcv describe-session` 命令并查看输出中的 `display layout` 元素。有关更多信息，请参阅 [查看 Amazon DCV 会话](managing-sessions-lifecycle-view.md)。

# 管理会话名称
<a name="managing-session-name"></a>

您可以随时更改运行的会话的名称。您可以使用会话的具体名称，以根据会话名称快速找到会话。会话名称在运行的会话中不需要是唯一的。

要更改运行的会话的名称，请使用 `dcv set-name` 命令。

**Topics**
+ [语法](#managing-session-name-syntax)
+ [选项](#managing-session-name-options)
+ [示例](#example)

## 语法
<a name="managing-session-name-syntax"></a>

```
$ dcv set-name --session session_id --none |--name "session-name"
```

您必须指定 `--name` 或 `--none`。

## 选项
<a name="managing-session-name-options"></a>

以下选项可以与 `dset-name` 命令一起使用。

**`--session`**  
要设置名称的会话的 ID。  
类型：字符串  
是否必需：是

**`--name`**  
要为会话分配的名称。只有在您要为会话分配名称时，才需要指定该选项。如果要删除名称，请省略该参数。会话名称长度最多为 256 个字符。它可以由字母、数字和特殊字符组成。如果指定的字符串超过 256 个字符，命令将失败。  
类型：字符串  
必需：否

**`--none`**  
指定该参数以从会话中删除现有的名称。如果您不希望删除会话名称，请省略该选项。  
必需：否

## 示例
<a name="example"></a>

**示例 1 - 更改会话的名称**  
以下示例将具有 ID `my-session` 的会话的名称设置为 `my graphics session`。

```
$ dcv set-name --session my-session --name "my graphics sessions"
```

**示例 2 - 删除会话的名称**  
以下示例删除具有 ID `my-session` 的会话的名称。

```
$ dcv set-name --session my-session --none
```

# 查找和停止空闲会话
<a name="stop-idle-sessions"></a>

您可以使用具有 `-j` 命令选项的 `dcv describe-sessions` CLI 命令确定空闲的 Amazon DCV 会话。指定 `-j` 选项会将此命令配置为返回 JSON 格式的输出，其中包含有关会话的其他详细信息。

例如，以下命令返回有关名为 `my-session` 的会话的信息。

```
$ dcv describe-session my-session -j
```

输出：

```
{
    "id" : "my-session",
    "owner" : "dcvuser",
    "x11-display" : ":1",
    "x11-authority" : "/run/user/1009/dcv/test3.xauth",
    "num-of-connections" : 1,
    "creation-time" : "2019-05-13T13:21:19.262883Z",
    "last-disconnection-time" : "2019-05-14T12:32:14.357567Z",
    "licensing-mode" : "DEMO",
    "licenses" : [
        {
            "product" : "dcv",
            "status" : "LICENSED",
            "check-timestamp" : "2019-05-14T12:35:40Z",
            "expiration-date" : "2019-05-29T00:00:00Z"
        },
        {
            "product" : "dcv-gl",
            "status" : "LICENSED",
            "check-timestamp" : "2019-05-14T12:35:40Z",
            "expiration-date" : "2019-05-29T00:00:00Z"
        }
    ]
}
```

在命令输出中，`num-of-connections` 参数表示活动客户端连接的数量。值 `0` 表示没有活动的客户端连接，并且会话当前处于空闲状态。您还可以使用 `last-disconnection-time` 参数确定会话上次具有活动客户端连接的时间。

您可以创建脚本或 cron 作业来使用此信息标识空闲会话。然后，您可以使用 [`dcv close-session`](managing-sessions-lifecycle-stop.md) 命令停止使用这些会话。

**注意**  
停止会话将关闭会话中正在运行的所有应用程序。