若要在 Linux 機器上支援即時影音 (RTAV) 功能,您必須安裝 V4L2Loopback 驅動程式。即時影音 (RTAV) 功能可將本機連線的網路攝影機和音訊裝置,從用戶端系統重新導向至遠端工作階段。
您必須在安裝 Horizon Agent 前後,於 Linux 機器上安裝 V4L2Loopback 驅動程式 v0.12.5 版,具體取決於您使用的 Horizon Agent 安裝程式格式。如需詳細資訊,請參閱安裝即時影音功能。
首先,從 https://github.com/umlaeute/v4l2loopback/tags 下載 V4L2Loopback 原始程式碼套件 v0.12.5 版。然後遵循 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 機器上安裝 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 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 驅動程式的簽署檔案路徑。
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 金鑰配對。