Установка повторного уровня клавиатуры USB автоматически

Ну, часть проблемы - это -t ' ' не свернет разделители, таким образом, Ваш девятый столбец будет размерами с 4 символами и пустой на трех символах. Пропустите его, и Вы добираетесь, свернутый пробел как Вы хотят. Другая часть проблемы, как другие сказали, то, что поля не являются числовыми. К счастью, они напоминают номера версий достаточно тесно, можно использовать вид версии (-V) заказать им. Далее, если они собираются быть непрерывными (т.е. 1-17, не скучая ни по кому), можно использовать фигурные скобки, как я упомянул в другом потоке, Вы были направлены к (test.txt.{1..17}).

ls -l | sort -Vk9

echo test.text.{1..17}
3
05.08.2013, 00:05
2 ответа

После некоторого ввода по абсолютному адресу вокруг, я нашел от https://bugzilla.redhat.com/show_bug.cgi? id=601853, которым проблема может быть то, что Xorg сбрасывает уровень клавиатуры после udev, работал, поэтому даже при том, что мой udev сценарий определенно выполнялся, его действия были быстро отменены Xorg.

Однако та страница также имеет фиксацию: если я выполняю startx с опциями startx -- -ardelay 500 -arinterval 20, затем мои настройки сохраняются, даже когда новая клавиатура включается.

2
27.01.2020, 21:23
  • 1
    Наличие той же проблемы. Какой-либо способ интегрировать Вашу фиксацию в xorg.conf? –  amphetamachine 04.02.2015, 17:22

Можно попробовать эту команду для определения то, чем udev идентификатор был бы для клавиатуры USB. Выполните это и затем включите Вашу клавиатуру:

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

Пример - монитор

У меня есть старые Sun Microsystems клавиатура USB. Когда я отключаю его и разъем, это въезжает задним ходом, я получаю следующие сообщения udev:

$ udevadm monitor --udev --subsystem-match=usb
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing

UDEV  [1375655040.466080] remove   /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0 (usb)
UDEV  [1375655040.557791] remove   /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2 (usb)
UDEV  [1375655044.586242] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2 (usb)
UDEV  [1375655044.589087] add      /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0 (usb)
UDEV  [1375655049.880514] remove   /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0 (usb)
UDEV  [1375655049.905175] remove   /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2 (usb)

Таким образом, udev идентификатор, который Вы могли поместить в свое правило, использует эту часть вышеупомянутого вывода, /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2.

Пример - экспорт

Можно также просто экспортировать весь udev DB и вручную просканировать через него:

$ udevadm info --export-db
...
P: /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
N: bus/usb/002/009
S: char/189:136
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
E: SUBSYSTEM=usb
E: DEVNAME=bus/usb/002/009
E: ID_VENDOR=0430
E: ID_VENDOR_ENC=0430
E: ID_VENDOR_ID=0430
E: ID_MODEL=0005
E: ID_MODEL_ENC=0005
E: ID_MODEL_ID=0005
E: ID_REVISION=0102
E: ID_SERIAL=0430_0005
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030101:
E: MAJOR=189
E: MINOR=136
E: DEVTYPE=usb_device
E: DRIVER=usb
E: DEVICE=/proc/bus/usb/002/009
E: PRODUCT=430/5/102
E: TYPE=0/0/0
E: BUSNUM=002
E: DEVNUM=009
E: DEVLINKS=/dev/char/189:136
...

И используйте некоторую другую уникальную характеристику от вышеупомянутого вывода в Вашем правиле udev также.

Ссылки

1
27.01.2020, 21:23

Теги

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