

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

# 管理 Amazon DCV 工作階段
<a name="managing-sessions"></a>

設定 Amazon DCV 伺服器並安裝所有應用程式後，您的用戶端會透過安全的工作階段存取它們。為您的用戶端管理這些工作階段會授予他們存取權，並設定每個工作階段的參數。

您必須先在 Amazon DCV 伺服器上建立 Amazon DCV 工作階段，用戶端才能連線到 Amazon DCV。用戶端只能在有作用中工作階段時連線到 Amazon DCV 伺服器。

每個 Amazon DCV 工作階段都有下列屬性：
+ **工作階段 ID** — 用於識別 Amazon DCV 伺服器上的特定工作階段。
+ **擁有者** — 建立工作階段的 Amazon DCV 使用者。根據預設，只有擁有者可以連線到工作階段。

Amazon DCV 用戶端需要此資訊才能連線至工作階段。

**Topics**
+ [了解 Amazon DCV 工作階段](managing-sessions-intro.md)
+ [使用命令列工具來管理工作階段](managing-sessions-cli.md)
+ [啟動 Amazon DCV 工作階段](managing-sessions-start.md)
+ [停止 Amazon DCV 工作階段](managing-sessions-lifecycle-stop.md)
+ [檢視 Amazon DCV 工作階段](managing-sessions-lifecycle-view.md)
+ [管理作用中的 Amazon DCV 工作階段](managing-running-session.md)
+ [設定工作階段時區](managing-session-time-zone.md)
+ [在 Linux 上管理畫面遮蔽](managing-screen-blanking.md)
+ [在 Amazon DCV 工作階段中擷取螢幕擷取畫面](managing-sessions-lifecycle-screenshot.md)

# 了解 Amazon DCV 工作階段
<a name="managing-sessions-intro"></a>

Amazon DCV 提供兩種類型的工作階段：主控台工作階段和虛擬工作階段。下表摘要說明兩種工作階段類型的差異。


| 工作階段類型 | 支援 | 多個工作階段 | 所需的許可 | 直接螢幕擷取 | GPU 加速的 OpenGL 支援 | 
| --- | --- | --- | --- | --- | --- | 
| 主控台 | Linux、macOS 和 Windows Amazon DCV 伺服器 | 否，每個伺服器上只允許一個主控台工作階段 | 只有管理員使用者可以啟動和關閉工作階段 | 是 | 是，沒有其他軟體 | 
| 虛擬 | 僅限 Linux Amazon DCV 伺服器 | 是，單一伺服器上允許多個虛擬工作階段 | 任何使用者可以開始和關閉工作階段 | 否，專用 X 伺服器 (Xdcv) 會針對每個虛擬工作階段執行。螢幕會從 X 伺服器擷取。 | 是，但需要 DCV-GL 套件 | 

**注意**  
您無法同時在相同的 Amazon DCV 伺服器上執行主控台和虛擬工作階段。

## 主控台工作階段
<a name="managing-sessions-intro-console"></a>

Windows、Linux 和 macOS Amazon DCV 伺服器支援主控台工作階段。如果您使用的是 Windows 或 macOS Amazon DCV 伺服器，您只能使用主控台工作階段。

一次只能在 Amazon DCV 伺服器上託管一個主控台工作階段。主控台工作階段由 Windows Amazon DCV 伺服器的管理員和 Linux 和 macOS Amazon DCV 伺服器上的根使用者建立和管理。

透過主控台工作階段，Amazon DCV 會直接擷取桌面畫面的內容。如果伺服器使用 GPU 設定，Amazon DCV 主控台工作階段可以直接存取 GPU。

## 虛擬工作階段
<a name="managing-sessions-intro-virtual"></a>

只有 Linux Amazon DCV 伺服器支援虛擬工作階段。

您可以同時在相同的 Amazon DCV 伺服器上託管多個虛擬工作階段。虛擬工作階段是由 Amazon DCV 使用者建立和管理。Amazon DCV 使用者只能管理他們已建立的工作階段。根使用者可以管理目前在 Amazon DCV 伺服器上執行的所有虛擬工作階段。

