GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Cambiare layout di tastiera con I3?

Ho una nuova versione i3 4.11 (2015-09-30, ramo “4.11”) installata su Ubuntu 16.04.
In realtà ho bisogno di usare 3 diversi layout di tastiera, ad esempio en , fr e ru con la possibilità di passare da uno all'altro utilizzando alcune scorciatoie da tastiera.

Ho provato alcuni metodi ma nessuno dei due è stato completamente soddisfacente:

  • Utilizzo di ibus-daemon funziona quasi ma non posso usare scorciatoie per cambiare layout.
  • La mia configurazione attuale sta configurando setxkbmap quando avvio i3 :

    exec --no-startup-id "setxkbmap -model pc105 -layout fr,us,ru -option grp:alt_shift_toggle"
    

Quindi posso passare da un layout all'altro, ma a volte non ho idea di quale layout stia effettivamente utilizzando perché in questa configurazione non è presente alcuna icona nella barra delle applicazioni.

Per concludere le mie esigenze sono:

  • Essere in grado di cambiare layout premendo alcuni tasti di scelta rapida.

  • Alcune indicazioni (preferibilmente, l'icona nella barra delle applicazioni) per il layout attualmente in uso.

C'è qualche soluzione a riguardo? O forse c'è qualche plug-in i3 che fa effettivamente il lavoro? Qualche terzo software?

Risposta accettata:

Puoi farlo con xkblayout-state e i3blocks

Per xkblayout-state :

Presumo che tu abbia git .

~$ git clone https://github.com/nonpop/xkblayout-state.git
~$ cd xkblayout-state
~$ make

Ora copia xkblayout-state compilato da qualche parte nel tuo PATH , ad esempio:

~$ `cp xkblayout-state /usr/local/bin/`

Ora per i3blocks :

sudo apt-get install i3blocks
cp /etc/i3blocks.conf ~/.i3blocks.conf

Nel tuo i3 config (~/.config/i3/config) sostituisce i3status con i3blocks ,

# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
        status_command i3blocks
        tray_output primary                                               
}
# in case of layout change event - send signal to i3blocks
bindsym ISO_Next_Group exec pkill -RTMIN+1 i3blocks

E riavvia i3wm (mod+shift+R), ora dovresti vedere che i3blocks apparso.

Apri il tuo ~/.i3blocks.conf e aggiungi da qualche parte (ad esempio, proprio sopra la sezione [VOLUME]):

#Language indicator
[language]
#label=LNG
command=xkblayout-state print %s | awk '{print toupper($0)}'
interval=once
signal=1

Di nuovo, riavvia i3wm (mod+shift+R) e dovresti vedere le tue impostazioni locali nella barra di stato, cambiando.

Dai un'occhiata a xkblayout-state --help , ci sono molte opzioni per output diversi.


Ubuntu
  1. Tasti Ctrl e Alt mappati per spostarsi per qualche motivo?

  2. Hub USB 3.0 non funziona con alcuni dispositivi su Ubuntu 18.04?

  3. Problemi con la tastiera che non funziona all'avvio?

  4. Apt - Come installare i pacchetti consigliati dopo l'installazione con Switch –no-install-recommends?

  5. Come configurare le scorciatoie per passare a un layout di tastiera specifico in Ubuntu 14?

Dai un tocco di colore al tuo terminale Linux con lolcat

Come aggiungere e cambiare il layout della tastiera su Ubuntu 22.04 Desktop

Alcuni comuni display manager di Ubuntu e come passare da uno all'altro

Segreti del plasma:lingue aggiuntive e layout della tastiera

È possibile posizionare Windows con scorciatoie da tastiera in Gnome-shell?

Come nascondere l'indicatore del layout della tastiera in Ubuntu 17.10 e versioni successive con Gnome 3?