您可以在 /etc/vmware/config/usr/lib/vmware/config~/.vmware/config 組態檔案中設定 USB 組態屬性。

使用下列語法,在組態檔案中設定 USB 組態屬性。

viewusb.property1 = "value1"

透過 USB 組態屬性,您將可控制是否要重新導向特定類型的裝置。您也可以使用篩選屬性來包含或排除特定類型的裝置。此外也提供了用於分割複合裝置的內容。

某些屬性值需要 USB 裝置的 VID (廠商識別碼) 及 PID (產品識別碼)。若要查詢 VID 和 PID,您可以在網際網路上搜尋產品名稱,並加上 vidpid。或者,您也可以在 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"
重要: 重新導向音訊裝置時,請確定您 Ubuntu 系統的核心版本是 3.2.0-27.43 或更新版本。如果您無法升級至此核心版本,您也可以停用對於該音訊裝置的主機存取權限。例如,您可在 /etc/modprobe.d/blacklist.conf 檔案的尾端,新增「 blacklist snd-usb-audio」行。如果您的系統不符合其中任何一項需求,則當 Horizon Client 嘗試重新導向音訊裝置時,用戶端系統可能會當機。依預設,系統會重新導向音訊裝置。

下表說明可用的 USB 組態屬性。

表 1. 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 篩選器當中,例如 IncludeVidPidIncludePath

該預設值未定義,其相當於 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 桌面平台。

    前三個屬性都是分割屬性。最後一個屬性是篩選屬性。在處理分割屬性之前,會先處理篩選屬性。

重要: 這些用戶端組態屬性可能會與針對遠端桌面平台上 Horizon Agent 所設定的對應原則合併或遭其覆寫。如需用戶端上的 USB 分割和篩選屬性如何與 Horizon Agent USB 原則搭配運作的相關資訊,請參閱 《在 Horizon 中設定遠端桌面平台功能》文件中有關於使用原則控制 USB 重新導向的主題。