ฉันใช้ gnome 3.22.1 แต่มีปัญหาอยู่ตั้งแต่ 3.18
ก่อนหน้านั้น (จำรุ่นที่แน่นอนไม่ได้) ฉันสามารถเปลี่ยนรูปแบบแป้นพิมพ์โดยใช้xkb-witchแอปพลิเคชั่นที่เรียบง่ายที่ใช้การผูก X.org ภายใต้ฝากระโปรง
หลังจาก 3.18 หากคุณเรียกใช้ xkb-switch รูปแบบแป้นพิมพ์จะไม่ถูกเปลี่ยนเป็น gnome การตรวจสอบเพิ่มเติมแสดงให้เห็นว่าการสลับเค้าโครงทำงานได้ แต่ใช้เวลาไม่นาน
หากคุณเรียกใช้สคริปต์นี้:
for i in $(seq 1000); do
lang=$(xkb-switch -s ru; xkb-switch);
if [[ "$lang" == "ru" ]]; then
echo $lang;
fi;
done
คุณจะได้รับการสลับเลย์เอาต์ "successfull" 3 ถึง 20 ทั้งนี้ขึ้นอยู่กับว่าคุณโชคดีแค่ไหน
หลังจาก googling ปัญหานี้ฉันแนะนำต่อไปนี้:
gsettings set org.gnome.desktop.input-sources current 0
การตั้งค่ากำลังเปลี่ยนแปลง แต่เค้าโครงยังคงเหมือนเดิม
ฉันพบวิธี "แฮ็ก" หนึ่งวิธีในการเปลี่ยนเค้าโครง:
setxkbmap us,ru
setxkbmap ru,us
แต่เชลล์ gnome ไม่รับรู้ถึงการเปลี่ยนแปลงนั้นและแสดงภาษาที่ไม่ถูกต้องในตัวบ่งชี้เค้าโครง
ฉันโพสต์เกี่ยวกับปัญหานี้แล้ว (ขออภัยมีชื่อเสียงไม่เพียงพอ https: //bbs.archlinux.org/viewtopic.php? pid = 1657582 https: //github.com/ierton/xkb-switch/issues/15) แต่โชคไม่ได้รับคำตอบที่ดี
และ ณ จุดนี้ฉันติดอยู่ ฉันไม่ชำนาญพอที่จะระบุปัญหาในรหัสเชลล์ gnome ฉันไม่แน่ใจด้วยซ้ำว่ามันเป็นปัญหา (คำพังเพย)
สิ่งที่ฉันต้องการคือวิธีที่gnome-awareเพื่อเปลี่ยนเค้าโครงแป้นพิมพ์จากเทอร์มินัล ใครบางคนชี้ให้ฉันในทิศทางที่ถูก? ฉันควรไฟล์นี้เป็นข้อผิดพลาด (โดยเฉพาะอย่างยิ่งความจริงที่ว่ารูปแบบแป้นพิมพ์ไม่สามารถเปลี่ยนผ่านการตั้งค่า)
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()"