středa 22. dubna 2026

Linux: Změna klávesnice v prostředí bez GUI

Na domácím virtualizačním serveru mám nainstalovaný Ubuntu server LTS bez grafického prostředí. Standardně se klávesnice vybírá při instalaci operačního systému.

Když ale zvolíme cz-qwerty a chceme používat různé speciální znaky (jako např. | svislítko(pipe)), musíme buď znát klávesovou zkratku, nebo přepnout klávesnici na anglickou. Což ale není jen tak. A tak tady přináším jednoduchý návod.

Samozřejmě v Linuxu s grafickým prostředím je změna klávesnice stejně snadná jako v pinďousech. Avšak mě jde o změnu v příkazové řádce. Pokud se na server připojím přes ssh z pracovní stanice, tak samozřejmě si ssh vezme nastavení počítače z nějž se připojujeme.

Fyzicky ale stojíme vedle svého ubuntu serveru, čumíme na jeho monitor a potřebujeme přepnout klávesnici, tak to uděláme následujícím postupem...

Když zadáme následující příkaz:

# localectl status
vypíše to něco jako:
VC Keymap: cz
Tím si ověříme, jakou klávesnici máme aktuálně nastavenou.

Teď víme, co máme aktuálně nastavené v systému. Pro změnu na US klávesnici zadáme následjící příkaz:

# sudo localectl set-keymap us
Tím se klávesnice přepne na anglickou. Ověříme to opět tím příkazem localectl status, a víme na čem jsme.

Pokud se chceme vrátit, tak stačí zase napsat příkaz:

# sudo localectl set-keymap cz-qwerty
a jsme zpět

No, ale to je trochu oser, toto. Že?

Není nic snažšího, než si nastavit aliasy pro změnu klávesnice a máme vystaráno. V souboru .bashrc napíšeme toto:

alias kben='sudo localectl set-keymap us'
alias kbcz='sudo localectl set-keymap cz-qwerty'

pak jen znovu načteme soubor

source ~/.bashrc
a pak už jen stačí zadávat příkazy kben a kbcz.

Nebo to můžeme upravit pro použití jen jednoho příkazu:

alias kb='if localectl status | grep -q "VC Keymap: us"; then sudo localectl set-keymap cz-qwerty; else sudo localectl set-keymap us; fi'

nyní stačí používat jen příkaz kb a on si sám zjistí, jakou klávesnici má zrovna aktivní a pak přepne na tu druhou. Tady je jen nevýhoda, že aktuálně nevíme, co tam máme zrovna nastaveno (z historie to nezjistíme podle posledního příkazu).

Takže vše je řešitelné a ani to nemusí být složité.