您可以在 /etc/vmware/config、/usr/lib/vmware/config 和 ~/.vmware/config 組態檔案中設定 USB 組態屬性。
使用下列語法,在組態檔案中設定 USB 組態屬性。
viewusb.property1 = "value1"
透過 USB 組態屬性,您將可控制是否要重新導向特定類型的裝置。您也可以使用篩選屬性來包含或排除特定類型的裝置。此外也提供了用於分割複合裝置的內容。
某些屬性值需要 USB 裝置的 VID (廠商識別碼) 及 PID (產品識別碼)。若要查詢 VID 和 PID,您可以在網際網路上搜尋產品名稱,並加上 vid 和 pid。或者,您也可以在 Horizon Client 執行期間將 USB 裝置插入本機系統後,查詢 /tmp/vmware-<current_user>/vmware-view-usbd-*.log 檔案。若要設定此檔案的位置,請使用 /etc/vmware/config 檔案中的 view-usbd.log.fileName 屬性,例如:
view-usbd.log.fileName = "/tmp/usbd.log"
下表說明可用的 USB 組態屬性。
原則名稱和屬性 | 說明 |
---|---|
允許音訊裝置分割 屬性: viewusb.AllowAutoDeviceSplitting |
允許複合 USB 裝置的自動分割。 該預設值未定義,其相當於 false。 |
排除 Vid/Pid 裝置以避免分割 屬性: viewusb.SplitExcludeVidPid |
排除依照廠商和產品識別碼指定的複合 USB 裝置,不進行分割。設定格式為 vid-xxx1_pid-yyy1[;vid-xxx2_pid-yyy2]... 您必須以十六進位指定識別碼。您可以在識別碼中使用萬用字元 (*) 以取代個別數字。 例如:vid-0781_pid-55** 該預設值未定義。 |
分割 Vid/Pid 裝置 屬性: viewusb.SplitVidPid |
將依照廠商和產品識別碼指定的複合 USB 裝置元件視為個別裝置。設定格式為 vid-xxxx_pid-yyyy([exintf:zz[;exintf:ww ]])[;...] 您可以使用 exintf 關鍵字,藉由指定他們的介面號碼來將元件自重新導向清單中排除。您必須以十六進位指定識別碼,及以十進位指定介面號碼,包括任何前置的 0。您可以在識別碼中使用萬用字元 (*) 以取代個別數字。 例如:vid-0781_pid-554c(exintf:01;exintf:02)
備註: 如果複合裝置包含自動排除的元件 (如滑鼠和鍵盤元件),則 Horizon 便不會自動納入您未明確排除的元件。您必須指定篩選原則,例如
Include Vid/Pid Device,以納入那些元件。
該預設值未定義。 |
允許音訊輸入裝置 屬性: viewusb.AllowAudioIn |
允許將音訊輸入裝置重新導向。 該預設值未定義,其相當於 false,因為音訊輸入和視訊裝置會使用即時音訊視訊功能,但依預設 USB 重新導向不供這些裝置使用。 |
允許音訊輸出裝置 屬性: viewusb.AllowAudioOut |
允許將音訊輸出裝置重新導向。 該預設值未定義,其相當於 false。 |
允許 HID 屬性: viewusb.AllowHID |
允許將鍵盤或滑鼠之外的輸入裝置重新導向。 該預設值未定義,其相當於 true。 |
允許 HIDBootable 屬性: viewusb.AllowHIDBootable |
允許將鍵盤或滑鼠以外且開機時可使用的輸入裝置 (亦稱為 HID 可開機裝置) 重新導向。 該預設值未定義,其相當於 true。 |
允許裝置描述元故障安全防護裝置 屬性: viewusb.AllowDevDescFailsafe |
即使在 Horizon Client 無法取得 config/device 描述元時,仍允許重新導向裝置。 若要在無法取得組態/描述元的情形允許裝置,請將其納入 Include 篩選器當中,例如 IncludeVidPid 或 IncludePath。 該預設值未定義,其相當於 false。 |
允許鍵盤和滑鼠裝置 屬性: viewusb.AllowKeyboardMouse |
允許將整合指向裝置 (例如滑鼠、軌跡球或觸控板) 的鍵盤重新導向。 該預設值未定義,其相當於 false。 |
允許智慧卡 屬性: viewusb.AllowSmartcard |
允許將智慧卡裝置重新導向。 該預設值未定義,其相當於 false。 |
允許視訊裝置 屬性: viewusb.AllowVideo |
允許將視訊裝置重新導向。 該預設值未定義,其相當於 false,因為音訊輸入和視訊裝置會使用即時音訊視訊功能,但依預設 USB 重新導向不供這些裝置使用。 |
停用遠端組態下載 屬性: viewusb.DisableRemoteConfig |
會在執行 USB 裝置篩選時停用 Horizon Agent 設定。 該預設值未定義,其相當於 false。 |
排除所有裝置 屬性: viewusb.ExcludeAllDevices |
排除所有 USB 裝置,避免重新導向。如果設定為 true,您可以使用其他原則設定,以允許將特定裝置或裝置系列重新導向。如果設定為 false,您可以使用其他原則設定,以避免將特定裝置或裝置系列重新導向。 如果在 Horizon Agent 上將 Exclude All Devices 的值設為 true,且此設定已傳遞至 Horizon Client,則 Horizon Agent 設定會覆寫 Horizon Client 設定。 該預設值未定義,其相當於 false。 |
排除裝置系列 屬性: viewusb.ExcludeFamily |
排除裝置系列,避免重新導向。設定的格式為 family_name_1[;family_name_2]... 例如:bluetooth;smart-card 如果您已經啟用自動裝置分割功能,Horizon 便會檢驗複合 USB 裝置每個介面的裝置系列,以確認應該排除的介面。如果您已經停用自動裝置分割功能,Horizon 便會檢驗整個複合 USB 裝置的裝置系列。 該預設值未定義。 |
排除 Vid/Pid 裝置 屬性: viewusb.ExcludeVidPid |
排除具有特定廠商和產品識別碼的裝置,避免重新導向。設定的格式為 vid-xxx1_pid-yyy2[;vid-xxx2_pid-yyy2]... 您必須以十六進位指定識別碼。您可以在識別碼中使用萬用字元 (*) 以取代個別數字。 例如:vid-0781_pid-****;vid-0561_pid-554c 該預設值未定義。 |
排除路徑 屬性: viewusb.ExcludePath |
排除位於特定集線器或連接埠路徑上的裝置,避免重新導向。設定的格式為 bus-x1[/y1]..._port-z1[;bus-x2[/y2]..._port-z2]... 您必須以十六進位指定匯流排和連接埠號碼。您不能在路徑中使用萬用字元。 例如:bus-1/2/3_port-02;bus-1/1/1/4_port-ff 該預設值未定義。 |
納入裝置系列 屬性: viewusb.IncludeFamily |
納入可重新導向的裝置系列。設定的格式為 family_name_1[;family_name_2]... 例如:storage 該預設值未定義。 |
納入路徑 屬性: viewusb.IncludePath |
納入位於特定集線器或連接埠路徑上並可重新導向的裝置。設定的格式為 bus-x1[/y1]..._port-z1[;bus-x2[/y2]..._port-z2]... 您必須以十六進位指定匯流排和連接埠號碼。您不能在路徑中使用萬用字元。 例如:bus-1/2_port-02;bus-1/7/1/4_port-0f 該預設值未定義。 |
納入 Vid/Pid 裝置 屬性: viewusb.IncludeVidPid |
納入具有特定廠商和產品識別碼並可重新導向的裝置。設定的格式為 vid-xxx1_pid-yyy2[;vid-xxx2_pid-yyy2]... 您必須以十六進位指定識別碼。您可以在識別碼中使用萬用字元 (*) 以取代個別數字。 例如:vid-0561_pid-554c 該預設值未定義。 |
排除裝置系列的自動轉送 屬性: viewusb.ExAutoRedirectFamily |
排除裝置系列以避免自動轉送。設定的格式為 family_name_1[;family_name_2]... 例如:storage 該預設值未定義。 |
排除 Vid/Pid 裝置的自動轉送 屬性: viewusb.ExAutoRedirectVidPid |
將具有指定廠商和產品識別碼的裝置排除在自動轉送之外。設定的格式為 vid-xxx1_pid-yyy2[;vid-xxx2_pid-yyy2]... 您必須以十六進位指定識別碼。您可以在識別碼中使用萬用字元 (*) 以取代個別數字。 例如:vid-0561_pid-554c 該預設值未定義。 |
USB 重新導向範例
在每個範例後均會說明 USB 重新導向的效果。
-
包含滑鼠裝置系列中的多數裝置。
viewusb.IncludeFamily = "mouse" viewusb.ExcludeVidPid = "Vid-0461_Pid-0010;Vid-0461_Pid-4d20"
本範例中的第一個內容會命令 Horizon Client 允許將滑鼠裝置重新導向至 Horizon 桌面平台。第二個屬性則會覆寫第一個屬性並命令 Horizon Client 將兩個特定的滑鼠裝置保持在本機,不進行重新導向。
-
開啟自動裝置分割功能,但將一個特定裝置自分割清單中排除。對於另一個特定裝置,請將其元件之一保持在本機,並將其他元件重新導向至遠端桌面平台:
viewusb.AllowAutoDeviceSplitting = "True" viewusb.SplitExcludeVidPid = "Vid-03f0_Pid-2a12" viewusb.SplitVidPid = "Vid-0911_Pid-149a(exintf:03)" viewusb.IncludeVidPid = "Vid-0911_Pid-149a"
複合 USB 裝置是由兩個或多個裝置的結合所組成,例如視訊輸入裝置和儲存裝置。本範例中的第一個屬性會開啟複合裝置的自動分割功能。第二個屬性會將特定的複合 USB 裝置 (Vid-03f0_Pid-2a12) 自分割清單中排除。
第三行通知 Horizon Client 將不同的複合裝置元件 (Vid-0911_Pid-149a) 視為不同的裝置,但將下列元件自重新導向清單中排除:介面編號為 03 的元件。將此元件保留在本機。
因為此複合裝置包含依預設會排除的元件,如滑鼠或鍵盤,所以必須加入第四行,讓 Vid-0911_Pid-149a 複合裝置的其他元件可重新導向至 Horizon 桌面平台。
前三個屬性都是分割屬性。最後一個屬性是篩選屬性。在處理分割屬性之前,會先處理篩選屬性。