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

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

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

Ubuntu/Debian 시스템에 V4L2Loopback 설치

  1. 필요한 종속성 패키지를 설치합니다.
    sudo apt-get install make
    sudo apt-get install gcc
    sudo apt-get install libelf-dev
  2. 소스 코드 패키지에서 V4L2Loopback 드라이버를 컴파일하고 설치합니다.
    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. (Linux 커널 버전 5.15.0 이상만 해당) 시스템에 기본적으로 설치된 유효하지 않은 V4L2Loopback 드라이버를 방금 설치한 유효한 V4L2Loopback 드라이버로 재정의하도록 구성을 수정합니다.
    1. /etc/depmod.d/ubuntu.conf 구성 파일의 끝에 다음 줄을 추가합니다.
      override v4l2loopback * extra
    2. modules.dep 파일을 재생성합니다.
      depmod -a
    3. 잘못된 V4L2Loopback 드라이버를 제거하려면 다음 중 하나를 수행합니다.
      • 시스템을 다시 시작합니다.
      • 다음 명령을 실행합니다.
        sudo rmmod v4l2loopback
  4. (Ubuntu만 해당) 가상 시스템에서 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 또는 Rocky Linux 시스템에 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 드라이버를 컴파일하고 설치합니다.
    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 및 Rocky Linux 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 드라이버를 컴파일하고 설치합니다.
    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. 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 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를 참조하십시오.