Como posso ativar / desativar um filtro USB no VirtualBox a partir da linha de comando?

3

Estou executando o VirtualBox Version 4.2.0 r80737 .

Eu tenho um teclado USB que geralmente só quero filtrar para o VirtualBox, mas ocasionalmente eu quero liberá-lo para que eu possa usá-lo no sistema operacional host também. Eu estava olhando para o VBoxManage na documentação e vi a opção "usbfilter" de aparência promissora, mas quando tentei usbfilter add/modify recebi o erro:

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

Portanto, parece que isso não afeta o funcionamento da máquina (pelo menos não através dessa opção). Eu realmente só quero ser capaz de programaticamente fazer a mesma coisa que passar pelo menu para Dispositivos > Dispositivos USB > Teclado USB [0001].

Eu não ligo se é do sistema operacional hospedeiro ou convidado que eu posso acessá-lo.

Isso é possível e, em caso afirmativo, como posso fazê-lo?

    
por Wayne Werner 06.12.2012 / 14:39

2 respostas

4

Isso é feito com o comando usbattach , conforme descrito no manual .

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

Para encontrar seu ID de VM, execute VBoxManage list vms

Para obter uma lista de UUIDs de dispositivos USB, execute VBoxManage list usbhost (talvez seja necessário adicionar sudo )

    
por 06.12.2012 / 15:19
0

A outra resposta não funcionou "fora da caixa", então aqui está o que recebi de sua resposta combinada com a análise de vboxmanage help :

(Você pode precisar fazer: vboxmanage.exe, ou 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"

Ou para destacar:

vboxmanage controlvm "some_machine_123412341234_12345" usbdetach "DEVICE_UUID"
    
por 17.11.2017 / 00:02