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

関連情報