XKB 구성 파일에 포함 줄을 어떻게 추가합니까?

XKB 구성 파일에 포함 줄을 어떻게 추가합니까?

내가 한 일은 영어(Dvořák-US) 키보드에 ralt_switch를 추가하는 것이었습니다.

sudo sed -i "249i\    include 'level3(ralt_switch)'" \      
    /usr/share/X11/xkb/symbols/us
sudo dpkg-reconfigure xkb-data

다시 시작한 후 로그인할 때 작동하지 않는 키보드가 표시되고 아무 것도 입력할 수 없게 됩니다. Live USB를 사용하여 파일을 복구하려면 지침을 따라야 합니다.여기그리고 chroot. 재부팅 후 파일은 /usr/share/X11/xkb/symbols/us훨씬 더 많이 변경되었습니다. 이제 각 환경은 include 'level3(ralt_switch)'해당 섹션의 끝에 있습니다.

66,67d65
< 
<     include "level3(ralt_switch)"
130,131d127
< 
<     include "level3(ralt_switch)"
185,186d180
< 
<   include "level3(ralt_switch)"
248d241
<     include 'level3(ralt_switch)'
313,314d305
< 
<     include "level3(ralt_switch)"
359,360d349
< 
<     include "level3(ralt_switch)"
600,601d588
< 
<     include "level3(ralt_switch)"
655,656d641
< 
<     include "level3(ralt_switch)"
720,721d704
< 
<     include "level3(ralt_switch)"
787,788d769
< 
<     include "level3(ralt_switch)"
831,832d811
< 
<    include "level3(ralt_switch)"
851d829
<     include "level3(switch)"
898,899d875
< 
<     include "level3(switch)"
929,930d904
< 
<     include "level3(switch)"
979,980d952
< 
<     include "level3(switch)"
1038,1039d1009
< 
<    include "level3(ralt_switch)"
1102,1103d1071
< 
<    include "level3(ralt_switch)"
1188,1189d1155
< 
<   include "level3(ralt_switch)"
1233,1234d1198
< 
<         include "level3(alt_switch)"
1277,1278d1240
< 
<     include "level3(ralt_switch)"
1318,1319d1279
< 
<     include "level3(ralt_switch)"
1365,1366d1324
< 
<     include "level3(ralt_switch)"
1415,1416d1372
< 
<     include "level3(ralt_switch)"

나는 다음과 같은 줄을 생성했습니다.

sudo sed -i.bak "${pos[1]}i\    include 'level3(ralt_switch)'" /usr/share/X11/xkb/symbols/us

어떻게 해야할지 생각 중이에요 include "level...... 어쩌면...

시스템: Ubuntu 16.04 64비트
Linux 커널: 4.6
Linux 커널 옵션: wl
하드웨어: Macbook Air 2013-mid

답변1

정답은 다음과 같습니다.: 큰따옴표를 사용하고 이스케이프 처리하세요.

sudo sed -i.bak  \
    "${pos[1]}i\ include \"level3(ralt_switch)\"" /usr/share/X11/xkb/symbols/us

관련 정보