UbuntuHelp:VirtualBox/USB
来自Ubuntu中文
点击翻译: |
English |
请不要直接编辑翻译本页,本页将定期与来源同步。 |
<<Include(Tag/ContentCleanup)>>
Set up USB for Virtualbox
Note: Only the non-free version has USB support at present.
For Jaunty
From a terminal run these commands:
- Add yourself to the vboxusers group if not already there: -
if [ "`grep vboxusers /etc/group|grep $USER`" == "" ] ; then sudo usermod -G vboxusers -a $USER ; fi
- Enter a root shell, eg
sudo -i
- In that shell, set up /etc/fstab
vGid="`grep vboxusers /etc/group|cut -d\: -f3`" # Determine the devgid for the vboxusers group if [ "$vGid" ] && [ "`grep usbfs /etc/fstab`" == "" ] ; then echo "none /proc/bus/usb usbfs devgid=${vGid},devmode=664 0 0" >>/etc/fstab mount -a fi
Pre-Jaunty
To get USB support, you need the PUEL (non-free) version. Via the GUI, there is an option to enable USB. Since Gutsy, /proc/bus/usb is not mounted by default. For Gutsy and Hardy you just need to edit /etc/init.d/mountdevsubfs.sh and uncomment the following lines:
# # Magic to make /proc/bus/usb work # mkdir -p /dev/bus/usb/.usbfs domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644 ln -s .usbfs/devices /dev/bus/usb/devices mount --rbind /dev/bus/usb /proc/bus/usb
In Intrepid the lines required to mount usbfs have been removed entirely, so you need to add the following lines to /etc/init.d/mountdevsubfs.sh at the end of the do_start() function. Note that this is subtly different than the lines required for Gutsy/Hardy. the arguments for the domount function are slightly different from previous versions.
# # Magic to make /proc/bus/usb work # mkdir -p /dev/bus/usb/.usbfs domount usbfs "" /dev/bus/usb/.usbfs usbfs -obusmode=0700,devmode=0600,listmode=0644 ln -s .usbfs/devices /dev/bus/usb/devices mount --rbind /dev/bus/usb /proc/bus/usb
Then run the script that you just edited:
sudo /etc/init.d/mountdevsubfs.sh start
In order to give users in the vboxusers group write permissions to the devices in /proc/bus/usb, you'll need to edit some rules in /etc/udev/rules.d. Under Gutsy, edit /etc/udev/rules.d/40-permissions.rules to say the following:
# USB devices (usbfs replacement) SUBSYSTEM=="usb_device", MODE="0664", GROUP="vboxusers"
Under Hardy and Intrepid, edit /etc/udev/rules.d/40-basic-permissions.rules to say the following:
# USB devices (usbfs replacement) SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664", GROUP="vboxusers" SUBSYSTEM=="usb_device", MODE="0664", GROUP="vboxusers"
Then, restart the udev service:
sudo /etc/init.d/udev restart
Now, if you haven't done it already, make sure your user is part of the group vboxusers using the following command:
sudo usermod -G vboxusers -a `whoami`
Finally, log out and login again to apply these changes. See also: [1]