透過虛擬工作階段，Amazon DCV 會啟動 X 伺服器執行個體 `Xdcv`，並在 X 伺服器內執行桌面環境。Amazon DCV 會為每個虛擬工作階段啟動新的專用 X 伺服器執行個體。每個虛擬工作階段使用其 X 伺服器執行個體提供的顯示器。

**注意**  
雖然 Amazon DCV 可確保每個虛擬工作階段都有獨立的`Xdcv`顯示，但許多其他系統資源，包括使用者主資料夾、D-Bus 服務和裝置中的檔案，都是每位使用者，因此將在相同使用者的多個虛擬工作階段之間共用和存取。  
 除非您已設定作業系統來減輕對共用資源的可能疑慮，否則您不應該在同一使用者同時在相同的 Amazon DCV 伺服器上執行多個虛擬工作階段。

如果套件`dcv-gl`已安裝並授權，Amazon DCV 虛擬工作階段會共用伺服器 GPUs 的存取權。若要跨多個虛擬工作階段共用硬體式 OpenGL，您必須設定 `dcv-gl.conf` 檔案，以將虛擬 X 伺服器執行個體連接至 GPU。

# 使用命令列工具來管理工作階段
<a name="managing-sessions-cli"></a>

Amazon DCV 伺服器包含命令列工具，可用於啟動、停止和檢視 Amazon DCV 工作階段。



## 在 Windows Amazon DCV Server 上使用命令列工具
<a name="cli-win"></a>

若要在 Windows Amazon DCV 伺服器上使用命令列工具，請從 Amazon DCV 安裝目錄執行命令，或將 Amazon DCV 目錄新增至 PATH 環境變數。如果您將 Amazon DCV 目錄新增至 PATH 環境變數，您可以使用任何目錄中的命令。

**從 Amazon DCV 安裝目錄中使用命令列工具**  
根據`C:\Program Files\NICE\DCV\Server\bin\`預設，導覽至`dcv.exe`檔案所在的資料夾，然後開啟命令提示視窗。

或者，從不同目錄中執行命令時，您可以指定完整路徑。

```
"C:\> Program Files\NICE\DCV\Server\bin\dcv.exe" list-sessions
```

**將 Amazon DCV 目錄新增至 PATH 環境變數**

1. 在 [檔案總管] 中，以滑鼠右鍵按一下**This PC (本機)**，然後選擇**Properties (內容)**。

1. 選擇**進階系統設定**。

1. 在 **Advanced (進階)** 索引標籤上，選擇 **Environment Variables (環境變數)**。

1. 在**系統變數**區段中，選取 **Path** 變數，然後選擇**編輯**。

1. 選擇**新增**，並在 Amazon DCV 安裝目錄中指定`bin`資料夾的完整路徑 （例如 `C:\Program Files\NICE\DCV\Server\bin\`)。

1. 選擇**確定**並關閉 [環境變數] 視窗。

## 在 Linux Amazon DCV 伺服器上使用命令列
<a name="cli-lin"></a>

在 Linux Amazon DCV 伺服器上，命令列工具會在`$PATH`環境變數中自動設定。您可以從任何資料夾使用 工具。開啟終端機視窗，然後輸入要執行的命令。

## 在 macOS Amazon DCV 伺服器上使用命令列
<a name="cli-macos"></a>

在 macOS Amazon DCV 伺服器上，命令列工具會自動在`$PATH`環境變數中設定。您可以從任何資料夾使用 工具。開啟終端機視窗，然後輸入要執行的命令。

## 命令列工具用量
<a name="command-line-usage"></a>

下表涵蓋可用的命令列工具選項。呼叫 `--help`時，可以使用 擷取此清單`dcv`。如需有關如何使用每個命令的詳細資訊，請在您想要使用資訊的命令`--help`之後傳入 。例如：`dcv create-session --help`。


| 命令 | Description | 
| --- | --- | 
|  `create-session`  |  建立新的 DCV 工作階段  | 
|  `close-session`  |  關閉作用中的 DCV 工作階段  | 
|  `describe-session`  |  描述 DCV 工作階段  | 
|  `list-sessions`  |  列出作用中的 DCV 工作階段  | 
|  `list-connections`  |  列出 DCV 工作階段的用戶端連線  | 
|  `close-connection`  |  關閉作用中的用戶端連線  | 
|  `get-screenshot`  |  取得 DCV 主控台的螢幕擷取畫面  | 
|  `set-display-layout`  |  設定作用中 DCV 工作階段的顯示配置  | 
|  `set-name`  |  設定 DCV 工作階段的名稱  | 
|  `set-permissions`  |  設定作用中 DCV 工作階段的許可  | 
|  `set-storage-root`  |  設定作用中 DCV 工作階段的儲存根目錄  | 
|  `reload-licenses`  |  強制重新載入所有執行中工作階段的授權  | 
|  `get-config`  |  取得伺服器組態  | 
|  `list-endpoints`  |  列出 DCV 端點  | 
|  `set-config`  |  設定伺服器組態  | 
|  `version`  |  顯示 DCV 的版本  | 
|  `help`  |  顯示說明  | 

# 啟動 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` \$1 `virtual`  
必要：否

