在Xubuntu 14.04中,我尝试通过创建以下两个文件来禁用USB自动挂载:防止特定的USB设备自动挂载和重新引导:
/lib/udev/unmount.sh
#!/bin/bash
udisks --unmount /dev/sdn1
udisks --detach /dev/sdn
/etc/udev/rules.d/100-unmount-usb.rules
ACTION=="add", ATTRS{idVendor}=="xxxx", ATTRS{idProduct}=="yyyy", RUN+="/lib/udev/unmount.sh"
那没有用,所以我创建了另一个文件,如下所示:https://unix.stackexchange.com/questions/85061/automount-not-disabling-in-ubuntu-12-04-or-13-04
/etc/udev/rules.d/85-no-automount.rules
SUBSYSTEM=="usb", ENV{UDISKS_AUTO}="0"
重新启动后,USB仍会自动挂载。
然后我安装了gnome-disk-utility,它已安装但未创建启动图标,并且无法识别键入``gnome-disk-utility''-我不知道如何启动它。我注意到已安装gnome-system-tools -但是我仍然无法解决如何启动它的问题。
如果正在使用udisks2,则需要执行以下操作才能不自动挂载设备。首先,您需要获取有关设备的信息以编写udev规则。卸载设备,通过成为root用户
sudo su
然后运行以下命令:
udevadm monitor --environment --udev
之后,将设备插入计算机。现在,您可以查看有关设备的相关信息。您需要的是ENV {ID_VENDOR}和ENV {ID_FS_UUID}。特别是ID_FS_UUID非常重要,因为它是设备的唯一值。按ctrl+c退出udevadm。
然后,运行以下命令以获取您需要的其他信息
udevadm info -a -p $(udevadm info -q path -n /dev/sdX)
用驱动器替换/ dev / sdX。寻找ATTRS {idVendor}和ATTRS {} idProduct值。您需要SUBSYSTEM和DRIVER值来指定将应用此规则的设备块,并需要ENV {UDISKS_AUTO} =“ 0”来使设备无法自动安装。如果您获得了所需的所有信息,那么该是编写udev规则的时候了。打开一个新的规则文件:
sudo -H gedit /etc/udev/rules.d/10-noautomount.rules
并写下您所了解的信息:
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{idVendor}=="3538"
ATTRS{idProduct}=="0070"
ENV{ID_VENDOR}=="PQI"
ENV{ID_FS_UUID}=="1A5AFC1F427754BF"
ENV{UDISKS_AUTO}="0"
保存文件并关闭它。/etc/dev/rules.d/目录中的规则具有最高优先级。通过在该目录中编写规则,我们可以防止可能妨碍规则的任何问题。
现在,您可以测试规则以查看其是否正常运行。首先,您需要学习设备的“ devpath”。您会在输出中看到几行
udevadm info -a -p $(udevadm info -q path -n /dev/sdX)
类似于此行的命令:
looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5...'
其中一些很长,对您没有用。您需要将那条线剪裁到对您有用的程度。要了解在哪里切割,请运行以下命令:
dmesg | grep usb
您将看到相对于设备的以下几行:
usb 2-1.5: new high-speed USB device number 15 using ehci-pci
usb 2-1.5: New USB device found, idVendor=3538, idProduct=0070
usb 2-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-1.5: Product: PQI USB Flash drive
usb 2-1.5: Manufacturer: PQI
usb 2-1.5: SerialNumber: XQVBW9KR
usb-storage 2-1.5:1.0: USB Mass Storage device detected
支付usb一(2-1.5)后,再分配价值。它显示了设备的路径和剪切位置。因此,该设备的“ devpath”是
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5
现在,您可以通过运行以下命令来测试新的udev规则:
udevadm测试/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5
如果看到以下行,则在上述命令的输出末尾附近
UDISKS_AUTO=0
这表示您的新规则正在运作。要应用新规则,您需要通过以下方式重新加载udev规则:
udevadm control --reload
如果不起作用,请运行
udevadm trigger
之后,您可以通过拔下设备并重新插入来查看新规则是否正常工作。您的设备将显示在Unity启动器中,如下所示:
在我的情况下,“ nd”是适用于no-automount udev规则的设备。如果按设备的图标,它将被安装。
如果正在使用udisk,则可以使用ENV {UDISKS_PRESENTATION_NOPOLICY} =“ 0”值使设备不可自动安装。由于我的系统(Ubuntu 15.04)未使用udisk,因此无法提供具体说明,但过程类似。使用上面得到的值在/etc/udev/rules.d/目录中为设备编写新的udev规则,并添加ENV {UDISKS_PRESENTATION_NOPOLICY} =“ 0”值而不是ENV {UDISKS_AUTO} =“ 0”值。
希望这个答案对您有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句