작업할 때 데스크탑에 연결하는 USB 키보드가 있습니다. 다음 내용은 사용시 수동으로 설정되는 경우가 많습니다xkbmap 설정옵션:
setxkbmap -option compose:ralt
setxkbmap -option ctrl:swap_rwin_rctl
setxkbmap -option ctrl:swap_lwin_lctl
이 작업을 자주 수행하므로 다음을 사용하여 프로세스를 자동화하고 싶습니다.우데브규칙. 키보드를 삽입하면 다음 규칙이 이벤트와 일치합니다.
ACTION=="add", SUBSYSTEM=="usb", DRIVER=="usb", ATTRS{idVendor}=="046a", ATTRS{idProduct}=="0023", RUN+="/home/cutuchiqueno/.local/bin/kbd_udev", OWNER="cutuchiqueno"
RUN 스크립트에는 이 질문의 시작 부분에 세 줄이 포함되어 있습니다.
#!/bin/bash
setxkbmap -option compose:ralt
setxkbmap -option ctrl:swap_rwin_rctl
setxkbmap -option ctrl:swap_lwin_lctl
echo `date +%T` >> /home/cutuchiqueno/udevtest
(디버깅 목적으로 마지막 줄을 추가했습니다.) 불행히도 옵션은 연결되어 있지 않습니다. 나는 이것이 환경 매개변수와 관련이 있다고 상상할 수 있지만, 실제로 이 문제를 해결하는 방법은 모르겠습니다.
답변1
두 가지 수정을 통해 이 특별한 경우가 작동합니다.
스크립트를 추가 kbd
해야 합니다DISPLAY:0.0
udev 규칙은 조기 이벤트에 반응합니다. 하위 시스템을 input
.
모든 것이 순조롭게 진행되고 있습니다.