Saya menggunakan gnome 3.22.1 tetapi masalah ada sejak 3.18.
Sebelum itu (tidak ingat versi persisnya) saya bisa mengganti tata letak keyboard menggunakan xkb-penyihir , aplikasi sederhana yang menggunakan binding X.org di bawah tenda.
Setelah 3,18 jika Anda menjalankan xkb-switch, tata letak keyboard tidak akan diaktifkan di gnome. Penyelidikan lebih lanjut menunjukkan bahwa pergantian tata letak berfungsi, tetapi untuk waktu yang sangat singkat.
Jika Anda menjalankan skrip ini:
for i in $(seq 1000); do
lang=$(xkb-switch -s ru; xkb-switch);
if [[ "$lang" == "ru" ]]; then
echo $lang;
fi;
done
Anda akan beralih dari 3 ke 20 "layout sukses", tergantung pada seberapa beruntungnya Anda.
Setelah googling masalah ini saya saran berikut :
gsettings set org.gnome.desktop.input-sources current 0
Pengaturan sedang diubah, tetapi tata letak tetap sama.
Saya telah menemukan satu metode "peretasan" untuk mengubah tata letak:
setxkbmap us,ru
setxkbmap ru,us
tetapi gnome shell tidak mengetahui perubahan itu, dan menunjukkan bahasa yang salah dalam indikator tata letak.
Saya telah memposting tentang masalah ini (maaf, reputasi tidak cukup, https: //bbs.archlinux.org/viewtopic.php? Pid = 1657582 https: //github.com/ierton/xkb-switch/issues/15), tetapi tidak beruntung mendapatkan jawaban yang baik.
Dan pada titik ini saya terjebak. Saya tidak cukup terampil untuk mengidentifikasi masalah dalam kode shell gnome. Aku bahkan tidak yakin itu masalah (gnome shell).
Yang saya inginkan adalah cara gnome-aware untuk mengganti tata letak keyboard dari terminal. Bisakah seseorang mengarahkan saya ke arah yang benar? Haruskah saya mengajukan ini sebagai bug (terutama fakta bahwa tata letak keyboard tidak dapat diubah melalui gsettings)?
sumber
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()"
Jika Anda menggunakan IBus sebagai metode input Anda (yang kemungkinan merupakan default), Anda dapat mengubah input Anda menggunakan
ibus
perintah:Anda dapat melihat semua tata letak yang tersedia dengan
ibus list-engine
perintah.Harus dicatat bahwa pendekatan ini tidak mengubah indikator bahasa, meskipun itu bekerja dengan andal sebaliknya.
sumber
setxkbmap us
- tanpa ada cara untuk mengubah tata letak menggunakan cara pintas standar setelah itu.setxkbmap
. Selanjutnya,setxkbmap
dapat bertindak buggy di lingkungan WM modern, lihat pertanyaan untuk detailnya.Menggunakan
gsettings
.Pengaturan
org.gnome.desktop.input-sources.sources
ke daftar nol , "[]", memungkinkan Anda untuk menggunakan konfigurasi keyboard server X tanpa gnome-shell mencoba mengkonfigurasinya, sehingga Anda dapat melakukan seperti sebelumnya.sumber
setxkbmap
perintah yang saya ketikkan sesudahnya, sampai saya mengembalikan sumber input melalui dialog Pengaturan.Saya pikir Anda harus mencoba
sudo dpkg-reconfigure keyboard-configuration
sumber
Anda dapat mengatur dan beralih ke metode input pada baris perintah bahkan jika Anda sebelumnya tidak mengatur metode input dengan mouse:
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'ru')]"
Untuk Dvorak, gunakan
us+dvorak
(ataugb+dvorak
jika Anda berada di Inggris, atau apa pun).sumber