Я хотел бы понять поток событий USB из пространства Ядра в пространство Пользователя (просто из моего любопытства, зная, как все реализовано).
Чтобы быть более понятным, я хотел бы знать, как это всплывающее окно появляется на моем рабочем столе, когда я подключаю USB-накопитель к моей системе, и как его монтируют.
Я также хотел бы узнать, как он узнает, присутствуют ли некоторые изображения на моем USB-устройстве, и, если «да», как он спрашивает, нужно ли мне открывать его в GIMP или каком-либо другом программном обеспечении?
Я знаю, что это очень большой и широкий вопрос, но, пожалуйста, объясните мне, как понять всю идею, стоящую за ним.
Я не делал больших просмотров кода, но уверяю вас, у меня нет проблем с этим, если я могу правильно ориентироваться.
/lib/modules/$(uname -r)/modules.alias
для полного списка.) Они будут выглядеть по-разному в зависимости от аппаратного интерфейса. Например, pci:v0000102Bd00002527sv*sd*bc*sc*i*
для поставщика устройства PCI 102B, устройства 2527 и чего-либо для субвендора и т. Д. Или USB: usb:v2040p4982d*dc*dsc*dp*ic*isc*ip*
. udev
в пользовательском пространстве. udev
сопоставляет уведомление с его списком правил в /lib/udev/rules.d/
и /etc/udev/rules.d
. Отсюда, поведение является чрезвычайно специализированным, основанным на правилах. 80-udisks.rules
, вероятно, является лучшим местом для работы. Эти правила будут использовать такие вещи, как blkid и другие помощники, чтобы исследовать тип и содержимое диска, заполняя всевозможные значения конфигурации, включая такие, как ENV{UDISKS_PRESENTATION_HIDE}="1"
, чтобы по какой-то причине игнорировать диск. Смотрите "man 7 udisks" для подробностей. /usr/share/polkit-1/actions/org.freedesktop.udisks.policy
. (Кто может монтировать, размонтировать и т. Д.) DCIM
.