

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Linux Amazon DCV サーバーの前提条件
<a name="setting-up-installing-linux-prereq"></a>

Amazon DCV を使用すると、クライアントが Linux サーバーのリモートのグラフィカル X セッションにアクセスできます。これにより、対応する Linux デスクトップにアクセスできます。Amazon DCV では、コンソールセッションと仮想セッションの 2 種類の Linux デスクトップストリーミングがサポートされています。コンソールおよび仮想セッションの詳細については、「[Amazon DCV セッションの管理](managing-sessions.md)」を参照してください。

このトピックでは、Linux サーバーで Amazon DCV を使用するための前提条件をインストールする方法について説明します。

**Topics**
+ [デスクトップ環境とデスクトップマネージャーをインストールする](#linux-prereq-gui)
+ [Wayland プロトコルの無効化 (GDM3 のみ)](#linux-prereq-wayland)
+ [X サーバーを設定する](#linux-prereq-xserver)
+ [glxinfo ユーティリティをインストールする](#linux-prereq-tools)
+ [OpenGL ソフトウェアレンダリングの検証](#linux-prereq-opengl)
+ [グラフィックスインスタンス用の GPU ドライバーをインストールする](#linux-prereq-gpu)
+ [GPU 以外のインスタンスに XDummy ドライバーをインストールする](#linux-prereq-nongpu)

## デスクトップ環境とデスクトップマネージャーをインストールする
<a name="linux-prereq-gui"></a>

Linux サーバーでの Amazon DCV のエクスペリエンスが向上するように、デスクトップ環境とデスクトップマネージャーをインストールできます。

デスクトップ環境は、Linux オペレーティングシステムとやり取りするのに役立つグラフィカルユーザーインターフェイス (GUI) です。いくつかのデスクトップ環境があり、Amazon DCV はそれらの多くで動作します。デスクトップマネージャーは、ユーザーのログイン画面を管理し、デスクトップ環境セッションと X サーバーを起動および停止するプログラムです。

次のタブ付きのコンテンツは、サポートされているオペレーティングシステムにデフォルトのデスクトップ環境とデスクトップマネージャーをインストールするステップを示しています。また、サポートされているオペレーティングシステムで X サーバーを設定して開始する方法も示しています。

------
#### [ RHEL, CentOS, and Rocky Linux ]

RHEL、CentOS、Rocky Linux のデフォルトのデスクトップ環境は Gnome3 で、デフォルトのデスクトップマネージャーは GDM です。

**RHEL、CentOS、Rocky Linux にデスクトップ環境とデスクトップマネージャーをインストールして設定するには**

1. デスクトップ環境とデスクトップマネージャーパッケージをインストールします。
   + RHEL と Rocky Linux

     ```
     $ sudo yum groupinstall 'Server with GUI'
     ```
   + CentOS

     ```
     $ sudo yum groupinstall "GNOME Desktop"
     ```

1. ソフトウェアパッケージを更新して、Linux サーバーが最新のものになるようにします。

   ```
   $ sudo yum upgrade
   ```

1. Linux サーバーを再起動します。

   ```
   $ sudo reboot
   ```

------
#### [ Amazon Linux 2 ]

Amazon Linux 2 のデフォルトのデスクトップ環境は Gnome3 で、デフォルトのデスクトップマネージャーは GDM です。

**Amazon Linux 2 にデスクトップ環境とデスクトップマネージャーをインストールして設定するには**

1. デスクトップ環境とデスクトップマネージャーパッケージをインストールします。

   ```
   $ sudo yum install gdm gnome-session gnome-classic-session gnome-session-xsession
   ```

   ```
   $ sudo yum install xorg-x11-server-Xorg xorg-x11-fonts-Type1 xorg-x11-drivers 
   ```

   ```
   $ sudo yum install gnome-terminal gnu-free-fonts-common gnu-free-mono-fonts gnu-free-sans-fonts gnu-free-serif-fonts
   ```

1. ソフトウェアパッケージを更新して、Linux サーバーが最新のものになるようにします。

   ```
   $ sudo yum upgrade
   ```

1. Linux サーバーを再起動します。

   ```
   $ sudo reboot
   ```

------
#### [ Amazon Linux 2023 ]

Amazon Linux 2023 のデフォルトのデスクトップ環境は Gnome3 で、デフォルトのデスクトップマネージャーは GDM です。

**Amazon Linux 2023 でデスクトップ環境とデスクトップマネージャーをインストールして設定するには**

1. デスクトップ環境とデスクトップマネージャーパッケージをインストールします。

   ```
   $ sudo dnf groupinstall 'Desktop'
   ```

1. ソフトウェアパッケージを更新して、Linux サーバーが最新のものになるようにします。

   ```
   $ sudo dnf upgrade
   ```

1. Linux サーバーを再起動します。

   ```
   $ sudo reboot
   ```

------
#### [ Ubuntu 20.x, 22.x, and 24.x ]

Ubuntu 20.x/22.x/24.x の場合、デフォルトのデスクトップ環境は Gnome3 で、デフォルトのデスクトップマネージャーは GDM3 です。Ubuntu 20.x 以降、LightDM は Amazon DCV でサポートされなくなりました。

**Ubuntu 20.x/22.x/24.x にデスクトップ環境とデスクトップマネージャーをインストールして設定するには**

1. デスクトップ環境とデスクトップマネージャーパッケージをインストールします。

   ```
   $ sudo apt update
   ```

   ```
   $ sudo apt install ubuntu-desktop
   ```

   GDM3 のインストール

   ```
   $ sudo apt install gdm3
   ```

1. GDM3 がデフォルトのデスクトップマネージャとして設定されていることを確認します。

   ```
   $ cat /etc/X11/default-display-manager
   ```

   出力は次のとおりです。

   ```
   /usr/sbin/gdm3
   ```

   GDM3 がデフォルトのデスクトップマネージャーとして設定されていない場合は、次のコマンドを使用してデフォルトとして設定します。

   ```
   $ sudo dpkg-reconfigure gdm3
   ```

1. ソフトウェアパッケージを更新して、Linux サーバーが最新のものになるようにします。

   ```
   $ sudo apt upgrade
   ```

1. Linux サーバーを再起動します。

   ```
   $ sudo reboot
   ```

**注記**  
2022.2 より古いバージョンの Amazon DCV を**仮想セッション**で使用すると、[既知の GDM の問題](https://gitlab.gnome.org/GNOME/gdm/-/issues/650)が発生する可能性があります。仮想セッションを正しく機能させるために、次のいずれかのソリューションを導入できます。  
**GPU を搭載していないサーバー**では仮想セッションを実行する必要がないため、デスクトップマネージャを無効にできます。仮想セッションを作成する前に、次のコマンドを実行して、システムがマルチユーザーモードで実行されるように設定します。  

  ```
  $  sudo systemctl isolate multi-user.target
  ```
**GPU を搭載したサーバー**では、デスクトップマネージャを無効にするだけでなく、仮想セッションを作成する前にシステムで X サーバを起動する必要があります。これを行うには、以下のコマンドを実行します。  

  ```
  $  sudo systemctl isolate multi-user.target
  ```

  ```
  $  sudo dcvstartx &
  ```
Amazon DCV 2022.2 以降の場合、この問題の影響を受けません。

------
#### [ SUSE Linux Enterprise 12.x ]

SUSE Linux Enterprise 12.x のデフォルトのデスクトップ環境は SLE Classic で、デフォルトのデスクトップマネージャーは GDM です。

**SUSE Linux Enterprise 12.x でデスクトップ環境とデスクトップマネージャーをインストールして設定するには**

1. デスクトップ環境とデスクトップマネージャーパッケージをインストールします。

   ```
   $ sudo zypper install -t pattern gnome-basic
   ```

1. GDM がデフォルトのデスクトップマネージャとして設定されていることを確認します。

   ```
   $ sudo update-alternatives --set default-displaymanager /usr/lib/X11/displaymanagers/gdm
   ```

   ```
   $ sudo sed -i "s/DEFAULT_WM=\"\"/DEFAULT_WM=\"gnome\"/" /etc/sysconfig/windowmanager
   ```

1. ソフトウェアパッケージを更新して、Linux サーバーが最新のものになるようにします。

   ```
   $ sudo zypper update
   ```

1. Linux サーバーを再起動します。

   ```
   $ sudo reboot
   ```

------
#### [ SUSE Linux Enterprise 15.x ]

SUSE Linux Enterprise 15.x のデフォルトのデスクトップ環境は SLE Classic で、デフォルトのデスクトップマネージャーは GDM3 です。

**SUSE Linux Enterprise 15.x でデスクトップ環境とデスクトップマネージャーをインストールして設定するには**

1. デスクトップ環境とデスクトップマネージャーパッケージをインストールします。

   ```
   $ sudo zypper install -t pattern gnome_basic
   ```

1. GDM がデフォルトのデスクトップマネージャとして設定されていることを確認します。

   ```
   $ sudo update-alternatives --set default-displaymanager /usr/lib/X11/displaymanagers/gdm
   ```

   ```
   $ sudo sed -i "s/DEFAULT_WM=\"\"/DEFAULT_WM=\"gnome\"/" /etc/sysconfig/windowmanager
   ```

1. ソフトウェアパッケージを更新して、Linux サーバーが最新のものになるようにします。

   ```
   $ sudo zypper update
   ```

1. Linux サーバーを再起動します。

   ```
   $ sudo reboot
   ```

**注記**  
2022.2 より古いバージョンの Amazon DCV を**仮想セッション**で使用すると、[既知の GDM の問題](https://gitlab.gnome.org/GNOME/gdm/-/issues/650)が発生する可能性があります。仮想セッションを正しく機能させるために、次のいずれかのソリューションを導入できます。  
**GPU を搭載していないサーバー**では仮想セッションを実行する必要がないため、デスクトップマネージャを無効にできます。仮想セッションを作成する前に、次のコマンドを実行して、システムがマルチユーザーモードで実行されるように設定します。  

  ```
  $  sudo systemctl isolate multi-user.target
  ```
**GPU を搭載したサーバー**では、デスクトップマネージャを無効にするだけでなく、仮想セッションを作成する前にシステムで X サーバを起動する必要があります。これを行うには、以下のコマンドを実行します。  

  ```
  $  sudo systemctl isolate multi-user.target
  ```

  ```
  $  sudo dcvstartx &
  ```
Amazon DCV 2022.2 以降の場合、この問題の影響を受けません。

------

## Wayland プロトコルの無効化 (GDM3 のみ)
<a name="linux-prereq-wayland"></a>

Amazon DCV は Wayland プロトコルに対応していません。GDM3 デスクトップマネージャーを使用している場合は、Wayland プロトコルを無効にする必要があります。GDM3 を使用している場合は、このステップをスキップしてください。

**Wayland プロトコルを無効にする方法**

1. 適切なテキストエディタを使用して以下のファイルを開きます。
   + RHEL、CentOS、SUSE Linux Enterprise 15.x、Amazon Linux 2023

     ```
     /etc/gdm/custom.conf
     ```
   + Ubuntu

     ```
     /etc/gdm3/custom.conf
     ```

1. `[daemon]` セクションで `WaylandEnable` を `false` に設定します。

   ```
   [daemon]
   WaylandEnable=false
   ```

1. GDM サービスを再起動します。
   + RHEL、CentOS、Amazon Linux 2023

     ```
     $ sudo systemctl restart gdm
     ```
   + Ubuntu

     ```
     $ sudo systemctl restart gdm3
     ```
   + SUSE Linux Enterprise 15.x

     ```
     $ sudo systemctl restart xdm
     ```

## X サーバーを設定する
<a name="linux-prereq-xserver"></a>

コンソールセッションまたは GPU 共有を使用する場合は、Linux サーバーが正しく設定され、実行されている X サーバーがあることを確認する必要があります。

**注記**  
GPU 共有を使用せずに仮想セッションを使用する場合、X サーバーは必要ありません。

X サーバーパッケージは通常、デスクトップ環境とデスクトップマネージャーの依存関係としてインストールされます。Linux サーバーの起動時に自動的に起動するように X サーバーを設定することをお勧めします。

**Linux の X サーバーを設定して起動するには**

1. Linux サーバーの起動時に自動的に起動するように X サーバーを設定します。

   ```
   $ sudo systemctl get-default
   ```

   コマンドが `graphical.target` を返した場合、X サーバーは自動的に起動するようにすでに設定されています。次のステップに進みます。

   コマンドが `multi-user.target` を返した場合、X サーバーは自動的に起動するように設定されていません。次の コマンドを実行します。

   ```
   $ sudo systemctl set-default graphical.target
   ```

1. X サーバーを起動します。

   ```
   $ sudo systemctl isolate graphical.target
   ```

1. X サーバーが実行中であることを確認する

   ```
   $ ps aux | grep X | grep -v grep
   ```

   以下に示しているのは、X サーバーが動作している場合の出力例です。

   `root 1891 0.0 0.7 277528 30448 tty7 Ssl+ 10:59 0:00 /usr/bin/Xorg :0 -background none -verbose -auth /run/gdm/auth-for-gdm-wltseN/database -seat seat0 vt7 `

## glxinfo ユーティリティをインストールする
<a name="linux-prereq-tools"></a>

glxinfo ユーティリティは、Linux サーバーの OpenGL 設定に関する情報を提供します。このユーティリティを使用すれば、Linux サーバーでサポートされるように設定されているのが OpenGL のハードウェアレンダリングかソフトウェアレンダリングかを判断できます。ドライバーとサポートされている拡張機能に関する情報が得られます。

glxinfo ユーティリティは DCV GL のパッケージ依存関係としてインストールされます。したがって、DCV GL をインストールした場合、glxinfo ユーティリティはすでに Linux サーバーにインストールされています。

------
#### [ RHEL, CentOS, Rocky Linux, Amazon Linux 2, and Amazon Linux 2023 ]

**glxinfo ユーティリティをインストールするには**  
次のコマンドを実行します。

```
$ sudo yum install glx-utils
```

------
#### [ Ubuntu ]

**glxinfo ユーティリティをインストールするには**  
次のコマンドを実行します。

```
$ sudo apt install mesa-utils
```

------
#### [ SUSE Linux Enterprise ]

**glxinfo ユーティリティをインストールするには**  
次のコマンドを実行します。

```
$ sudo zypper in Mesa-demo-x
```

------

## OpenGL ソフトウェアレンダリングの検証
<a name="linux-prereq-opengl"></a>

GPU 非搭載の Linux サーバーでは、OpenGL は Mesa ドライバーを使用するソフトウェアレンダリングモードでのみサポートされます。GPU 非搭載の Linux サーバーを使用していて、OpenGL を使用する予定の場合は、Mesa ドライバーがインストールされ、Linux サーバーで正しく設定されていることを確認してください。

**注記**  
この条件は GPU 非搭載の Linux サーバーにのみ適用されます。

**OpenGL ソフトウェアレンダリングが利用可能であることを確認するには**  
X サーバーが実行されていることを確認し、次のコマンドを使用します。

```
$ sudo DISPLAY=:0 XAUTHORITY=$(ps aux | grep "X.*\-auth" | grep -v Xdcv | grep -v grep | sed -n 's/.*-auth \([^ ]\+\).*/\1/p') glxinfo | grep -i "opengl.*version"
```

以下に示しているのは、OpenGL ソフトウェアレンダリングが利用可能な場合の出力例です。

```
OpenGL core profile version string: 3.3 (Core Profile) Mesa 17.0.5
OpenGL core profile shading language version string: 3.30
OpenGL version string: 3.0 Mesa 17.0.5
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 17.0.5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
```

## グラフィックスインスタンス用の GPU ドライバーをインストールする
<a name="linux-prereq-gpu"></a>

**Topics**
+ [NVIDIA ドライバーをインストールして設定する](#gpu-nvidia)
+ [AMD ドライバーをインストールして設定する](#gpu-amd)

### NVIDIA ドライバーをインストールして設定する
<a name="gpu-nvidia"></a>

専用 NVIDIA GPU 搭載の Linux サーバーでは、適切な NVIDIA ドライバーがインストールされ、正しく設定されていることを確認する必要があります。Amazon EC2 Linux インスタンスに NVIDIA ドライバーをインストールする方法については、「*Amazon EC2 ユーザーガイド*」の「[Linux サーバーでの NVIDIA ドライバーのイントール](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html)」を参照してください。

**注記**  
この条件は NVIDIA GPU 搭載の Linux サーバーにのみ適用されます。
GRID ドライバーでは、インストールされた各 GPU に対して最大 4 つの 4K ディスプレイがサポートされます。ゲーミングドライバーでは、インストールされている各 GPU に対して 4 K ディスプレイが 1 つだけサポートされます。

Linux サーバーに NVIDIA ドライバーをインストールしたら、`xorg.conf` を更新してください。

**更新された xorg.conf を生成するには**

1. 以下のコマンドを実行してください。

   ```
   $  sudo nvidia-xconfig --preserve-busid --enable-all-gpus
   ```

   G3、G4、G5 Amazon EC2 インスタンスを使用していて、マルチモニターコンソールセッションを使用する場合は、`--connected-monitor=DFP-0,DFP-1,DFP-2,DFP-3` パラメータを含めます。これは次のように行います。

   ```
   $  sudo nvidia-xconfig --preserve-busid --enable-all-gpus --connected-monitor=DFP-0,DFP-1,DFP-2,DFP-3
   ```
**注記**  
サーバーにレガシー `/etc/X11/XF86Config` ファイルがないことを確認します。存在する場合、`nvidia-xconfig` は必要な `/etc/X11/xorg.conf` ファイルを生成するのではなく、その設定ファイルを更新します。次のコマンドを実行して、レガシー `XF86Config` ファイルを削除します。  

   ```
   sudo rm -rf /etc/X11/XF86Config*
   ```

1. 変更を有効にするには、X サーバーを再起動します。
   + 

     ```
     $ sudo systemctl isolate multi-user.target
     ```

     ```
     $ sudo systemctl isolate graphical.target
     ```

**NVIDIA GPU がハードウェアベースのビデオエンコーディングに対応しているか確認する方法**  
NVENC エンコーディングがサポートされていることと、Ubuntu 20 では 3.0 以上、または 3.5 以上のコンピューティング機能があることを確認します。

NVENC のサポートを確認するには、「[NVIDIA Video Encode and Decode GPU Support Matrix](https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new#Encoder)」(NVIDIA ビデオエンコード/デコードの GPU サポートマトリックス) を参照してください。コンピューティング機能を確認するには、「[NVIDIA Compute Capacility](https://developer.nvidia.com/cuda-gpus)」(NVIDIA コンピューティングキャパシティ) テーブルを参照してください。

NVIDIA GPU で NVENC エンコーディングがサポートされていない場合、または必要なコンピューティング機能が備わっていない場合は、ソフトウェアベースのビデオエンコーディングが使用されます。

**OpenGL ハードウェアレンダリングが利用可能であることを確認するには**  
次のコマンドを使用して、X サーバーが実行されていることを確認します。

```
$ sudo DISPLAY=:0 XAUTHORITY=$(ps aux | grep "X.*\-auth" | grep -v Xdcv | grep -v grep | sed -n 's/.*-auth \([^ ]\+\).*/\1/p') glxinfo | grep -i "opengl.*version"
```

以下に示しているのは、OpenGL ハードウェアレンダリングが利用可能な場合の出力例です。

```
OpenGL core profile version string: 4.4.0 NVIDIA 390.75
OpenGL core profile shading language version string: 4.40 NVIDIA via Cg compiler
OpenGL version string: 4.6.0 NVIDIA 390.75
OpenGL shading language version string: 4.60 NVIDIA
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 390.75
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
```

### AMD ドライバーをインストールして設定する
<a name="gpu-amd"></a>

AMD GPU がアタッチされたインスタンス (G4ad インスタンスなど) には、適切な AMD ドライバーがインストールされている必要があります。互換性のある Amazon EC2 インスタンスに AMD GPU ドライバーをインストールする方法については、「[Linux インスタンスに AMD ドライバーをインストールする](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-amd-driver.html)」を参照してください。

Amazon EC2 G4ad インスタンスの詳細については、ブログ投稿記事「[新しい Amazon EC2 G4ad インスタンスの詳細](https://aws.amazon.com/blogs/compute/deep-dive-on-the-new-amazon-ec2-g4ad-instances/)」を参照してください。

## GPU 以外のインスタンスに XDummy ドライバーをインストールする
<a name="linux-prereq-nongpu"></a>

**Topics**
+ [xDummy ドライバーをインストールして設定する](#gpu-xdummy)

### xDummy ドライバーをインストールして設定する
<a name="gpu-xdummy"></a>

専用 GPU が搭載されていない Linux サーバーでコンソールセッションを使用する場合は、Xdummy ドライバーがインストールされ、正しく設定されていることを確認します。XDummy ドライバーを使用すると、実際の GPU が存在しない場合に X サーバーを仮想フレームバッファで実行できます。

**注記**  
これは、仮想セッションを使用する場合は必須ではありません。
XDummy ドライバーは、その設定で定義されている解像度しか対応できません。

------
#### [ RHEL, CentOS, Rocky Linux, Amazon Linux 2, and Amazon Linux 2023 ]

**xDummy ドライバーをインストールする方法**  
次のコマンドを実行します。

```
$ sudo yum install xorg-x11-drv-dummy
```

------
#### [ Ubuntu ]

**xDummy ドライバーをインストールする方法**  
次のコマンドを実行します。

```
$ sudo apt install xserver-xorg-video-dummy
```

------
#### [ SUSE Linux Enterprise ]

**xDummy ドライバーをインストールする方法**  
次のコマンドを実行します。

```
$ sudo zypper in xf86-video-dummy
```

------

Linux サーバーに XDummy ドライバーをインストールしたら、`xorg.conf` を更新します。

**xorg.conf で xDummy を設定する方法**

1. 任意のテキストエディタで `/etc/X11/xorg.conf` ファイルを開きます。

1. 設定に次のセクションを追加します。

   ```
   Section "Device"
       Identifier "DummyDevice"
       Driver "dummy"
       Option "UseEDID" "false"
       VideoRam 512000
   EndSection
   
   Section "Monitor"
       Identifier "DummyMonitor"
       HorizSync   5.0 - 1000.0
       VertRefresh 5.0 - 200.0
       Option "ReducedBlanking"
   EndSection
   
   Section "Screen"
       Identifier "DummyScreen"
       Device "DummyDevice"
       Monitor "DummyMonitor"
       DefaultDepth 24
       SubSection "Display"
           Viewport 0 0
           Depth 24
           Virtual 4096 2160
       EndSubSection
   EndSection
   ```
**注記**  
示されている設定は一例です。さらにモードを追加すれば、異なる `virtual` 解像度を設定できます。複数のダミーモニターを設定することもできます。

1. 変更を有効にするには、X サーバーを再起動します。

   ```
   $ sudo systemctl isolate multi-user.target
   ```

   ```
   $ sudo systemctl isolate graphical.target
   ```