Как отключить USB, автомонтируются в Xubuntu 14.04

В 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, все еще автосмонтированного.

Я затем установил дисковую утилиту гнома, которая установила, но никакой значок запуска не был создан, и вводящий 'дисковую утилиту гнома' не распознан - я не могу выяснить, как запустить ее. Я отмечаю, что системные инструменты гнома установлены - но снова я не могу разработать, как запустить его.

3
задан 13 April 2017 в 15:37

2 ответа

Для udisks2:

Если 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 one (2 -1,5). Это показывает, что путь вашего устройства и где вырезать. Итак, «devpath» этого устройства -

/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5

Теперь вы можете протестировать новое правило udev, выполнив следующую команду:

udevadm test / devices / pci0000: 00/0000: 00: 1d .0 / usb2 / 2-1 / 2-1.5

Ближе к концу вывода вышеприведенной команды, если вы видите строку

UDISKS_AUTO=0

, это означает, что ваше новое правило работает , Чтобы применить новое правило, вам необходимо перезагрузить правила udev по

udevadm control --reload

. Если оно не работает, запустите

udevadm trigger

. После этого вы увидите, работает ли новое правило. или нет, отключив устройство и подключив его снова. Ваше устройство будет отображаться в модуле запуска Unity следующим образом:

enter image description here

В моем случае «nd» - это устройство, к которому нет автоматического монтирования Правило Удев применяется. Если я нажму значок устройства, оно будет установлено.

Для udisks

Если используется udisks, вы можете использовать значение ENV {UDISKS_PRESENTATION_NOPOLICY} = "0" , чтобы сделать устройство неавтоматизированным. Так как моя система (Ubuntu 15.04) не использует udisks, я не могу дать конкретные инструкции, но процесс похож. Напишите новое правило udev в каталоге /etc/udev/rules.d/ для вашего устройства со значениями, которые вы получили выше, и добавьте значение ENV {UDISKS_PRESENTATION_NOPOLICY} = "0" вместо значения ENV {UDISKS_AUTO} = "0".

Надеюсь, этот ответ поможет вам.

3
ответ дан 1 December 2019 в 16:27

скопированный с https://unix.stackexchange.com/a/536545/302588:

# /etc/udev/rules.d/99-noautomount.rules
ENV{UDISKS_PRESENTATION_HIDE}="1"
ENV{UDISKS_PRESENTATION_NOPOLICY}="1"
ENV{UDISKS_AUTOMOUNT_HINT}="never"
ENV{UDISKS_SYSTEM_INTERNAL}="1"
ENV{UDISKS_IGNORE}="1"
ENV{UDISKS_AUTO}="0"

https://www.systutorials.com/docs/linux/man/7-udisks/:

UDISKS_PRESENTATION_HIDE
  If set to 1 this is a hint to presentation level software that the device should not be shown to the user.

UDISKS_PRESENTATION_NOPOLICY
  If set to 1 this is a hint to presentation level software that the device should not be automounted or autoassembled (for e.g. components of a multi-disk device).

UDISKS_AUTOMOUNT_HINT
  A variable to influence whether a device should be automounted. Possible values include "always" (to hint that a device should always be automounted) and "never" (to hint that a device should never be automounted). Note that this is only a hint - the auto-mounter might not honor it.

UDISKS_SYSTEM_INTERNAL
  If set, this will override the usual bus type based detection of whether a device is considered "system internal". "0" means "removable" (i. e. eligible for automounting, and normal users can mount), any other value means "system internal" (i. e. no automounting, and only administrators can mount).

https://www.systutorials.com/docs/linux/man/8-udisks/:

UDISKS_IGNORE
  If set, this overrides the value of the HintIgnore property.

UDISKS_AUTO
  If set, this overrides the value of the HintAuto property.
0
ответ дан 1 December 2019 в 16:27

Другие вопросы по тегам:

Похожие вопросы: