Bagaimana saya bisa membuat IBus tidak mengabaikan ~ / .XCompose?


14

Karena UIM tidak ingin bermain bola setelah menginstal Ubuntu 12.04 dari awal, saya mencoba IBus, karena itulah kerangka IME yang datang dengan Ubuntu secara default.

Namun, ibus-table-compose adalah rasa sakit di pantat untuk digunakan karena hanya untuk memasukkan satu karakter saya perlu menekan kombinasi tombol untuk memicu IBus pertama, masukkan urutan penulisan masing-masing, kemudian tekan kombinasi tombol IBus lagi untuk menonaktifkannya. Alih-alih itu saya lebih suka menjaga fungsionalitas penulisan kunci saya seperti yang disediakan oleh XIM, karena itu memerlukan penekanan tombol yang lebih sedikit.

Masalahnya adalah, bahwa ketika metode input default diatur ke IBus dan IBus dinonaktifkan sehingga (AIUI, sejak saya mulai dengan ibus-daemon --xim ) ia dilewati demi XIM, pengaturan di ~ / .XCompose tampaknya ditimpa oleh versi IBus sendiri, jadi misalkan Compose ca tidak memberikan ą (a-ogonek) seperti yang saya definisikan dalam file .XCompose di direktori home saya, tetapi ǎ (a-hacek), seperti yang didefinisikan oleh beberapa pengaturan lainnya.

Saya sudah cukup terbiasa dengan mnemnonics saya sendiri, jadi apakah ada cara untuk membuat sistem saya menggunakan file ~ / .XCose saya sendiri dengan metode input default masih disetel ke IBus sehingga IBus akan tetap berfungsi misalnya di OpenOffice dan aplikasi lain yang tidak membiarkan Anda memilih metode input dengan menu konteks?

Catatan: Ini bukan duplikat dari pertanyaan Bagaimana saya bisa mendapatkan kembali menulis pada ibus?


Pertanyaan ini tampaknya ditinggalkan dan tidak dijawab. Jika Anda memecahkannya, silakan posting jawaban yang menjelaskan bagaimana itu diselesaikan (menjawab pertanyaan Anda sendiri tidak hanya diizinkan, tetapi didorong ketika tidak ada jawaban lain yang melakukan pekerjaan ). Jika pertanyaan tidak lagi berlaku, Anda dapat menghapus / menutupnya secara sukarela.
Eric Carvalho

Jawaban:


6

Seperti yang dinyatakan oleh @von, Anda TIDAK BISA menggunakan Anda .XComposedengan IBUS untuk saat ini.

Anda dapat menggunakan uimsebagai Metode Input, yang mendukung Unicode, baik GTK + dan Qt immodules dengan XIMdukungan legacy .

Cara yang baik untuk menangani .XComposedan mempertahankan Global Compose yang ada adalah:

  1. Instal uim:

    sudo apt-get install uim

  2. Jadikan Metode Input default:

    im-config -n uim

  3. Edit Anda .XComposedan tambahkan lokal keyboard saat ini (dalam kasus saya, en_US) sebagai baris pertama :

    include "/usr/share/X11/locale/en_US.UTF-8/Compose"

  4. Selesai! Mulai ulang program yang Anda ingin mulai mendapatkan .XComposefile Anda .

Masalah Dikenal

Ubuntu Unity Dash tidak akan pernah menghasilkan cedilla.

Distro lainnya

Saya bermain sedikit dengan .XComposedan Metode Input pada distro modern hari ini, ketika mencoba membuat Linux menjaga perilaku keyboard yang sama seperti Windows (TM) untuk bahasa latin (output çbukan ć, tanpa aksen konsonan, dll).

Saya membuat repo dengan instruksi ini (untuk Ubuntu dan distribusi lainnya juga): https://github.com/raelgc/win_us_intl


4
Apa sebenarnya "Anda TIDAK BISA menggunakan .XCompose Anda dengan IBUS untuk saat ini" artinya? Apa yang sudah berubah? Apakah ini perubahan dalam Ubuntu itu sendiri atau dalam sesuatu yang digunakan Ubuntu?
andrybak

@AndreyRybak IBUS adalah yang terbaru saat itu XIMdan uimdan belum mendukung .XComposefile (dan saya tidak yakin apakah itu akan berubah, karena satu tahun kemudian statusnya masih sama). Tidak, ini bukan spesifik Ubuntu.
Rael Gugelmin Cunha

Tampaknya berfungsi untuk saya di 16,04 (dengan Gnome).
Dijeda sampai pemberitahuan lebih lanjut.

@ DennisWilliamson Maksud Anda, IBUS dan .XCompose? Hanya menyilangkan jari saya bahwa ini diperbaiki 4 tahun sejak jawaban saya di atas.
Rael Gugelmin Cunha

1
Iya. Saya punya yang kecil ~/.Xcomposedengan entri yang berfungsi. Saya menambahkan banyak entri baru, mereka tidak berfungsi, kemudian saya lakukan ibus restartdan semua yang baru berfungsi.
Dijeda sampai pemberitahuan lebih lanjut.