**`--name`**  
指定工作階段的名稱。工作階段名稱可以是任何字串，最多 256 個字元。如果字串超過 256 個字元，命令會失敗。工作階段名稱在執行中的工作階段之間不需要是唯一的。  
您可以隨時使用 `dcv set-name`命令變更工作階段的名稱。如需詳細資訊，請參閱[管理工作階段名稱](managing-session-name.md)。  
類型：字串  
必要：是

**`--user`**  
此選項僅支援 Linux Amazon DCV 工作階段上的虛擬工作階段。此值即是要用來建立工作階段的使用者。只有根使用者才可以模擬其他使用者。  
類型：字串  
必要：否

**`--owner`**  
指定工作階段擁有者。如果省略，則預設為目前登入的使用者。  
類型：字串  
必要：否

**`--permissions-file`**  
指定自訂許可檔案的路徑。如果省略，則預設為伺服器預設值。  
類型：字串  
必要：否

**`--storage-root`**  
指定要用於儲存工作階段之資料夾的路徑。  
您可以使用 `%home%` 來指定目前登入之使用者的主目錄。例如，若為 Windows 伺服器，下列選項將工作階段儲存區的目錄設為 `c:\Users\username\storage\`，若為 Linux 伺服器，則設為 `$HOME/storage/`。  

```
--storage-root %home%/storage/
```
如果指定的子目錄不存在，則會停用工作階段儲存。
類型：字串  
必要：否

**`--gl`**  
此選項僅支援 Linux Amazon DCV 工作階段上的虛擬工作階段。這會覆寫預設 `dcv-gl` 狀態，可以是 `on` 或 `off`。  
類型：字串  
允許的值：`on` \$1 `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\$1USERS\$1S-1-5-18\$1Software\$1GSettings\$1com\$1nicesoftware\$1dcv\$1session-management** 金鑰。

