Farklı giriş yöntemlerini anlama ve ayarlama


21

Kullandığım Trisquel GNOME 3 ile GNU / Linux 7.0 LTS Flashback Çevre.

Üç farklı girdi yöntemi viz. ibus, ximve uim. Ve ibussistemime önceden kurulmuş gibi görünüyor .

$ cat trisquel_7.0_i686.iso.manifest | grep ibus
gir1.2-ibus-1.0 1.5.5-1ubuntu3
ibus 1.5.5-1ubuntu3
ibus-gtk:i386 1.5.5-1ubuntu3
ibus-m17n 1.3.4-3ubuntu1
ibus-table 1.5.0.is.1.5.0.20130419-2
libibus-1.0-5:i386 1.5.5-1ubuntu3
libusb-0.1-4:i386 2:0.1.12-23.3ubuntu1
libusb-1.0-0:i386 2:1.0.17-1ubuntu2
libusbmuxd2 1.0.8-2ubuntu1
libustr-1.0-1:i386 1.0.4-3ubuntu2

Bakan iken bu sorunu ben yükleme hakkında öğrendim uimve birlikte kurma GTK_IM_MODULE="uim"at ~/.profile. Son zamanlarda hattı kaldırıp uimkaldırdım . Ama bu hatanın üstesinden gelmek için şimdi kurtulmayı planlıyorum .GTK_IM_MODULE="uim"~/.profileibus

