Скрыть «Ожидание данных... (прерывание для прерывания )» в меньшем +F

Похоже, ответ заключается в использовании ENV с ID _USB _ИНТЕРФЕЙСЫ, например.:

SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}==":fe0301:",...

Я нашел это, используя API libudev и перечислив имена/значения свойств для моего устройства, которое выглядит (частично ), как это:

ID_BUS : usb
ID_MODEL_ID : 5c18
ID_REVISION : 0100
...
ID_USB_INTERFACES : :fe0301:

Кроме того, ниже будут приведены свойства устройства, которые (очевидно )могут использоваться с ENV в правилах udev:

udevadm info --query all <device node>

или

udevadm monitor --udev --subsystem-match=usb --property

, а затем подключите (USB-устройство ), и вы увидите список свойств.

0
14.11.2020, 21:04
1 ответ

Вы можете попробовать исправить строку Ожидание данных... (прерывание для прерывания)в вашей собственной копии двоичного файла /usr/bin/less, если вы можете найти эту строку. Например,

fgrep -abo 'Waiting for data... (interrupt to abort)' /usr/bin/less

должен напечатать смещение в байтах к строке. Но это ничего не показывает (в моей версии less), потому что кажется, что сообщение состоит из 2 частей. Например, это работает:

$ fgrep -abo 'Waiting for data' /usr/bin/less
125920:Waiting for data
$ fgrep -abo '... (interrupt to abort)' /usr/bin/less
163488:... (interrupt to abort)

Итак, вам нужно подавить 2 строки. (Это означает, что вы также никогда не увидите ... (прерывание для прерывания)при других обстоятельствах.)

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

cp /usr/bin/less myless
chmod +x myless
zap(){
 offset=$(fgrep -abo "$1" myless)      # eg 125920:Waiting for data
 offset=${offset%:*}              # remove :....
 printf '\x00'  |
 dd bs=1 count=1 status=none conv=notrunc seek="$offset" of=myless
}
zap 'Waiting for data'
zap '... (interrupt to abort)'
cmp -l /usr/bin/less myless       # check only 2 differences
./myless +F /var/log/messages
0
18.03.2021, 22:49

Теги

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