늦게 파티에 갔지만, 이것도 저를 견인했습니다. 그리고 내가 고집스럽게 포기하는 것은 선택 사항이 아니 었습니다.
기본적으로 이것은 내가 시도한 것입니다 (필요한 경우 사용자 또는 루트).
- ~ / .Xmodmap 만
- ~ / .xsession, ~ / .xsessionrc
- ~ / .gnomerc
- ~ / .xprofile
- ~ / .xinitrc
- /etc/X11/Xsession.d/myscript
- /usr/share/X11/xorg.conf.d/ ( 설정 파일을 만지지 않았습니다 )
(실제로 xmodmap
명령을 추가하면 ~/.bashrc
작동하지만 로그인 후 매번 터미널을 시작해야합니다)
몇 년 전 (?) xkb
은 키 매핑 및 구성 (X와의 인터페이스)을 처리하도록 선택되었지만 X 세션 초기화 중에 작업을 수행 xmodmap
한 후 X에 대한 키 관련 변경을 요청할 수도 있습니다 xkb
.
문제는 언제 xmodmap 설정이 발생해야 하는가입니다. 보인다 그 위의 파일이 너무 일찍 과정에서 처리하고 있으며, 중 X는 변화를 xmodmap을 받아 들일 준비가되어 있지 않았다, 또는 XKB 그들을 덮어 쓸 것입니다. 참고 :이 파일에 "추적"을 추가하여 실제로 한 번에 실제로 실행되도록했습니다!
작동하는 것처럼 보이는 솔루션
.desktop
처음에는 파일 을 추가하는 데 열중하지 않았지만 (한 줄짜리 스크립트로 충분해야 함) 작동하지만 여기에 있습니다.
해결책은 Linux에서 특수 키보드 키를 다시 매핑하거나 바꾸는 방법에서 비롯됩니다 . "솔루션 1"
기본적으로 ~/.config/autostart/my-xmodmap.desktop
파일을 작성 하고 넣습니다.
[Desktop Entry]
Name=MyXmodmap
Exec=/usr/bin/xmodmap /home/me/.Xmodmap
Terminal=false
Type=Application
X-GNOME-Autostart-enabled=true
me
귀하의 사용자 이름으로 바꾸 십시오 (내가 귀찮게하지 않았 ~/
거나 $HOME
대신 똑같이 잘 작동 할 수 /home/me
있으며 xmodmap의 전체 경로는 필요하지 않을 것입니다 ...), exec 비트를 추가하십시오
chmod +x ~/.config/autostart/my-xmodmap.desktop
이 경우 xmodmap 명령은 ~/.Xmodmap
파일에 있어야합니다 (또는 -e
옵션을 사용 하거나 다른 파일 이름을 선택하십시오!). 로그 아웃했다가 다시 로그인하십시오.
"시작 응용 프로그램"에서 시작 프로그램을 작성할 수 있습니다.
또 다른 해결책은 xmodmap을 잊고 구성하는 방법을 배우는 것입니다 xkb
!
편집 (다시)
때때로, 로그온의 25 %가 xmodmap
여전히 작동하지 않는 것 같습니다-명령이 실제로 실행되는 동안 (트래커가이를 증명합니다). 이 시점에서 내가 올 수있는 유일한 결론은 xkb
프로세스가 로그온 프로세스에서 늦게 실행되고 실행 후 종료 될 수 있다는 것 xmodmap
입니다. 경쟁 조건처럼 보입니다 ... 마지막으로 자동 시작 데스크톱 파일 exec
줄을
Exec=$HOME/bin/mystart &
(참고 &
)
mystart
는 bin
내가 만든 새 디렉토리의 스크립트입니다.
#!/bin/bash
sleep 5
/usr/bin/xmodmap /home/me/.Xmodmap &
date >> /tmp/xmodmap-has-run
과
chmod u+x ~/bin/mystart
이 스크립트는 xmodmap을 실행하기 전에 5 초 동안 휴면 상태가되고 스크립트가 언제 실행되었는지 추적합니다 (파일에서 /tmp/xmodmap-has-run
).
잘만되면 그것이 전부일 것이다!