Ek bir giriş yöntemi yüklemeden, (Trisquel'in yeni kurulumunu söyleyin), echo $GTK_IM_MODULEçıkışlar ximYani, kafam karıştı çünkü varsayılan giriş yöntemi göz önüne alındığında ibus, neden $GTK_IM_MODULEdiyorsunuz xim?

Ayrıca yapabilir miyim apt-get remove ibus? veya önce yüklemeli uimve sonra kaldırmalı ibusmıyım? Ayrıca şu anda çalışıyor hangi giriş yöntemi bilmek ister ibusya xim? Ve giriş yöntemi ayarlamak için doğru yolu nedir (yani o GTK_IM_MODULE="uim"kadar ~/.profile)?

Ayrıca, bir gsettings şeması buldum:

$ gsettings get org.gnome.desktop.interface gtk-im-module
'gtk-im-context-simple'

Kısaca / Geniş Farklı giriş yöntemini yükleme / kaldırma ve ayarlama için yardıma ihtiyacım var:

  • Şu anda hangi girdi yönteminin etkin olduğunu nasıl bilebilirim?
  • Farklı giriş yöntemini nasıl kurabilir ve kurabilirim? (bir başkasını kaldırmalı mıyım?)

Yanıtlar:


45

Tüm X11 giriş yığını bir karışıklıktır. Her şeyden önce, XKB klavye düzeniniz tarafından tanımlanan latin karakterleri veya çok karakterli oluşturma dizilerini yazıyorsanız, herhangi bir özel giriş yöntemi çerçevesine ihtiyacınız yoktur. Kesin olarak, ölü tuşlar gibi çok tuşlu diziler çok basit bir giriş yöntemi gerektirir. Ancak libx11 / XKB tarafından sağlanır ve herhangi bir ek IM çerçevesi olmadan çalışırlar. Bu nedenle, Çince veya Japonca gibi diller yazmanız gerekmiyorsa, ibus, uim, fcitx veya herhangi bir giriş yöntemini kaldırmak mükemmeldir.

Daha önce de söylediğin gibi, Gnome ibus'u varsayılan giriş yöntemi yaptı, herkesin memnun olmadığı bir karar. Birkaç nedenden ötürü ibc yerine fcitx'i (çoğu KDE dağıtımı için varsayılan gibi görünüyor) tercih eden birçok insan vardır: uygun dil desteği (çoğunlukla Japoncaya karşı Basitleştirilmiş Çince'ye karşı geleneksel Çince) veya performans sorunları. Özel bir IM çerçevesine ihtiyaç duyan herhangi bir doğu dili konuşmadığımdan, bu tartışmaya gerçekten hiçbir şey ekleyemiyorum. Ancak fcitx vs ibus hakkında daha fazla bilgi edinmek istiyorsanız, bu biraz tarihli (2012), ancak muhtemelen hala doğru LWN makalesini okumak isteyebilirsiniz .

Bununla birlikte, ibus'un Gnome için varsayılan IM olması onu zorunlu kılmaz. Beğendiğiniz veya hiç girmediğiniz diğer giriş yöntemlerini kullanabilirsiniz. IM yapılandırması ortam değişkenleri aracılığıyla yapılır. Ancak, yalnızca GTK + uygulamalarını (şüphelendiğim) kullandığınız durumlar dışında, sadece bundan daha fazlasını ayarlamanız gerekir GTK_IM_MODULE. Bir giriş yöntemi ayarlamanın uygun yolu:

export GTK_IM_MODULE="fcitx"
export QT_IM_MODULE="fcitx"
export XMODIFIERS="@im=fcitx"

fcitx durumunda veya

export GTK_IM_MODULE="ibus"
export QT_IM_MODULE="ibus"
export XMODIFIERS="@im=ibus"

ibus durumunda. uim aynı şekilde çalışır. Herhangi bir giriş yöntemini açıkça devre dışı bırakmak istiyorsanız, şu ayarları kullanın:

export GTK_IM_MODULE="gtk-im-context-simple"
export QT_IM_MODULE="simple"

Boş bir dize de çalışır.

Bu değişkenleri sistem çapında /etc/profile(veya /etc/profile.dsırasıyla içinde özel bir dosya ) veya yerel ayarlarınız içinde ayarlayabilirsiniz ~/.xprofile. Bunu ayarlama ~/.bashrcveya ~/.profileböyle GDM, SDDM, KDM veya LightDM olarak bir grafik giriş yöneticisi kullanarak sisteminize giriş yaparken hatları çalıştırılacaktır sağlamak olmayacaktır. X oturumunuza XDM, Slim veya kullanarak başlıyorsanız, startxbu satırları girmeniz gerekir ~/.xinitrc.

İbus dışında bir giriş yöntemi yapılandırdıysanız, daha sonra Gnome ayarlarına gidin ve ibus ile ilgili ayarların, özellikle de klavye kısayollarının devre dışı olduğundan emin olun. Alternatif olarak, Gnome'a ​​aşağıdakileri kullanarak klavye ayarlarınıza dokunmamasını söyleyin:

gsettings set org.gnome.settings-daemon.plugins.keyboard active false

veya ibus'u tamamen kaldırın.

Peki ya XIM? XIM, hem ibus hem de fcitx'in yalnızca eski destek nedenleriyle uyguladığı oldukça eski bir giriş yöntemi protokolüdür. Bugünlerde XIM'i bu ikisinden herhangi birinde kullanmak istemenizin gerçek bir nedeni yoktur. Eğer sette isteyeyim tek nedeni GTK_IM_MODULE="xim"olan GTK en kodlanmış ComposeKey ayarlarını geçersiz .

Diğer sorunuza cevap vermek için: Ortam değişkenlerine bakmak veya sisteminizde hangi IM'lerin kurulu olduğunu bilmek dışında, şu anda hangi giriş yönteminin aktif olduğunu tespit etmenin bir yolu olduğunu düşünmüyorum. Eğer GTK_IM_MODULEayarlı değil, GTK seçer yerleşik bir IM yapılandırmaları temelinde /etc/gtk-2.0/gtk.immodules. GTK 3.0 /usr/lib/gtk-3.0/3.0.0/immodules.cachetarafından üretilen görünüm gtk-query-immodules-3.0.

Nedeni GTK_IM_MODULEolarak ayarlanır ximmuhtemelen bazı başıboş değişken tanımı yerdedir /etc/profile, /etc/profile.d/*ya da yerel veya global kabuk RC dosyaları başka. Bunu yapmanız gerektiğini düşünüyorsanız, bu değişkenin ayarını kaldırmak veya geçersiz kılmaktan çekinmeyin.

Ancak, bu Gnome hata raporu yorumuna göre, üzerinden yapılandırılan gsettingsdeğerin GTK_IM_MODULEDBus tarafından etkinleştirilen uygulamalar için ayarlanan değeri geçersiz kıldığını varsayıyorum . Yani en azından Gnome uygulamalarınız şu gtk-im-context-simpleanda muhtemelen standart davranış anlamına geliyor (yani ibus veya başka bir özel IM yok).


Büyük açıklama ve arka plan. Şimdi gsettingsben sadece xD (hatta --version segfaults !!) bir şey yapmaya çalıştığımda bana segfault
olmasaydı

Ubuntu 18.04'ümde ibus ve xim var. CJK dillerini yazmak niyetim yoksa ikisini de güvenle silebilir miyim?
Suncatcher

Evet, ancak gerekmedikçe XIM'i kaldırmam. Çok tarihli, ancak bazen diğer işlevler için temel olarak kullanılır. Yani birkaç kB'ye gerçekten ihtiyacınız yoksa, onu kaldırmam.
Janek Bevendorff
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.