Created attachment 727902 [details]
Screen shot of new USB passthru screen
I have thought about this problem and I think I have a good solution.
First of all, I was wrong in my explanation of the default behavior. The
openSUSE implementation of VB has always allowed USB passthru by default.
Previously, the user had to edit a file in the udev rules to turn that off. I
now have a method that should give maximum flexibility without requiring the
user to hand edit any system files.
Operation is contolled by two files in ~/.vbox. If neither of these files exist
when the VB GUI is started, then the screen in the attachment is displayed, the
basic info about USB passthru is described, and the user is asked if they wish
to "Enable" or "Disable" the feature. If "Enable" is selected, file
~/.vbox/enable is created. As long as this file exists, the question will not
be asked again. If "Disable" is clicked, the Inode value for file
/etc/udev/rules.d/60-vboxdrv.rules is stored in ~/.vbox/disable. Finally, the
user is asked to enter the root password (via kdesu or gnomesu) and the USB
part of the rules are changed to disable pass thru. If ~/.vbox/disable exists,
then the inode value stored in it is compared with the current inode for the
rules file. If they differ, then the popup is shown again. We need to keep the
inode for the file because a new version of VB will reload the rules with pass
thru enabled again.
I think I have thought of all contingencies, and I hope I have explained them
well enough. I appreciate your comments.