

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

# 启动 Amazon DCV 会话
<a name="managing-sessions-start"></a>

在您使用默认设置[安装 Windows Amazon DCV 服务器](setting-up-installing-wininstall.md)时，将在安装服务器后自动创建并激活一个[控制台会话](managing-sessions-intro.md#managing-sessions-intro-console)。默认控制台会话由 `Administrator` 拥有，其默认会话 ID 为 `console`。您可以使用该会话，也可以[关闭该会话](managing-sessions-lifecycle-stop.md)并创建一个新会话。

如果您在安装 Amazon DCV 服务器时选择不自动创建控制台会话，您必须手动创建一个会话。在安装 Amazon DCV 服务器后，您可以随时启用或禁用[自动创建控制台会话](#managing-sessions-start-auto)的功能。

**注意**  
Linux 和 macOS Amazon DCV 服务器在安装后不会获得默认控制台会话。

假设您在本地或其他基于云的服务器上使用浮动许可证，并且超过了许可证支持的最大并发会话数，您可能会出现 `no licenses` 错误。如果您收到此错误，请停止一个未使用的会话以释放许可证并重试。

Amazon DCV 服务器必须正在运行才能启动会话。有关更多信息，请参阅 [启动 Amazon DCV 服务器](manage-start.md)。

**Topics**
+ [手动启动控制台会话和虚拟会话](#managing-sessions-start-manual)
+ [启用自动控制台会话](#managing-sessions-start-auto)

## 手动启动控制台会话和虚拟会话
<a name="managing-sessions-start-manual"></a>

您可以随时启动 Amazon DCV 会话。一次只能运行一个控制台会话。如果使用 Linux Amazon DCV 服务器，您可以同时运行多个虚拟会话。

最好在创建会话之前运行 `dcv list-sessions`，尤其是在使用 Windows Amazon DCV 服务器时。

要在 Windows、Linux 或 macOS Amazon DCV 服务器上创建控制台或虚拟会话，请使用命令。`dcv create-session`

**Topics**
+ [语法](#managing-sessions-start-manual-syntax)
+ [选项](#managing-sessions-start-manual-options)
+ [示例](#managing-sessions-start-manual-examples)

### 语法
<a name="managing-sessions-start-manual-syntax"></a>

启动会话的命令的最简单语法是：

```
dcv create-session {{session_ID}}
```

包含所有选项的完整语法是：

```
dcv create-session \
    --type {{console|virtual}} \
    --name {{session_name}} \
    --user {{username}} \
    --owner {{owner_name}} \
    --permissions-file {{/path_to/permissions_file}} \
    --storage-root {{/path_to/storage_directory}} \
    --gl {{on|off}} \
    --max-concurrent-clients {{number_of_clients}} \
    --init {{/path_to/init_script}} \
    {{session_ID}}
```

**注意**  
`\` 符号表示将命令拆分为多行的语法。

您也可以使用 `dcv create-session --help` 显示语法的快速参考。

### 选项
<a name="managing-sessions-start-manual-options"></a>

以下选项可以与 `dcv create-session` 命令一起使用：

**`--type`**  
仅 Linux Amazon DCV 服务器上支持此选项。它指定要创建的会话的类型，可以是 `console` 或 `virtual`。  
类型：字符串  
允许的值：`console` \| `virtual`  
必需：否

**`--name`**  
指定会话的名称。会话名称可以是最多 256 个字符的任意字符串。如果字符串超过 256 个字符，命令将失败。会话名称在运行的会话中不需要是唯一的。  
您可以随时使用 `dcv set-name` 命令更改会话的名称。有关更多信息，请参阅 [管理会话名称](managing-session-name.md)。  
类型：字符串  
是否必需：是

**`--user`**  
仅在 Linux Amazon DCV 会话上支持将此选项与虚拟会话一起使用。此值是要用于创建会话的用户。只有根用户可以模拟其他用户。  
类型：字符串  
必需：否

**`--owner`**  
指定会话所有者。如果省略，则默认为当前已登录的用户。  
类型：字符串  
必需：否

**`--permissions-file`**  
指定自定义权限文件的路径。如果省略，则默认为服务器默认值。  
类型：字符串  
必需：否

**`--storage-root`**  
指定用于会话存储的文件夹的路径。  
您可以使用 `%home%` 指定当前已登录的用户的主目录。例如，以下内容将会话存储的目录设置为 `c:\Users\{{username}}\storage\`（对于 Windows 服务器）或 `$HOME/storage/`（对于 Linux 服务器）。  

```
--storage-root %home%/storage/
```
如果指定的子目录不存在，则会禁用会话存储。
类型：字符串  
必需：否

**`--gl`**  
仅在 Linux Amazon DCV 会话上支持将此选项与虚拟会话一起使用。它覆盖默认的 `dcv-gl` 状态，并且可以是 `on` 或 `off`。  
类型：字符串  
允许的值：`on` \| `off`  
必需：否

**`--max-concurrent-clients`**  
指定允许连接到会话的 Amazon DCV 客户端的最大数量。如果省略，则默认为无限连接。  
类型：整数  
必需：否

**`--init`**  
仅在 Linux Amazon DCV 服务器上支持将此选项与虚拟会话一起使用。它指定自定义 `init` 脚本的路径。该脚本可用于启动特定桌面环境以及在会话开始时自动启动特定应用程序。该脚本必须是可执行的。如果省略，则默认为启动默认桌面环境的脚本。  
类型：字符串  
必需：否

**`{{session ID}}`**  
在命令末尾提供会话的 ID。  
类型：字符串  
是否必需：是

### 示例
<a name="managing-sessions-start-manual-examples"></a>

**示例 1 – 控制台会话**  
以下命令创建一个由 `dcv-user` 拥有的控制台会话，它具有唯一会话 ID `my-session` 和会话名称 `my graphics session`。它还指定一个名为 `perm-file.txt` 的权限文件。
+ Windows Amazon DCV 服务器

  ```
  C:\> dcv create-session^
      --owner {{dcv-user}}^
      --name "{{my graphics session}}"^
      --permissions-file {{perm-file.txt}}^
      {{my-session}}
  ```
+ Linux Amazon DCV 服务器

  ```
  $ sudo dcv create-session \
      --type={{console}} \
      --owner {{dcv-user}} \
      --name "{{my graphics session"}} \
      --permissions-file {{perm-file.txt}} \
      {{my-session}}
  ```

**示例 2 - 虚拟会话（仅限 Linux Amazon DCV 服务器）**  
以下命令使用根用户模拟预期会话所有者 `dcv-user` 以创建一个虚拟会话。即使会话是由根用户创建的，该会话仍由 `dcv-user` 拥有：

```
$ sudo dcv create-session \
    --owner {{dcv-user}} \
    --user {{dcv-user}} \
    {{my-session}}
```

**示例 3 - 虚拟会话（仅限 Linux Amazon DCV 服务器）**  
以下命令创建一个虚拟会话，该会话由创建它的用户拥有：

```
$ dcv create-session {{my-session}}
```

## 启用自动控制台会话
<a name="managing-sessions-start-auto"></a>

启用自动控制台会话可以确保，每次 Amazon DCV 服务器启动时自动创建控制台会话。自动控制台会话由 `owner` 配置参数指定的 Amazon DCV 用户拥有。它的会话 ID 始终为 `console`。

影响自动控制台会话的其他参数是 `max-concurrent-clients`、`permissions-file` 和 `storage-root`。有关这些参数的更多信息，请参阅 [`session-management/automatic-console-session` 参数](config-param-ref.md#session_management_automatic_console_session)。

**注意**  
Amazon DCV 不支持自动虚拟会话。

------
#### [ Windows Amazon DCV server ]

**在 Windows Amazon DCV 服务器上启用自动控制台会话**

1. 打开 Windows 注册表编辑器。

1. 导航到 **HKEY\_USERS\\ S-1-5-18\\ Software\\\\ com\\ n icesoftwareGSettings\\** dcv\\ 会话管理密钥。

1. 创建 `create-session` 参数：

   1. 在导航窗格中，打开 **session-management** 项的上下文（右键单击）菜单，然后选择**新建** > **DWORD（32 位）**值。

   1. 对于**名称**，输入 `create-session` 并按 **Enter**。

   1. 打开 **create-session** 参数。对于**值数据**，输入 `1` 并选择**确定**。

1. 导航到 **HKEY\_USERS\\ S-1-5-18\\ Software\\\\ com\\ n icesoftwareGSettings\\ dcv\\ ses** sion-Management/ 密钥。automatic-console-session

1. 创建 `owner` 参数：

   1. 在导航窗格中，打开**automatic-console-session**密钥的上下文（右键单击）菜单，然后选择 “**新建**，**字符串值**”。

   1. 对于**名称**，输入 `owner` 并按 **Enter**。

   1. 打开 **owner** 参数。对于**值数据**，输入会话拥有者的名称并选择**确定**。

1. 选择**确定**，并关闭 Windows 注册表编辑器。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

------
#### [ Linux Amazon DCV server ]

**在 Linux Amazon DCV 服务器上启用自动控制台会话**

1. 导航到 `/etc/dcv/`，并使用您常用的文本编辑器打开 `dcv.conf`。

1. 使用以下格式将 `create-session` 和 `owner` 参数添加到 `[session-management/automatic-console-session]` 段：

   ```
   [session-management]
   create-session = true
   
   [session-management/automatic-console-session]
   owner="{{session-owner}}"
   ```

1. 保存并关闭 文件。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

------
#### [ macOS Amazon DCV server ]

**在 macOS Amazon DCV 服务器上启用自动控制台会话**

1. 导航到 `/etc/dcv/`，并使用您常用的文本编辑器打开 `dcv.conf`。

1. 使用以下格式将 `create-session` 和 `owner` 参数添加到 `[session-management/automatic-console-session]` 段：

   ```
   [session-management]
   create-session = true
   
   [session-management/automatic-console-session]
   owner="{{session-owner}}"
   ```

1. 保存并关闭 文件。

1. [停止](manage-stop.md)并[重新启动](manage-start.md) Amazon DCV 服务器。

------