Come posso fare in modo che IBus non ignori ~ / .XCompose?


14

Dato che UIM non voleva giocare a palla dopo aver installato Ubuntu 12.04 da zero, ho provato IBus, poiché quello è il framework IME che viene fornito con Ubuntu per impostazione predefinita.

Tuttavia, ibus-table-compose è un dolore nel calcio da usare perché solo per inserire un carattere ho bisogno di premere la combinazione di tasti per attivare prima IBus, inserire la rispettiva sequenza di composizione, quindi premere di nuovo la combinazione di tasti IBus per disabilitarlo. Invece preferirei mantenere la mia funzionalità di composizione chiave come fornita da XIM, dal momento che ciò richiede un minor numero di tasti.

Il problema è, tuttavia, che quando il metodo di input predefinito è impostato su IBus e IBus viene disattivato in modo tale che (AIUI, da quando l'ho avviato con ibus-daemon --xim ), viene bypassato a favore di XIM, le impostazioni in ~ / .XCompose sembra essere sovrascritto dalla stessa versione di IBus , quindi ad esempio Compose ca non dà ± (a-ogonek) come ho definito nel file .XCompose nella mia directory home, ma ǎ (a-hacek), come definito da alcuni altre impostazioni.

Mi sono abituato abbastanza ai miei mnemnonici, quindi c'è un modo per fare in modo che il mio sistema usi il mio file ~ / .XCompose con il metodo di input predefinito ancora impostato su IBus in modo che IBus continui a funzionare, ad esempio in OpenOffice e altre applicazioni che non ti consente di scegliere il metodo di input con un menu di scelta rapida?

Nota: questo non è un duplicato della domanda Come posso ricomporre su ibus?


Questa domanda sembra essere abbandonata e senza risposta. Se lo hai risolto, pubblica una risposta che spieghi come è stato risolto (rispondere alle tue domande non è semplicemente permesso, ma è incoraggiato quando non c'è altra risposta che fa il lavoro ). Se la domanda non si applica più, è possibile eliminarla / chiuderla volontariamente.
Eric Carvalho,

Risposte:


6

Come affermato da @von, .XComposeper ora NON PUOI usare il tuo con IBUS.

È possibile utilizzare uimcome Metodo di input, che supporta Unicode, entrambi immoduli GTK + e Qt con XIMsupporto legacy .

Un buon modo per gestire .XComposee conservare la composizione globale esistente è:

  1. Installa uim:

    sudo apt-get install uim

  2. Rendi il metodo di input predefinito:

    im-config -n uim

  3. Modifica il tuo .XComposee aggiungi la locale corrente della tastiera (nel mio caso en_US) come prima riga :

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

  4. Fatto! Riavvia i programmi che desideri avviare per ottenere il tuo .XComposefile.

Problemi noti

Ubuntu Unity Dash non produrrà mai una cediglia.

Altre distribuzioni

Ho giocato un po 'con .XComposee metodi di input su distribuzioni moderne in questi giorni, mentre provavo a mantenere Linux lo stesso comportamento della tastiera di Windows (TM) per le lingue latine (output çinvece di ć, nessuna consonante accentata, ecc.).

Ho creato un repository con queste istruzioni (anche per Ubuntu e altre distribuzioni): https://github.com/raelgc/win_us_intl


4
Cosa significa esattamente "per ora NON PUOI utilizzare il tuo .XCompose con IBUS"? Che cosa è cambiato Questo cambiamento è stato nello stesso Ubuntu o in qualcosa che Ubuntu usa?
Andrybak,

@AndreyRybak IBUS è il più recente XIMe uimnon supporta .XComposeancora i file (e non sono sicuro che cambierà, poiché un anno dopo rimane lo stesso stato). No, non è specifico di Ubuntu.
Rael Gugelmin Cunha,

Sembra funzionare per me nel 16.04 (con Gnome).
In pausa fino a ulteriore avviso.

@DennisWilliamson Intendi, IBUS e .XCompose? Incrocio le dita e questo viene risolto 4 anni dopo la mia risposta di cui sopra.
Rael Gugelmin Cunha,

1
Sì. Ho avuto un piccolo ~/.Xcomposecon voci funzionanti. Ho aggiunto un sacco di nuove voci, non funzionavano, poi l'ho fatto ibus restarte tutte le nuove hanno funzionato.
In pausa fino a ulteriore avviso.

1

Il problema è, tuttavia, che quando il metodo di input predefinito è impostato su IBus e IBus viene disattivato in modo tale che (AIUI, da quando l'ho avviato con ibus-daemon --xim), viene bypassato a favore di XIM, le impostazioni in ~ / .XCompose sembra essere sovrascritto dalla stessa versione di IBus, quindi ad esempio Compose ca non dà ± (a-ogonek) come ho definito nel file .XCompose nella mia directory home, ma ǎ (a-hacek), come definito da alcuni altre impostazioni.

Sembra che non sia definito da alcune altre impostazioni, nel senso di alcuni file di configurazione che potresti modificare. Sembra che sia compilato, codificato nel file gtkimcontextsimpleseqs.h. Sembra inoltre che non sia facile personalizzare l' gtk_compose_seqs_compactarray in quel file e aggiungere le proprie sequenze di tasti Compose. La tabella è ottimizzata per lo spazio, non facilmente modificabile. Quindi la strategia "cambia semplicemente la fonte e ricompila" potrebbe essere più difficile di quanto pensassi.

Mi sono abituato abbastanza ai miei mnemnonici, quindi c'è un modo per fare in modo che il mio sistema usi il mio file ~ / .XCompose con il metodo di input predefinito ancora impostato su IBus in modo che IBus continui a funzionare, ad esempio in OpenOffice e altre applicazioni che non ti consente di scegliere il metodo di input con un menu di scelta rapida?

C'è una segnalazione di bug su https://bugzilla.gnome.org/show_bug.cgi?id=155010 che ha una patch che (si dice) consentirebbe di personalizzare la tabella di composizione. Non userebbe ancora il tuo file ~ / .XCompose e la sintassi sarebbe diversa, ma è qualcosa. Ma noto che il bug in questione è ancora aperto, quindi suppongo che questo non sia ancora arrivato nelle versioni ufficiali.


1

Da quando Dennis Williamson ha detto che ha funzionato nel 16.04 in un commento sopra, ho provato in questa nuova installazione 18.04 con un breve .XComposecopiato dalla mia precedente installazione 16.04.

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

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

Quindi ho funzionato ibus restartin un terminale e posso digitare ʁ.


0
  1. Impostare globalmente (cioè per Ubuntu /etc/environment) i QT_IM_MODULE, GTK_IM_MODULEvariabili (l'ultimo non necessari per gnome) a ibus, e XMODIFIERSda @im=ibus.

  2.α Eseguire setxkbmapcon -optionper selezionare la chiave di composizione. Ad esempio, per utilizzare il tasto logo destra: setxkbmap -option compose:rwin. Questo verrebbe sovrascritto al riavvio.

  2.β Per mantenere l'impostazione al riavvio, creare /etc/X11/xorg.conf.d/00-keyboard.confil seguente contenuto:

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

Testato e funziona sia per X11 e (almeno il setxkbmapmodo in cui) Wayland.

Grazie per un suggerimento va a fujiwarat , aggiornato per questa discussione .


1
La modifica della configurazione a livello di sistema è però folle. Inserisci 2alpha e quelle variabili d'ambiente nel tuo .xprofile o .xinitrc qualunque sia quello che stai usando.
enigmatico

@enigmaticPhysicist err ... lol, what ?? Fammi non vedere - prima hai ridotto la versione della mia risposta, poi hai declassato la mia per l'aggiunta che la tua risposta non ha (come hai intenzione di conservare la configurazione al riavvio amico?) , E che è facoltativo (come te può vedere per enumerazione e spiegazione) .
Ciao Angelo

Qualcuno non può prendere le critiche ... Ehi hai i capelli arancioni, per caso?
enigmatico

@enigmaticPhysicist lol non hai fatto una critica. Hai copiato la mia risposta, quindi ho declassato la mia per essere in cima. Avrebbe potuto funzionare anche se non avessi lasciato il commento, così ho notato e segnalato la tua risposta. Per quanto riguarda il contenuto del tuo commento, ho già risposto. E scusa, non ho capito - di cosa parla la barzelletta dei capelli arancioni?
Ciao Angelo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.