Linux 시스템에서 실시간 오디오-비디오 기능을 지원하려면 V4L2Loopback 드라이버를 설치해야 합니다. 실시간 오디오-비디오 기능은 로컬로 연결된 웹캠 및 오디오 디바이스를 클라이언트 시스템에서 원격 세션으로 리디렉션합니다.

사용하는 Horizon Agent 설치 관리자의 형식에 따라 Horizon Agent를 설치하기 전이나 후에 Linux 시스템에 V4L2Loopback 드라이버를 설치해야 합니다. 자세한 내용은 실시간 오디오-비디오 기능 설치 항목을 참조하십시오.

먼저 https://github.com/umlaeute/v4l2loopback/tags에서 최신 버전의 V4L2Loopback 소스 코드 패키지를 다운로드합니다. Linux 배포에 대한 설치 절차를 따릅니다.

Ubuntu 시스템에 V4L2Loopback 설치

  1. 필요한 종속성 패키지를 설치합니다.
    sudo apt-get install make
    sudo apt-get install gcc
    sudo apt-get install libelf-dev
  2. 소스 코드 패키지에서 V4L2Loopback 드라이버를 컴파일하고 설치합니다. 예를 들어 다음 명령 시퀀스는 V4L2Loopback 패키지 버전 0.12.5를 사용합니다.
    unzip v0.12.5.zip
    cd v4l2loopback-0.12.5
    
    # For tarball installer, the [agent patch path] is the installer package path such as /root/VMware-horizonagent-linux-x86_64-2206-8.6.0-19639256
    # For RPM installer, the [agent patch path] is /usr/lib/vmware/viewagent
    patch -p1 < [agent patch path]/resources/v4l2loopback/v4l2loopback.patch
    make clean && make && make install
    
    # Install v4l2loopback-ctl
    make install-utils
    depmod -A
  3. (Ubuntu 22.04) Ubuntu 22.04 시스템에 기본적으로 설치된 유효하지 않은 V4L2Loopback 드라이버를 방금 설치한 유효한 V4L2Loopback 드라이버로 재정의하도록 구성을 수정합니다.
    1. /etc/depmod.d/ubuntu.conf 구성 파일의 끝에 다음 줄을 추가합니다.
      override v4l2loopback * extra
    2. modules.dep 파일을 재생성합니다.
      depmod -a
  4. 가상 시스템에서 EFI(확장 가능한 펌웨어 인터페이스) 및 UEFI 보안 부팅을 사용하도록 설정한 경우 V4L2Loopback 드라이버에 대한 서명 설정을 구성합니다.
    1. V4L2Loopback 드라이버에 대한 SSL 키 쌍을 생성합니다.
      openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Descriptive name/" -addext extendedKeyUsage=1.3.6.1.5.5.7.3.3
    2. V4L2Loopback 드라이버에 서명합니다.
      sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der  /lib/modules/$(uname -r)/extra/v4l2loopback.ko
    3. UEFI 보안 부팅을 위해 키를 등록합니다.
      sudo mokutil --import MOK.der
      참고: 이 명령은 UEFI 보안 부팅을 위해 MOK(시스템 소유자 키) 암호를 설정하는 요청을 실행합니다.
    4. vSphere 콘솔에서 UEFI 보안 부팅을 설정하려면 시스템을 재부팅합니다. 자세한 내용은 https://sourceware.org/systemtap/wiki/SecureBoot를 참조하십시오.

