Seluruh tumpukan input X11 berantakan. Pertama-tama, Anda tidak memerlukan kerangka metode input khusus jika Anda hanya mengetik karakter latin atau urutan penulisan beberapa karakter seperti yang ditentukan oleh tata letak keyboard XKB Anda. Sebenarnya, setiap urutan multi-kunci, seperti dead-key, memerlukan metode input yang sangat sederhana. Tetapi mereka disediakan oleh libx11 / XKB dan bekerja tanpa kerangka IM tambahan. Jadi sangat baik untuk menghapus semua ibus, uim, fcitx atau metode input apa pun yang Anda miliki jika Anda tidak perlu mengetikkan bahasa seperti Cina atau Jepang.
Seperti yang sudah Anda katakan, Gnome menjadikan ibus metode input default, keputusan yang tidak disukai semua orang. Ada banyak orang yang lebih memilih fcitx (yang tampaknya merupakan standar untuk sebagian besar distribusi KDE) daripada ibus karena beberapa alasan: apakah itu dukungan bahasa yang tepat (kebanyakan Jepang vs. yang disederhanakan vs tradisional Cina) atau masalah kinerja. Karena saya tidak berbicara bahasa Timur yang membutuhkan kerangka kerja IM khusus, saya tidak bisa menambahkan apa pun ke dalam perdebatan itu. Tetapi jika Anda tertarik pada detail lebih lanjut tentang fcitx vs ibus, Anda mungkin ingin membaca ini sedikit tanggal (2012), tetapi mungkin artikel LWN masih akurat .
Namun, fakta bahwa ibus adalah IM default untuk Gnome tidak membuatnya wajib. Anda dapat menggunakan metode input lain yang Anda suka atau tidak sama sekali. Konfigurasi IM dilakukan melalui variabel lingkungan. Tetapi kecuali ketika Anda hanya menggunakan aplikasi GTK + (yang saya ragu), Anda harus mengatur lebih dari sekadar GTK_IM_MODULE
. Cara yang tepat untuk mengatur metode input adalah:
export GTK_IM_MODULE="fcitx"
export QT_IM_MODULE="fcitx"
export XMODIFIERS="@im=fcitx"
dalam kasus fcitx atau
export GTK_IM_MODULE="ibus"
export QT_IM_MODULE="ibus"
export XMODIFIERS="@im=ibus"
dalam kasus ibus. uim bekerja dengan cara yang sama. Jika Anda ingin secara eksplisit menonaktifkan metode input apa pun, gunakan pengaturan ini:
export GTK_IM_MODULE="gtk-im-context-simple"
export QT_IM_MODULE="simple"
String kosong juga berfungsi.
Anda dapat mengatur variabel-variabel ini di sistem /etc/profile
(atau file khusus /etc/profile.d
masing-masing) atau di dalam lokal Anda ~/.xprofile
. Menyetelnya ~/.bashrc
atau ~/.profile
tidak akan memastikan bahwa garis akan dieksekusi ketika masuk ke sistem Anda menggunakan manajer login grafis seperti GDM, SDDM, KDM atau LightDM. Jika Anda memulai sesi X Anda menggunakan XDM, Slim atau startx
, Anda harus memasukkan garis-garis tersebut ~/.xinitrc
.
Jika Anda mengonfigurasi metode input selain ibus, buka Pengaturan Gnome sesudahnya dan pastikan pengaturan terkait ibus dinonaktifkan, terutama pintasan keyboard. Atau, beri tahu Gnome untuk tidak menyentuh pengaturan keyboard Anda menggunakan:
gsettings set org.gnome.settings-daemon.plugins.keyboard active false
atau uninstall ibus sama sekali.
Sekarang bagaimana dengan XIM? XIM adalah protokol metode input yang cukup usang yang diimplementasikan ibus dan fcitx hanya untuk alasan dukungan legacy. Tidak ada alasan nyata mengapa Anda ingin menggunakan XIM saat ini di antara keduanya. Satu-satunya alasan mengapa Anda ingin mengatur GTK_IM_MODULE="xim"
adalah untuk mengesampingkan pengaturan ComposeKey hardcoded GTK .
Untuk menjawab pertanyaan Anda yang lain: Saya kira tidak ada cara untuk mendeteksi metode input mana yang aktif saat ini kecuali untuk melihat variabel lingkungan atau mengetahui IM mana yang diinstal pada sistem Anda. Jika GTK_IM_MODULE
tidak disetel, GTK memilih IM bawaan berdasarkan konfigurasi di /etc/gtk-2.0/gtk.immodules
. GTK 3.0 terlihat di /usr/lib/gtk-3.0/3.0.0/immodules.cache
mana dihasilkan oleh gtk-query-immodules-3.0
.
Alasan mengapa GTK_IM_MODULE
diatur ke xim
mungkin beberapa definisi variabel liar di suatu tempat di /etc/profile
, /etc/profile.d/*
atau yang lain dari file RC shell lokal atau global Anda. Jangan ragu untuk membatalkan atau menimpa variabel ini jika Anda merasa perlu melakukannya.
Namun, menurut komentar laporan bug Gnome ini saya berasumsi bahwa nilai yang dikonfigurasi melalui gsettings
mengabaikan nilai yang ditetapkan GTK_IM_MODULE
untuk aplikasi yang diaktifkan-DBus. Jadi setidaknya aplikasi Gnome Anda mungkin menggunakan gtk-im-context-simple
saat ini yang secara efektif berarti perilaku standar (yaitu tidak ada ibus atau IM khusus lainnya).
gsettings
tidak segfault pada saya setiap kali saya mencoba melakukan apa pun xD (bahkan - segfaultsversi !!)