非 root 用户时如何授予 VirtualBox USB 访问权限

非 root 用户时如何授予 VirtualBox USB 访问权限

我是 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

相关内容