我是 vboxusers 组的成员。我安装了扩展包。以非 root 身份运行 VirtualBox 时,USB 设备可见但呈灰色。以 root 身份运行 VirtualBox 时,它工作正常。
以非 root 身份运行 virtualbox 时如何添加对 USB 设备的访问权限?
操作系统:Lubuntu 12.04,带有扩展包的VirtualBox 4.3.2r90405。
答案1
好的,对我有用的方法是使用 synaptic 完全卸载(包括配置文件)商业版 virtual-box 4.3 并安装 virtualbox(开源版)。然后我必须取消选中 usb2 支持,但随后找到了我的设备(未变灰),我也不需要使用 root。
答案2
我正在重新发布解决方案对我有用:
#!/bin/bash
#
# Heavily inspired by https://github.com/dnschneid/crouton/wiki/VirtualBox-udev-integration
#
vbox_usbnode_path=$(find / -name VBoxCreateUSBNode.sh 2> /dev/null | head -n 1)
if [[ -z $vbox_usbnode_path ]]; then
echo Warning: VBoxCreateUSBNode.sh file has not been found.
exit 1
fi
chmod 755 $vbox_usbnode_path
chown root:root $vbox_usbnode_path
vboxusers_gid=$(getent group vboxusers | awk -F: '{printf "%d\n", $3}')
vbox_rules="SUBSYSTEM==\"usb_device\", ACTION==\"add\", RUN+=\"$vbox_usbnode_path \$major \$minor \$attr{bDeviceClass} $vboxusers_gid\"
SUBSYSTEM==\"usb\", ACTION==\"add\", ENV{DEVTYPE}==\"usb_device\", RUN+=\"$vbox_usbnode_path \$major \$minor \$attr{bDeviceClass} $vboxusers_gid\"
SUBSYSTEM==\"usb_device\", ACTION==\"remove\", RUN+=\"$vbox_usbnode_path --remove \$major \$minor\"
SUBSYSTEM==\"usb\", ACTION==\"remove\", ENV{DEVTYPE}==\"usb_device\", RUN+=\"$vbox_usbnode_path --remove \$major \$minor\""
echo "$vbox_rules" > /etc/udev/rules.d/virtualbox.rules
rm -f /etc/udev/rules.d/*-virtualbox.rules
udevadm control --reload
adduser `logname` vboxusers
echo All actions succeeded.
echo Log out and log in to see if the issue go fixed.
一定要VM VirtualBox 扩展包安装并至少在 VM 的 USB 设置中启用 USB 2.0(EHCI)控制器。
此后,使用 运行上述脚本sudo
。