1

Masalahnya adalah, bahwa ketika metode input default diatur ke IBus dan IBus dinonaktifkan sehingga (AIUI, sejak saya mulai dengan ibus-daemon --xim) ia dilewati demi XIM, pengaturan di ~ / .XCompose tampaknya ditimpa oleh versi IBus sendiri, jadi misalkan Compose ca tidak memberikan ą (a-ogonek) seperti yang saya definisikan dalam file .XCompose di direktori home saya, tetapi ǎ (a-hacek), seperti yang didefinisikan oleh beberapa pengaturan lainnya.

Tampaknya tidak ditentukan oleh beberapa pengaturan lain, dalam arti beberapa file konfigurasi yang mungkin Anda edit. Tampaknya itu dikompilasi dalam, kode-keras dalam file gtkimcontextsimpleseqs.h. Lebih lanjut tampak bahwa tidak mudah untuk menyesuaikan gtk_compose_seqs_compactlarik dalam file itu dan menambahkan urutan kunci Tulis Anda sendiri. Tabel dioptimalkan untuk ruang, bukan editiability mudah. Jadi strategi "ganti sumber dan kompilasi ulang" mungkin lebih sulit daripada yang saya kira.

Saya sudah cukup terbiasa dengan mnemnonics saya sendiri, jadi apakah ada cara untuk membuat sistem saya menggunakan file ~ / .XCose saya sendiri dengan metode input default masih disetel ke IBus sehingga IBus akan tetap berfungsi misalnya di OpenOffice dan aplikasi lain yang tidak membiarkan Anda memilih metode input dengan menu konteks?

Ada laporan bug di https://bugzilla.gnome.org/show_bug.cgi?id=155010 yang memiliki tambalan yang (kata mereka) akan memungkinkan untuk menyesuaikan tabel penulisan. Masih tidak akan menggunakan file ~ / .XCompose Anda, dan sintaksnya akan berbeda, tetapi itu sesuatu. Tapi saya perhatikan bahwa bug yang dimaksud masih terbuka, jadi saya kira ini belum masuk ke rilis resmi.


1

Karena Dennis Williamson mengatakan itu bekerja di 16,04 dalam komentar di atas, saya menguji dalam instalasi baru 18,04 ini dengan .XComposesalinan pendek dari instalasi 16,04 saya sebelumnya.

# Import default rules from the system Compose file
include "%L"

# Custom definitions
<Multi_key> <R> <R> <R>             : "ʁ"   U0281 # LATIN LETTER SMALL CAPITAL INVERTED R

Lalu saya berlari ibus restartdi terminal dan saya bisa mengetik ʁ.


0
  1. Set global (yaitu untuk Ubuntu di /etc/environment) yang QT_IM_MODULE, GTK_IM_MODULEvariabel (yang tidak dibutuhkan terakhir untuk gnome) untuk ibus, dan XMODIFIERSuntuk @im=ibus.

  2.α Jalankan setxkbmapdengan -optionuntuk memilih kunci penulisan. Misalnya menggunakan tombol logo yang tepat: setxkbmap -option compose:rwin. Ini akan ditimpa saat reboot.

  2.β Untuk mempertahankan pengaturan saat reboot, buat /etc/X11/xorg.conf.d/00-keyboard.confdengan konten berikut:

Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbOptions"    "compose:rwin"
EndSection

Diuji, dan berfungsi untuk X11 dan (setidaknya setxkbmapjalan) Wayland.

Terima kasih atas petunjuknya untuk fujiwarat , diperbarui per diskusi ini .


1
Mengubah konfigurasi seluruh sistem itu gila. Cukup masukkan 2alpha dan variabel lingkungan tersebut di .xprofile atau .xinitrc Anda yang mana saja yang sedang Anda gunakan.
enigmaticPhysicist

@ enigmaticPhysicist err ... lol, apa ?? Buat saya tidak melihatnya - pertama-tama Anda membuat versi jawaban saya yang sudah dikupas, kemudian menurunkan versi milik saya untuk jawaban yang tidak Anda jawab (bagaimana Anda akan mempertahankan konfigurasi pada booting dude?) , Dan yang mana opsional (seperti Anda bisa dilihat dengan pencacahan dan penjelasannya) .
Hi-Angel

Seseorang tidak dapat menerima kritik ... Hei, apakah Anda memiliki rambut oranye, kebetulan?
enigmaticPhysicist

@enigmaticPhysicist lol Anda tidak melakukan kritik. Anda menyalin jawaban saya, lalu menurunkan milik saya untuk menjadi yang teratas. Itu bahkan bisa berhasil jika Anda tidak meninggalkan komentar, jadi saya perhatikan, dan menandai jawaban Anda. Adapun isi komentar Anda - saya sudah menjawab. Dan maaf, saya tidak mengerti - apa lelucon tentang rambut oranye?
Hi-Angel
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.