如何从命令行启用/禁用 VirtualBox 中的 USB 过滤器?

如何从命令行启用/禁用 VirtualBox 中的 USB 过滤器?

我正在运行 VirtualBox Version 4.2.0 r80737

我有一个 USB 键盘,通常只想过滤到 VirtualBox,但偶尔我想释放它,以便我也可以在主机操作系统中使用它。我在文档,并看到了看起来很有希望的“usbfilter”选项,但是当我尝试时usbfilter add/modify出现错误:

The machine 'your name here' is already locked for a session (or being unlocked)

因此,它似乎不会影响正在运行的机器(至少不会通过该选项影响)。我真的只是希望能够以编程方式执行与通过菜单转到设备 > USB 设备 > USB 键盘 [0001] 相同的操作。

我不在乎我可以从主机还是客户操作系统访问它。

这可能吗?如果可以,我该怎么做?

答案1

这是通过usbattach如下命令完成的手动的

VBoxManage controlvm <VM_ID> usbattach <uuid>|<address>
VBoxManage controlvm <VM_ID> usbdetach <uuid>|<address>

为了找到你的虚拟机 ID,请运行VBoxManage list vms

要获取 USB 设备 UUID 列表,请运行VBoxManage list usbhost(您可能需要添加sudo

答案2

另一个答案并不是“开箱即用”的,所以以下是我从他的答案中结合以下内容得出的结论vboxmanage help

(您可能需要执行:vboxmanage.exe,或 cd \your\vbox\dir .\vboxmanage)

vboxmanage list vms
# Find your vm in the list and note the left string (ex "some_machine_123412341234_12345")
vboxmanage list usbhost
# Find your device in that list and note the uuid
vboxmanage controlvm "some_machine_123412341234_12345" usbattach "DEVICE_UUID"

或者分离:

vboxmanage controlvm "some_machine_123412341234_12345" usbdetach "DEVICE_UUID"

相关内容