Linux マシンでリアルタイム オーディオビデオ機能をサポートするには、V4L2Loopback ドライバをインストールする必要があります。リアルタイム オーディオビデオ機能は、ローカルに接続された Web カメラおよびオーディオ デバイスをクライアント システムからリモート セッションにリダイレクトします。
使用する Horizon Agent インストーラの形式に応じて、Horizon Agent のインストール前またはインストール後に、Linux マシンに V4L2Loopback ドライバのバージョン v0.12.5 をインストールする必要があります。詳細については、「Linux マシンへのリアルタイム オーディオビデオのインストール」を参照してください。
まず、V4L2Loopback ソース コード パッケージのバージョン v0.12.5 を 「https://github.com/umlaeute/v4l2loopback/tags」からダウンロードします。Linux ディストリビューションのインストール手順に従います。
Ubuntu/Debian マシンへの V4L2Loopback のインストール
- 必要な依存パッケージをインストールします。
sudo apt-get install make sudo apt-get install gcc sudo apt-get install libelf-dev
- ソース コード パッケージから 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
- (Linux カーネル バージョン 5.15.0 以降のみ)マシンにデフォルトでインストールされている無効な V4L2Loopback ドライバを、インストールした有効な V4L2Loopback ドライバでオーバーライドするように構成を変更します。
- /etc/depmod.d/ubuntu.conf 構成ファイルの最後に次の行を追加します。
override v4l2loopback * extra
- modules.dep ファイルを再生成します。
depmod -a
- 無効な V4L2Loopback ドライバを削除するには、次のいずれかを実行します。
- マシンを再起動します。
- 次のコマンドを実行します。
sudo rmmod v4l2loopback
- /etc/depmod.d/ubuntu.conf 構成ファイルの最後に次の行を追加します。
- (Ubuntu のみ)Ubuntu 仮想マシンで拡張ファームウェア インターフェイス (EFI) と UEFI セキュア ブートを有効にしている場合は、V4L2Loopback ドライバの署名を設定します。
- 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
- V4L2Loopback ドライバに署名します。
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/extra/v4l2loopback.ko
- UEFI セキュア ブートにキーを登録します。
sudo mokutil --import MOK.der
注: このコマンドは、UEFI セキュア ブートのマシン所有者キー (MOK) のパスワードを設定するように要求します。 - vSphere コンソールで UEFI セキュア ブートを設定するには、システムを再起動します。詳細については、https://sourceware.org/systemtap/wiki/SecureBoot を参照してください。
- V4L2Loopback ドライバの SSL キー ペアを作成します。
RHEL または Rocky Linux マシンへの V4L2Loopback のインストール
- 必要な依存パッケージをインストールします。
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
- ソース コード パッケージから 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
- (RHEL および Rocky Linux 9.x/8.x)V4L2Loopback ドライバの署名設定を構成します。
- 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
- V4L2Loopback ドライバに署名します。
sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/extra/v4l2loopback.ko
- UEFI セキュア ブートにキーを登録します。
sudo mokutil --import MOK.der
注: このコマンドは、UEFI セキュア ブートのマシン所有者キー (MOK) のパスワードを設定するように要求します。 - vSphere コンソールで UEFI セキュア ブートを設定するには、システムを再起動します。詳細については、https://sourceware.org/systemtap/wiki/SecureBoot を参照してください。
- V4L2Loopback ドライバの SSL キー ペアを作成します。
SLED/SLES マシンへの V4L2Loopback のインストール
- 現在のカーネル パッケージのバージョンを検索します。
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 になります。
- kernel-devel、kernel-default-devel、kernel-macros、patch パッケージをインストールします。たとえば、カーネル パッケージのバージョンが 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
- ソース コード パッケージから 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
- V4L2Loopback ドライバの署名設定を構成します。
- 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
- V4L2Loopback ドライバの署名ファイルのパスを検索します。
sudo find / -name sign-file
このコマンドを実行すると、システム上にあるすべての署名ファイルへのパスが返されます。V4L2Loopback ドライバの署名ファイルのパスは、次のようになります。
/usr/src/linux-5.3.18-24.9-obj/x86_64/default/scripts/
- V4L2Loopback ドライバに署名します。次のコマンド シーケンスで、<sign-file-path> は、以前に確認した署名ファイルのパスです。
sudo /<sign-file-path>/sign-file sha256 ./MOK.priv ./MOK.der /lib/modules/$(uname -r)/extra/v4l2loopback.ko
- UEFI セキュア ブートにキーを登録します。
sudo mokutil --import MOK.der
注: このコマンドは、UEFI セキュア ブートのマシン所有者キー (MOK) のパスワードを設定するように要求します。 - vSphere コンソールで UEFI セキュア ブートを設定するには、システムを再起動します。詳細については、https://sourceware.org/systemtap/wiki/SecureBoot を参照してください。
- V4L2Loopback ドライバの SSL キー ペアを作成します。