USB 키보드를 연결할 때 새 키보드 레이아웃을로드하려고하지만 udev 규칙이 작동하지 않습니다.
SUBSYSTEM == "입력", ATTR {idVendor} == "062a", ATTR {idProduct} == "0201", GOTO = "usb_xmodmap_auto" LABEL = "usb_xmodmap_auto" ACTION == "추가", RUN + = "/ usr / bin / xmodmap ~ / .usbXmodmap" ACTION == "제거", RUN + = "/ usr / bin / xmodmap ~ / .pndXmodmap"
다음을 사용하여 규칙을 다시로드했습니다.
> sudo udevadm 제어 --reload-rules
시스템을 다시 시작하지만 usb 키보드를 꽂을 때 원래 xmodmap이 여전히로드되어 키보드 레이아웃이 잘못되었지만 터미널에서 명령을 실행하면
> / usr / bin / xmodmap ~ / .usbXmodmap또는
> / usr / bin / xmodmap ~ / .pndXmodmap
그들은 잘 작동합니다.
soneone이 도울 수 있기를 바랍니다.
편집하다:
더 많은 것을 돕기 위해 udevadm 테스트를 실행했습니다.
> udevadm 테스트 --action = add /devices/platform/ehci-omap.0/usb1/1-2/1-2.3/1-2.3:1.1/input/input10
출력 :
run_command : 호출 : 테스트 udevadm_test : 버전 151 이 프로그램은 디버깅 전용이며 프로그램을 실행하지 않습니다. RUN 키로 지정됩니다. 잘못된 결과가 표시 될 수 있습니다. 시뮬레이션 실행시 일부 값이 다르거 나 사용하지 못할 수 있습니다. [...] parse_file : '/etc/udev/rules.d/usb-keyboard.rules'를 규칙 파일로 읽기 udev_rules_new : 규칙은 100572 바이트 토큰 (8381 * 12 바이트), 21523 바이트 버퍼를 사용합니다. udev_rules_new : 임시 인덱스에 35380 바이트 (1769 * 20 바이트) 사용 udev_device_new_from_syspath : 장치 0x3b4d8에 devpath '/devices/platform/ehci-omap.0/usb1/1-2/1-2.3/1-2.3:1.1/input/input10'이 있습니다. udev_rules_apply_to_event : RUN '/ sbin / modprobe -b $ env {MODALIAS}'/etc/udev/rules.d/80-drivers.rules:5 udev_rules_apply_to_event : RUN '소켓 : @ / org / freedesktop / hal / udev_event'/etc/udev/rules.d/90-hal.rules:2 udev_rules_apply_to_event : RUN '/ sbin / modprobe $ env {MODALIAS}'/etc/udev/rules.d/local.rules:31 udev_rules_apply_to_event : RUN '소켓 : / org / kernel / udev / monitor'/etc/udev/rules.d/run.rules:2 udev_rules_apply_to_event : RUN '/ usr / bin / xmodmap ~ / .usbXmodmap'/etc/udev/rules.d/usb-keyboard.rules:4 udevadm_test : UDEV_LOG = 6 udevadm_test : DEVPATH = / devices / platform / ehci-omap.0 / usb1 / 1-2 / 1-2.3 / 1-2.3 : 1.1 / input / input10 udevadm_test : 제품 = 3 / 62a / 201 / 110 udevadm_test : NAME = "USB 호환 키보드" udevadm_test : PHYS = "usb-ehci-omap.0-2.3 / input1" udevadm_test : UNIQ = "" udevadm_test : EV == 1f udevadm_test : KEY == 837fff 2c3027 bf004444 0 1fe3 c04 a27c000 267bfa d941dfed 9e0000 000 udevadm_test : REL == 143 udevadm_test : ABS == 1 0 udevadm_test : MSC == 10 udevadm_test : MODALIAS = 입력 : b0003v062Ap0201e0110-e0,1,2,3,4, k71,72,73,74,77,80,82,83,85,86,87,88,89,8A, 8B, 8C, 8E, 8F, 90,96,98,9B, 9C, 9E, 9F, A1, A3, A4, A5, A6, A7, A8, A9, AB, AC, AD, AE, B1, B2, B5, CE, CF, D0, D1, D2, D5, D9, DB, E2, EA, EB, 100,101,105,106,107,108,109,10A, 10B, 10C, 162,166,16A, 16E, 178,179,17A, 17B, 17C, 17D, 17F, 180,181,182,185,18C, 18D, 192,193,195,1A0,1A1,1A2,1A3,1A4,1A5,1A6,1A7,1A8,1A9,1AA, 1AB, 1AC, 1AD, 1AE, 1B0,1B1,1B7, r0,1,6,8, a20, m4, lsfw udevadm_test : ACTION = 추가 udevadm_test : SUBSYSTEM = 입력 udevadm_test : 실행 : '/ sbin / modprobe -b 입력 : b0003v062Ap0201e0110-e0,1,2,3,4, k71,72,73,74,77,80,82,83,85,86,87,88,89 , 8A, 8B, 8C, 8E, 8F, 90,96,98,9B, 9C, 9E, 9F, A1, A3, A4, A5, A6, A7, A8, A9, AB, AC, AD, AE, B1 , B2, B5, CE, CF, D0, D1, D2, D5, D9, DB, E2, EA, EB, 100,101,105,106,107,108,109,10A, 10B, 10C, 162,166,16A, 16E, 178,179,17A, 17B, 17C, 17D , 17F, 180,181,182,185,18C, 18D, 192,193,195,1A0,1A1,1A2,1A3,1A4,1A5,1A6,1A7,1A8,1A9,1AA, 1AB, 1AC, 1AD, 1AE, 1B0,1B1,1B7, r0 , 6,8, a20, m4, lsfw ' udevadm_test : 실행 : 'socket : @ / org / freedesktop / hal / udev_event' udevadm_test : 실행 : '/ sbin / modprobe 입력 : b0003v062Ap0201e0110-e0,1,2,3,4, k71,72,73,74,77,80,82,83,85,86,87,88,89,8A , 8B, 8C, 8E, 8F, 90,96,98,9B, 9C, 9E, 9F, A1, A3, A4, A5, A6, A7, A8, A9, AB, AC, AD, AE, B1, B2 , B5, CE, CF, D0, D1, D2, D5, D9, DB, E2, EA, EB, 100,101,105,106,107,108,109,10A, 10B, 10C, 162,166,16A, 16E, 178,179,17A, 17B, 17C, 17D, 17F , 180,181,182,185,18C, 18D, 192,193,195,1A0,1A1,1A2,1A3,1A4,1A5,1A6,1A7,1A8,1A9,1AA, 1AB, 1AC, 1AD, 1AE, 1B0,1B1,1B7, r0,1,6 , 8, a20, m4, lsfw ' udevadm_test : 실행 : 'socket : / org / kernel / udev / monitor' udevadm_test : 실행 : '/ usr / bin / xmodmap ~ / .usbXmodmap'
과
> udevadm test --action = / devices / platform / ehci-omap.0 / usb1 / 1-2 / 1-2.3 / 1-2.3 : 1.1 / input / input10 제거
출력 :
run_command : 호출 : 테스트 udevadm_test : 버전 151 이 프로그램은 디버깅 전용이며 프로그램을 실행하지 않습니다. RUN 키로 지정됩니다. 잘못된 결과가 표시 될 수 있습니다. 시뮬레이션 실행시 일부 값이 다르거 나 사용하지 못할 수 있습니다. [...] parse_file : '/etc/udev/rules.d/usb-keyboard.rules'를 규칙 파일로 읽기 udev_rules_new : 규칙은 100572 바이트 토큰 (8381 * 12 바이트), 21523 바이트 버퍼를 사용합니다. udev_rules_new : 임시 인덱스에 35380 바이트 (1769 * 20 바이트) 사용 udev_device_new_from_syspath : 장치 0x3b4d8에 devpath '/devices/platform/ehci-omap.0/usb1/1-2/1-2.3/1-2.3:1.1/input/input10'이 있습니다. udev_rules_apply_to_event : RUN '소켓 : @ / org / freedesktop / hal / udev_event'/etc/udev/rules.d/90-hal.rules:2 udev_rules_apply_to_event : RUN '소켓 : / org / kernel / udev / monitor'/etc/udev/rules.d/run.rules:2 udev_rules_apply_to_event : RUN '/ usr / bin / xmodmap ~ / .pndXmodmap'/etc/udev/rules.d/usb-keyboard.rules:5 udevadm_test : UDEV_LOG = 6 udevadm_test : DEVPATH = / devices / platform / ehci-omap.0 / usb1 / 1-2 / 1-2.3 / 1-2.3 : 1.1 / input / input10 udevadm_test : 제품 = 3 / 62a / 201 / 110 udevadm_test : NAME = "USB 호환 키보드" udevadm_test : PHYS = "usb-ehci-omap.0-2.3 / input1" udevadm_test : UNIQ = "" udevadm_test : EV == 1f udevadm_test : KEY == 837fff 2c3027 bf004444 0 1fe3 c04 a27c000 267bfa d941dfed 9e0000 000 udevadm_test : REL == 143 udevadm_test : ABS == 1 0 udevadm_test : MSC == 10 udevadm_test : MODALIAS = 입력 : b0003v062Ap0201e0110-e0,1,2,3,4, k71,72,73,74,77,80,82,83,85,86,87,88,89,8A, 8B, 8C, 8E, 8F, 90,96,98,9B, 9C, 9E, 9F, A1, A3, A4, A5, A6, A7, A8, A9, AB, AC, AD, AE, B1, B2, B5, CE, CF, D0, D1, D2, D5, D9, DB, E2, EA, EB, 100,101,105,106,107,108,109,10A, 10B, 10C, 162,166,16A, 16E, 178,179,17A, 17B, 17C, 17D, 17F, 180,181,182,185,18C, 18D, 192,193,195,1A0,1A1,1A2,1A3,1A4,1A5,1A6,1A7,1A8,1A9,1AA, 1AB, 1AC, 1AD, 1AE, 1B0,1B1,1B7, r0,1,6,8, a20, m4, lsfw udevadm_test : ACTION = 제거 udevadm_test : SUBSYSTEM = 입력 udevadm_test : 실행 : 'socket : @ / org / freedesktop / hal / udev_event' udevadm_test : 실행 : 'socket : / org / kernel / udev / monitor' udevadm_test : 실행 : '/ usr / bin / xmodmap ~ / .pndXmodmap'
작동해야한다는 것을 보여 주지만 이것이 대답을 얻는 데 도움이되기를 바랍니다.