1. 建立 `create-session` 參數：

   1. 在導覽窗格中，開啟**工作階段管理**金鑰的內容 （按一下滑鼠右鍵） 選單，然後選擇**新增**、**DWORD (32 位元） 值**。

   1. 在**名稱**中，輸入 `create-session`，然後按 **Enter**。

   1. 開啟 **create-session** 參數。在**數值資料**中，輸入 `1`，然後選擇**確定**。

1. 導覽至 **HKEY\$1USERS\$1S-1-5-18\$1Software\$1GSettings\$1com\$1nicesoftware\$1dcv\$1session-management/automatic-console-session** 金鑰。

1. 建立 `owner` 參數：

   1. 在導覽窗格中，開啟**automatic-console-session**索引鍵的內容 （按一下滑鼠右鍵） 選單，然後選擇**新增**、**字串值**。

   1. 在**名稱**中，輸入 `owner`，然後按 **Enter**。

   1. 開啟 **owner** 參數。在**數值資料**中，輸入工作階段擁有者的名稱，並選擇**確定**。

1. 選擇 **OK (確定)** 並關閉 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 伺服器。

------

# 停止 Amazon DCV 工作階段
<a name="managing-sessions-lifecycle-stop"></a>

主控台工作階段只能由 Windows Amazon DCV 伺服器上的管理員，以及 Linux 和 macOS Amazon DCV 伺服器上的根使用者停止。Linux Amazon DCV 伺服器上的虛擬工作階段只能由根使用者或建立它的 Amazon DCV 使用者停止。

**注意**  
停止工作階段會關閉正在工作階段中執行的所有應用程式。

若要停止 Windows、Linux 或 macOS Amazon DCV 伺服器上的主控台或虛擬工作階段，請使用 `dcv close-session`命令並指定唯一的工作階段 ID。

**Topics**
+ [語法](#managing-sessions-lifecycle-stop-syntax)
+ [範例](#example)

## 語法
<a name="managing-sessions-lifecycle-stop-syntax"></a>

```
dcv close-session session-id
```

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

例如，下列命令會停止具有唯一 ID 為 的工作階段`my-session`。

```
dcv close-session my-session
```

# 檢視 Amazon DCV 工作階段
<a name="managing-sessions-lifecycle-view"></a>

Windows Amazon DCV 伺服器上的管理員或 Linux Amazon DCV 伺服器上的根使用者，可以檢視伺服器上執行的所有作用中工作階段。Amazon DCV 使用者只能檢視他們已建立的工作階段。



**Topics**
+ [檢視所有作用中工作階段](#list-all)
+ [檢視特定的作用中工作階段](#view-specific)

## 檢視所有作用中工作階段
<a name="list-all"></a>

若要列出 Windows 或 Linux Amazon DCV 伺服器上的作用中主控台或虛擬工作階段，請使用 `dcv list-sessions`命令。

**Topics**
+ [語法](#list-all-syntax)
+ [Output](#output)

### 語法
<a name="list-all-syntax"></a>

```
dcv list-sessions
```

### Output
<a name="output"></a>

命令會以下列格式傳回作用中工作階段的清單。

```
Session: session-id (owner:session-owner type:virtual|console name:'my session')
```

## 檢視特定的作用中工作階段
<a name="view-specific"></a>

若要檢視工作階段的相關資訊，請使用 `dcv describe-session`命令並指定唯一的工作階段 ID。

**Topics**
+ [語法](#view-specific-syntax)
+ [Output](#output)

### 語法
<a name="view-specific-syntax"></a>

```
$ dcv describe-session session_id
```

### Output
<a name="output"></a>

在下列範例輸出中， `display-layout`元素表示工作階段的顯示配置設定為使用兩個 800x600 畫面。其中，第二個畫面會偏移至第一個畫面的 x=800 （右側）。

```
Session: test
  owner: session-id
  name: session-name
  x display: :1
  x authority: /run/user/1009/dcv/test.xauth
  display layout: 800x600+0+0,800x600+800+0
```

您也可以包含 `--json` (或 `-j`) 選項，以強制命令傳回 JSON 格式的輸出。JSON 輸出提供工作階段的其他詳細資訊。

```
$ dcv describe-session session-id --json
```

以下是 JSON 輸出範例。

```
{
  "id" : "session-id",
  "owner" : "dcvuser",
  "name" : "session-name",
  "num-of-connections" : 0,
  "creation-time" : "2020-03-02T16:08:50Z",
  "last-disconnection-time" : "",
  "licenses" : [
    {
      "product" : "dcv",
      "status" : "licensed",
      "check-timestamp" : "2020-03-02T16:08:50Z",
      "expiration-date" : "2020-03-29T00:00:00Z"
    },
    {
      "product" : "dcv-gl",
      "status" : "licensed",
      "check-timestamp" : "2020-03-02T16:08:50Z",
      "expiration-date" : "2020-03-29T00:00:00Z"
    }
  ],
  "storage-root" : "",
  "type" : "virtual",
  "x11-display" : ":2",
  "x11-authority" : "/run/user/1009/dcv/vsession.xauth",
  "display-layout" : [
    {
      "width" : 800,
      "height" : 600,
      "x" : 0,
      "y" : 0
    },
    {
      "width" : 800,
      "height" : 600,
      "x" : 800,
      "y" : 0
    }
  ]
}
```

# 管理作用中的 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/`。

**注意**  
此`storage-root`值必須是 macOS 上的絕對路徑。

## 選項
<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 伺服器範例**  
下列範例針對工作階段 ID 為 `my-session` 的工作階段，將儲存路徑設為目前使用者主目錄中名為 `session-storage` 的目錄。

```
$ 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 — 指定自訂許可**  
下列範例會指定名為 的自訂許可檔案，`perm-file.txt`用於 ID 為 的工作階段`my-session`。這個檔案位於 `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-resolution 伺服器設定）。
+ 原生用戶端預設為 4096x2160 （從 max-head-resolution)。

請注意，可用的解析度和監視器數量取決於伺服器的組態，請務必遵循[先決條件指南](https://docs.aws.amazon.com/dcv/latest/adminguide/setting-up-installing.html)來正確設定系統環境和驅動程式，以獲得最佳效能。

**注意**  
對於原生用戶端，最多可以使用四個監視器。  
對於 Web 用戶端，最多可以使用兩個監視器。  
任何組態都不支援高於解析度或超過監視器數量上限的監視器。

**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` 限制。根據預設，網頁瀏覽器用戶端的解析度上限為 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_tw/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_tw/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>

您可以使用 CLI 命令搭配 `-j`命令選項來識別閒置的 Amazon DCV `dcv describe-sessions` 工作階段。指定 `-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) 命令，以停止使用這些工作階段。

**注意**  
停止工作階段會關閉正在工作階段中執行的所有應用程式。

# 設定工作階段時區
<a name="managing-session-time-zone"></a>

DCV 允許工作階段擁有者和使用者設定工作階段的時區，以反映 DCV 伺服器的位置或其目前位置。

 如果只有工作階段中的個別使用者需要擁有此功能，您將需要先為所有使用者設定集中式參數，然後在 建立自訂許可檔案，以分別調整個別使用者的許可[新增許可](security-authorization-file-create-permission.md)。

**注意**  
此功能不適用於 Linux 虛擬工作階段。

**注意**  
在 macOS 上，時區重新導向會在登入後套用。

**啟用時區重新導向**  
您可以為特定工作階段上的所有使用者啟用和停用此功能。

1. 將 [`enable-timezone-redirection`](config-param-ref.md#paramref.redirection.enable-timezone-redirection) 參數修改為下列其中一個值：
   + `always-on`：一律啟用時區重新導向。

     此功能將開啟，工作階段會顯示用戶端的時區資訊。使用者將無法關閉此功能。
   + `always-off`：時區重新導向一律停用。

     此功能將會關閉，而且工作階段會顯示自己的時區資訊。使用者將無法開啟此功能。
   + `client-decides`：預設為開啟時區重新導向。

     工作階段將啟用 功能，顯示用戶端時區，使用者將可以選擇停用此功能，允許顯示伺服器時區。
**注意**  
此設定是標準預設設定。

1. 重新啟動任何受影響的工作階段，讓您的變更出現。

# 在 Linux 上管理畫面遮蔽
<a name="managing-screen-blanking"></a>

對於 Linux 伺服器上的主控台工作階段，DCV 預設會在至少有一個遠端使用者連線到伺服器時遮蔽本機畫面，並在最後遠端使用者中斷連線時還原輸出 （也鎖定畫面）。

這可防止伺服器附近的使用者查看螢幕，並使用連接到主機的輸入裝置與遠端工作階段互動。在遠端處理主控台工作階段時，這可能是由於隱私權原因或當地法律合規而不需要的。停用實際連線的裝置，例如鍵盤和滑鼠，可防止本機輸入。輸入裝置一插入或被發現啟用就會停用。類似地，輸入裝置會在未連接遠端使用者時啟用，因此允許本機登入和互動。

**停用畫面遮蔽和輸入封鎖**  
您可以使用下列程序停用螢幕遮蔽：

1. 導覽至 `/etc/dcv/`，然後使用您徧好的文字編輯器開啟 `dcv.conf` 檔案。

1. 在 `[display/linux]`區段`disable-local-console parameter`中尋找 。若要允許本機連線顯示器保持作用中狀態並顯示持續的遠端工作階段，並允許透過本機連線裝置進行互動，請設定 `disable-local-console=false`。預設值為 `true`（即：畫面遮蔽和輸入封鎖作用中）。如果 `[display/linux]`區段中沒有`disable-local-console`參數，請使用下列格式手動新增參數：

   ```
    [display/linux]
    disable-local-console=false|true
   ```

1. 儲存並關閉檔案。

1. [停止](manage-stop.md)並[重新啟動](manage-start.md) Amazon DCV 伺服器。

**防止停用選取的輸入裝置**  
特定裝置可設定為保持啟用狀態。

 無論`display-local-console`設定的值為何，名稱開頭為 的輸入裝置 `DCV `（請注意名稱後面的空格） 永遠不會停用。若要重新命名輸入裝置，請參閱本指南：[啟用手寫筆](enable-stylus.md)。

# 在 Amazon DCV 工作階段中擷取螢幕擷取畫面
<a name="managing-sessions-lifecycle-screenshot"></a>

您可以使用 `dcv get-screenshot`命令來擷取執行中工作階段的桌面螢幕擷取畫面。

## 語法
<a name="managing-sessions-lifecycle-screenshot-syntax"></a>

```
dcv get-screenshot --max-width pixels --max-height pixels --format JPEG|PNG --primary --json --output /path_to/destination session_name
```

## 選項
<a name="managing-sessions-lifecycle-screenshot-options"></a>

**`--max-width`**  
指定螢幕擷取畫面的最大寬度，以像素為單位。如果您未指定寬度或高度，螢幕擷取畫面會使用工作階段的顯示解析度。如果您只指定高度，寬度會自動縮放以維持長寬比。  
類型：整數  
必要：否

**`--max-height`**  
指定螢幕擷取畫面的最大高度，以像素為單位。如果您未指定寬度或高度，螢幕擷取畫面會使用工作階段的顯示解析度。如果您只指定寬度，高度會自動縮放以維持長寬比。  
類型：整數  
必要：否

**`--format`**  
螢幕擷取畫面的檔案格式。目前僅支援 `JPEG`和 `PNG` 格式。如果您為 `--format`和 `--output`選項指定衝突的檔案類型，則 指定的值`--format`會優先。例如，如果您指定 `--format JPEG`和 `--output myfile.png`，Amazon DCV 會建立 JPEG 影像檔案。  
類型：字串  
允許的值：`JPEG` \$1 `PNG`  
必要：否

**`--primary`**  
指出是否只取得主要顯示的螢幕擷取畫面。若要僅取得主要顯示的螢幕擷取畫面，請指定 `--primary`。若要取得所有顯示的螢幕擷取畫面，請省略此選項。如果您選擇取得所有顯示器的螢幕擷取畫面，則所有顯示器都會合併為單一螢幕擷取畫面。  
必要：否

**`--json`, `-j`**  
指出是否以 base64 編碼的 JSON 格式交付輸出。若要取得 JSON 輸出，請指定 `--json`。否則，請將其省略。  
必要：否

**`--output`, `-o`**  
指定螢幕擷取畫面的目的地路徑、檔案名稱和檔案類型。例如，若為 Windows，請指定 `c:\directory\filename.format`，若為 Linux，請指定 `/directory/filename.format`。格式必須是 `.png`或 `.jpeg`。如果您為 `--format`和 `--output`選項指定衝突的檔案類型，則 指定的值`--format`會優先。例如，如果您指定 `--format JPEG`和 `--output myfile.png`，Amazon DCV 會建立 JPEG 影像檔案。  
類型：字串  
必要：否

## 範例
<a name="examples"></a>

**範例 1**  
下列範例命令會取得名為 之工作階段的螢幕擷取畫面`my-session`。螢幕擷取畫面會使用伺服器的解析度。

```
dcv get-screenshot --output myscreenshot.png my-session
```

**範例 2**  
下列範例命令會擷取`200`像素寬 x `100`像素高的螢幕擷取畫面。它需要名為 的工作階段`my-session`。它會將螢幕擷取畫面儲存在檔案名稱為 的目前目錄中`myscreenshot.png`。

```
dcv get-screenshot --max-width 200 --max-height 100 --output myscreenshot.png my-session
```

**範例 3**  
下列範例命令會擷取名為 之工作階段的螢幕擷取畫面`my-session`。螢幕擷取畫面僅適用於主要顯示器。它會將檔案儲存在目前的目錄中，並將螢幕擷取畫面命名為 `myscreenshot.png`。

```
dcv get-screenshot --primary --output myscreenshot.jpeg my-session
```

**範例 4**  
下列範例命令會取得名為 之工作階段的螢幕擷取畫面`my-session`。命令會輸出以 base64 和 JSON 格式編碼的檔案。

```
dcv get-screenshot --json --format png my-session
```