gnome 3.22.1을 사용하고 있지만 3.18부터 문제가 발생합니다.
그 전에 (정확한 버전을 기억하지 못함) xkb-witch를 사용하여 키보드 레이아웃을 전환 할 수있었습니다 . 간단히 X.org 바인딩을 사용하는 간단한 응용 프로그램입니다.
xkb-switch를 실행하면 3.18 이후에 키보드 레이아웃이 그놈으로 전환되지 않습니다. 추가 조사에 따르면 레이아웃 전환은 작동하지만 매우 짧은 시간 동안 이루어집니다.
이 스크립트를 실행하면 :
for i in $(seq 1000); do
lang=$(xkb-switch -s ru; xkb-switch);
if [[ "$lang" == "ru" ]]; then
echo $lang;
fi;
done
운이 좋으면 3에서 20 개의 "성공적인"레이아웃 전환을 얻을 수 있습니다.
이 문제를 인터넷 검색 한 후 다음과 같은 조언을합니다 .
gsettings set org.gnome.desktop.input-sources current 0
설정이 변경되지만 레이아웃은 동일하게 유지됩니다.
레이아웃을 변경하는 하나의 "해킹"방법을 찾았습니다.
setxkbmap us,ru
setxkbmap ru,us
그러나 그놈 쉘은 그 변화를 인식하지 못하고 레이아웃 표시기에 잘못된 언어를 보여줍니다.
이 문제에 대해 게시했습니다 (죄송합니다, 평판이 충분하지 않음, https : //bbs.archlinux.org/viewtopic.php? pid = 1657582 https : //github.com/ierton/xkb-switch/issues/15), 그러나 좋은 답변을 얻는 데 운이 없었습니다.
그리고이 시점에서 나는 붙어 있습니다. 나는 그놈 쉘 코드에서 문제를 식별 할만 큼 숙련되지 않았습니다. 그것이 그것이 (gnome shell 's) 문제인지 확실하지 않습니다.
내가 원하는 것은 터미널에서 키보드 레이아웃을 전환 하는 그놈 인식 방법입니다. 누군가 올바른 방향으로 나를 가리킬 수 있습니까? 이것을 버그로 제출해야합니까 (특히 키보드 레이아웃을 gsettings를 통해 변경할 수 없다는 사실)?
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager()._mruSources[1].activate()"