

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 콘솔 세션에서 Xdcv 사용
<a name="xdcv-console-sessions"></a>

Amazon DCV는 콘솔과 가상의 두 가지 유형의 세션을 제공합니다.

**가상 세션을** 통해 Amazon DCV는 전용 X 서버 인스턴스인 Xdcv를 시작하고 그 안에 데스크톱 환경을 실행합니다. Amazon DCV는 각 가상 세션에 대해 새 Xdcv 인스턴스를 시작하고 각 가상 세션은 자체 X 서버 인스턴스에서 제공하는 디스플레이를 사용합니다. Xdcv 바이너리는 `nice-xdcv` 패키지에서 제공됩니다.

**콘솔 세션을** 사용하면 Amazon DCV가 Linux에서 일반적으로 시스템의 X 서버(Xorg)에 의해 렌더링되는 데스크톱 화면의 콘텐츠를 직접 캡처합니다. Xorg 대신 Xdcv에서 제공하도록 콘솔 세션을 구성할 수도 있습니다. 이렇게 하면에서 세부 정보를 구성하지 않고도 동적 크기 조정 및 다중 모니터가 제공됩니다`xorg.conf`.

이 주제에서는 Ubuntu, RHEL/Rocky Linux/CentOS Stream 및 Amazon Linux 2023을 켜는 방법을 설명합니다.

**중요**  
이 구성은 GPU가 아닌 호스트에만 적용됩니다. GPU가 있는 인스턴스에이 단계를 적용하면 GPU 가속 디스플레이 파이프라인이 중단됩니다.

**참고**  
이 지침에서는 시스템에서 GDM(GNOME Display Manager)을 사용한다고 가정합니다. LightDM 또는 SDDM과 같은 다른 디스플레이 관리자를 사용하는 경우 그에 따라 `systemctl restart` 명령을 조정합니다.