RHEL 시스템에 V4L2Loopback 설치

  1. 필요한 종속성 패키지를 설치합니다.
    sudo yum install gcc-c++
    sudo yum install kernel-devel-$(uname -r)
    sudo yum install kernel-headers-$(uname -r)
    sudo yum install patch
    sudo yum install elfutils-libelf-devel
  2. 소스 코드 패키지에서 V4L2Loopback 드라이버를 컴파일하고 설치합니다. 예를 들어 다음 명령 시퀀스는 V4L2Loopback 패키지 버전 0.12.5를 사용합니다.
    unzip v0.12.5.zip
    cd v4l2loopback-0.12.5
    
    # For tarball installer, the [agent patch path] is the installer package such as /root/VMware-horizonagent-linux-x86_64-2206-8.6.0-19639256
    # For RPM installer, the [agent patch path] is /usr/lib/vmware/viewagent
    patch -p1 < [agent patch path]/resources/v4l2loopback/v4l2loopback.patch
    make clean && make && make install
    
    # Install v4l2loopback-ctl
    make install-utils
    depmod -A
  3. (RHEL 9.x/8.x) V4L2Loopback 드라이버에 대한 서명 설정을 구성합니다.
    1. V4L2Loopback 드라이버에 대한 SSL 키 쌍을 생성합니다.
      openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Descriptive name/" -addext extendedKeyUsage=1.3.6.1.5.5.7.3.3
      
    2. V4L2Loopback 드라이버에 서명합니다.
      sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/extra/v4l2loopback.ko
    3. UEFI 보안 부팅을 위해 키를 등록합니다.
      sudo mokutil --import MOK.der
      참고: 이 명령은 UEFI 보안 부팅을 위해 MOK(시스템 소유자 키) 암호를 설정하는 요청을 실행합니다.
    4. vSphere 콘솔에서 UEFI 보안 부팅을 설정하려면 시스템을 재부팅합니다. 자세한 내용은 https://sourceware.org/systemtap/wiki/SecureBoot를 참조하십시오.

SLED/SLES 시스템에 V4L2Loopback 설치

  1. 현재 커널 패키지 버전을 찾습니다.
    rpm -qa | grep kernel-default-$(echo $(uname -r) | cut -d '-' -f 1,2)

    현재 설치된 커널 패키지 이름이 출력됩니다. 예를 들어 패키지 이름이 kernel-default-4.4.21-90.1이면 현재 커널 패키지 버전은 4.4.21-90.1입니다.

  2. kernel-devel, kernel-default-devel, kernel-macrospatch 패키지를 설치합니다. 예를 들어 커널 패키지 버전이 4.4.21-90.1인 경우 다음 명령을 사용합니다.
    zypper install --oldpackage kernel-devel-4.4.21-90.1 kernel-default-devel-4.4.21-90.1 kernel-macros-4.4.21-90.1 patch
  3. 소스 코드 패키지에서 V4L2Loopback 드라이버를 컴파일하고 설치합니다. 예를 들어 다음 명령 시퀀스는 V4L2Loopback 패키지 버전 0.12.5를 사용합니다.
    unzip v0.12.5.zip
    cd v4l2loopback-0.12.5
    
    # For tarball installer, the [agent patch path] is the installer package such as /root/VMware-horizonagent-linux-x86_64-2206-8.6.0-19639256
    # For RPM installer, the [agent patch path] is /usr/lib/vmware/viewagent
    patch -p1 < [agent patch path]/resources/v4l2loopback/v4l2loopback.patch
    make clean && make && make install
    
    # Install v4l2loopback-ctl
    make install-utils
    depmod -A
  4. (SLED/SLES 15.x) V4L2Loopback 드라이버에 대한 서명 설정을 구성합니다.
    1. V4L2Loopback 드라이버에 대한 SSL 키 쌍을 생성합니다.
      openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Descriptive name/" -addext extendedKeyUsage=1.3.6.1.5.5.7.3.3
      
    2. V4L2Loopback 드라이버에 대한 서명 파일의 경로를 찾습니다.
      find / -name sign-file

      이 명령은 시스템에 있는 모든 서명 파일의 경로를 반환합니다. V4L2Loopback 드라이버에 대한 서명 파일 경로는 다음 예와 유사합니다.

      /usr/src/linux-5.3.18-24.9-obj/x86_64/default/scripts/
    3. V4L2Loopback 드라이버에 서명합니다. 다음 명령 시퀀스에서 <sign-file-path>는 이전에 찾은 서명 파일의 경로입니다.
      sudo /<sign-file-path>/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/extra/v4l2loopback.ko
    4. UEFI 보안 부팅을 위해 키를 등록합니다.
      sudo mokutil --import MOK.der
      참고: 이 명령은 UEFI 보안 부팅을 위해 MOK(시스템 소유자 키) 암호를 설정하는 요청을 실행합니다.
    5. vSphere 콘솔에서 UEFI 보안 부팅을 설정하려면 시스템을 재부팅합니다. 자세한 내용은 https://sourceware.org/systemtap/wiki/SecureBoot를 참조하십시오.