**Topics**
+ [사전 조건](#xdcv-console-prereqs)
+ [Ubuntu](#xdcv-console-ubuntu)
+ [RHEL / Rocky Linux / CentOS 스트림](#xdcv-console-rhel)
+ [Amazon Linux 2023](#xdcv-console-al2023)
+ [구성 확인](#xdcv-console-verify)
+ [되돌리기](#xdcv-console-revert)

## 사전 조건
<a name="xdcv-console-prereqs"></a>

배포에 대한 명령을 실행하기 전에 다음을 확인합니다.
+ `nice-xdcv` 패키지가 설치되고 바이`Xdcv-console`너리가에 있습니다`/usr/bin/Xdcv-console`.
+ 루트 권한이 있습니다(해당하는 `sudo` 경우 사용).

**참고**  
구성 후 다음 콘솔 로그인은 표준 Xorg 세션이 아닌 Xdcv 지원 세션을 시작합니다.

## Ubuntu
<a name="xdcv-console-ubuntu"></a>

Ubuntu에서는 원래 Xorg 바이너리를 다른 방향으로 전환하고 symlink를 `Xdcv-console` 통해 `/usr/bin/Xorg`를 가리키면 전환이 수행됩니다.

```
$ dpkg-divert --package nice-xdcv --divert /usr/bin/Xorg.orig --rename /usr/bin/Xorg
$ ln -sf /usr/bin/Xdcv-console /usr/bin/Xorg
$ sudo systemctl restart gdm
```각 명령이 수행하는 작업

`dpkg-divert`  
`nice-xdcv` 패키지가 경로를 소유하고 있음을 dpkg에 알리고 기존 Xorg 바이너리의 이름을 로 `/usr/bin/Xorg` 바꿉니다`/usr/bin/Xorg.orig`. 이렇게 하면 원래 바이너리가 보존되고 향후 Xorg 패키지 업그레이드가 사용자 지정을 덮어쓰지 않습니다.

`ln -sf`  
심볼 링크를 생성하거나 교체하여 모든 프로세스 호출이 `/usr/bin/Xorg` 실제로를 실행하도록 합니다`/usr/bin/Xdcv-console`.

`systemctl restart gdm`  
변경 사항이 적용되도록 GNOME Display Manager를 다시 시작합니다. 이렇게 하면 호스트에서 활성 그래픽 세션이 종료되므로 콘솔에 로그인한 사람이 없을 때 실행합니다.

## RHEL / Rocky Linux / CentOS 스트림
<a name="xdcv-console-rhel"></a>

RHEL 패밀리 배포에서 `nice-xdcv` 패키지는 스위치를 선언적으로 처리하는 두 개의 시스템 단위를 제공합니다.

```
$ systemctl enable --now xdcv-console-update.service
$ systemctl enable xdcv-console.path
$ sudo systemctl restart gdm
```각 명령이 수행하는 작업

`xdcv-console-update.service`  
`Xdcv-console` 콘솔 세션에 사용할 시스템을 조정하는 단위입니다. 로 활성화하면 즉시 `--now` 활성화되고 후속 부팅 시 시작됩니다.

`xdcv-console.path`  
예를 들어 패키지 업그레이드 후 X 서버 구성이 변경될 경우 디스크의 관련 파일을 감시하고 업데이트 서비스를 다시 트리거하는 경로 기반 단위입니다. 활성화하면 Xdcv 구성이 자동으로 되돌리는 대신 자동으로 다시 적용됩니다.

`systemctl restart gdm`  
변경 사항이 적용되도록 GNOME Display Manager를 다시 시작합니다. 이렇게 하면 호스트에서 활성 그래픽 세션이 종료되므로 콘솔에 로그인한 사람이 없을 때 실행합니다.

## Amazon Linux 2023
<a name="xdcv-console-al2023"></a>

Amazon Linux 2023은 `update-alternatives` 시스템을 사용하여에서 제공하는 바이너리를 관리합니다`/usr/bin/X`.

```
$ update-alternatives --install /usr/bin/X X /usr/bin/Xdcv-console 11
$ sudo update-alternatives --set X /usr/bin/Xdcv-console
$ sudo systemctl restart gdm
```각 명령이 수행하는 작업

`update-alternatives --install`  
우선 순위가 11인 `X` 대체의 후보`Xdcv-console`로 등록합니다. 우선 순위는 대체가 자동 모드일 때만 중요하며 다음 명령은 이를 재정의합니다.

`update-alternatives --set X`  
`X`에 `Xdcv-console` 명시적으로 고정되므로 나중에 우선순위가 더 높은 후보에 의해 대체되지 않습니다.

`systemctl restart gdm`  
변경 사항이 적용되도록 GNOME Display Manager를 다시 시작합니다. 이렇게 하면 호스트에서 활성 그래픽 세션이 종료되므로 콘솔에 로그인한 사람이 없을 때 실행합니다.

## 구성 확인
<a name="xdcv-console-verify"></a>

배포에 단계를 적용한 후 X 서버 경로가 이제 로 확인되는지 확인합니다. `Xdcv-console` 

```
$ ls -l /usr/bin/Xorg       # Ubuntu
$ ls -lh /usr/bin/X         # RHEL/Rocky Linux/CentOS Stream
$ ls -l /etc/alternatives/X # Amazon Linux 2023
```

그런 다음 콘솔 세션을 시작하고 예상대로 작동하는지 확인합니다. 디스플레이 관리자가 시작되지 않으면 다른 그래픽 로그인을 시도하기 전에 SSH를 통해 로그인하여 문제를 해결합니다.

## 되돌리기
<a name="xdcv-console-revert"></a>

주식 X 서버로 되돌려야 하는 경우:
+ **Ubuntu:** symlink를 제거한 다음를 실행`dpkg-divert --package nice-xdcv --rename --remove /usr/bin/Xorg`하여 원래 바이너리를 복원합니다.
+ **RHEL/Rocky:** `systemctl disable --now xdcv-console.path xdcv-console-update.service`.
+ **Amazon Linux 2023:** `update-alternatives --remove X /usr/bin/Xdcv-console`, 그런 다음 gdm을 다시 시작합니다.