Команда смены языка linux

How do I change keyboards from the command line?

How I change keyboard layouts from the command-line? For example, I want to switch from English to Hebrew. I’m able to do it from lightdm with the little icon in the corner of my screen.

11 Answers 11

You can find all the different keymaps in the following locations:

/usr/share/keymaps/i386/ /usr/share/kbd/keymaps/i386/ /usr/share/X11/xkb/symbols/ 

To change the keyboard layout (e.g. to Spanish) in the Linux command line, type the following command:

To make these changes system wide, assuming you’re using Ubuntu, you can use the following:

sudo dpkg-reconfigure console-setup 

This has effect on tty1, tty2, etc, but no effect in X. I want to do it in X, the same way that the keyboard switcher in lightdm works.

English to Hebrew and vise versa with Alt + Shift

setxkbmap -option grp:alt_shift_toggle us,il 

You can see all locale alias with this command

More info about setxkbmap in manual

How do you find the Dvorak keyboard using this? /etc/locale.alias seems to contain a list of locales (languages), not keyboard layouts.

Ubuntu 13.10 or Later

This works better then setxkbmap with Gnome/Unity keyboard layout indicator.

gsettings set org.gnome.desktop.input-sources current 0 

0 is the layout index (0 default or top layout). Layouts indexed starting from 0.

For easy use, create an alias.

@hugomg, right now I don’t have access yet to newer gnome. but you may try using dconf-editor tool and check /org/gnome/desktop/ . they may just rename it.

setxkbmap us,il -option "lv3:ralt_alt,grp:alt_shift_toggle" 

this command enable you toggle between English and Hebrew only through by right alt + shift and rescue you from left alt + shift .

There seems to be no standard CLI tool, but xkb-switch is a small open-source tool to do the job. Just tested it with Ubuntu 16.04.4 LTS and it works flawelessly.

$ xkb-switch # display current group ua $ xkb-switch -l # list groups us ua $ xkb-switch -s us # switch to a named group $ 

This looks better than the other solutions because setxkbmap ruins all options, and setxkbmap -layout , while it preserves the options, it still fails to change the taskbar indicator nor the grp_led if set.

Caveat

If your ~/.config/kxkbrc uses LayoutLoopCount (e.g. it is set to less than the total number of layouts listed in LayoutList ), like this:

LayoutList=us,ua,th,de LayoutLoopCount=2 Options=grp_led:scroll,grp:rwin_switch,compose:menu,lv3:ralt_switch, nbsp:level2,grp:rctrl_toggle,misc:typo 

then xkb-switch would only let you switch between the layouts in current group.

Читайте также:  No buffer space available on linux

Invoke at screen lock

Right before my screensaver turns on, I want to switch to English so that it will be easy to type my password when I get back in.

This was precisely my goal, so here’s the answer:
To do that, you only need wrap it into a script hooking to dbus-monitor like discussed here.

Using gsettings in 18.04+ with Gnome, you can both add keyboard layouts and switch between them from the command line or from the keyboard layout switcher on the desktop.

    Present keyboard layouts and options:

$ gsettings list-recursively org.gnome.desktop.input-sources org.gnome.desktop.input-sources show-all-sources false org.gnome.desktop.input-sources xkb-options ['terminate:ctrl_alt_bksp'] org.gnome.desktop.input-sources per-window false org.gnome.desktop.input-sources current uint32 1 org.gnome.desktop.input-sources mru-sources @a(ss) [] org.gnome.desktop.input-sources sources [('xkb', 'es'), ('xkb', 'no')] 
$ gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'no'),('xkb','gr')]" $ gsettings get org.gnome.desktop.input-sources sources [('xkb', 'es'), ('xkb', 'no'), ('xkb', 'gr')] 
$ gsettings set org.gnome.desktop.input-sources current 1 
cat //usr/share/X11/xkb/rules/base.lst 
$ gsettings get org.gnome.desktop.wm.keybindings switch-input-source ['space'] 

A new shortcut can be set by using gsetting set , but take care not to use a shortcut that is already in use. To list all shortcuts in use:

$ gsettings list-recursively org.gnome.desktop.wm.keybindings org.gnome.desktop.wm.keybindings cycle-windows-backward ['Escape'] org.gnome.desktop.wm.keybindings minimize ['h'] org.gnome.desktop.wm.keybindings move-to-workspace-7 @as [] org.gnome.desktop.wm.keybindings move-to-workspace-8 @as [] org.gnome.desktop.wm.keybindings move-to-workspace-9 @as [] org.gnome.desktop.wm.keybindings move-to-monitor-left ['Left'] . 

This part doesn’t seem to work on Ubuntu 23.04 with Wayland: gsettings set org.gnome.desktop.input-sources current 1

For Ubuntu 18.04 + Gnome the other answers did not work for me, but this did:

gdbus call --session --dest org.gnome.Shell \ --object-path /org/gnome/Shell \ --method org.gnome.Shell.Eval \ "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()" 

The argument in «inputSources[0]» is the index of the keyboard layout, the same as for gsettings solution.

Thanks. Small nit-pick, there is to such thing as «Ubuntu 22», you either meant «Ubuntu 22.04» (released in April 2022) or «Ubuntu 22.10» (released in October 2022). The version numbers are confusing, but they refer to the year and month of the date of release.

I was able to find the best and most stable combination of xkb-switch , setxkbmap and ibus . IBus allows pinyin input and xkb-switch is stable, while setxkbmap returns back set of keyboard layouts.

This is important when switching directly to a language, for example Shift + Alt + 1 . 4 . Why not using only IBus? It gets stuck all the time because it requires a restart to bring keyboard layouts back to life after switching to non-latin keyboard layout. At least in FireFox, see I need to exit and restart ibus-daemon to make ibus-chewing work. #2319.

Читайте также:  Как установить самба на линукс

Disclaimer: Tested on OpenSuse Leap 15.3 xfce4 and xkb-switch is compiled from source

To make this work you should make script files with those commands and assign keyboard shortcuts to run them. Also you might want to disable Alt+Shift shortcut in keyboard switch settings to remove unexpected behavior.

So, here are my set of commands:

Shift + Alt + 1 — switch to English:

killall ibus-daemon setxkbmap us,ru,pt xkb-switch -s us 

Shift + Alt + 2 — switch to Russian:

killall ibus-daemon setxkbmap us,ru,pt xkb-switch -s ru 

Shift + Alt + 3 — switch to Chinese Mandarin Pinyin:

ibus-daemon -d ibus reset-config gsettings set org.freedesktop.ibus.general preload-engines "['libpinyin']" setxkbmap us,ru,pt xkb-switch -s us ibus engine libpinyin 

Shift + Alt + 4 — switch to Portugese:

killall ibus-daemon setxkbmap us,ru,pt xkb-switch -s pt 

Also assign the following script to run on system autostart.

Источник

Настройка клавиш для переключения языка в Linux (+ что делать, если нет значка языка Ru/En на панели задач). Авто-смена раскладки при наборе текста

yazyik-kakoy-ne-izhu

Доброго дня!

Многие начинающие пользователи при знакомстве с определенными дистрибутивами Linux сталкиваются с проблемой переключения раскладки (с русского на английский, и наоборот). Причем, иногда в трее (на панели задач) даже нет такого значка!

Собственно, сегодня в этой небольшой заметке решил показать, как это можно достаточно легко исправить (причем, попутно мы сможем «включить» авто-смену раскладки: т.е. система будет определять сама, на каком языке вы сейчас печатаете. В некоторых случаях — это очень удобно!).

Теперь о том, что и как настроить.

Пример (о чем идет речь) // дистрибутив Xubuntu

Пример (о чем идет речь) // дистрибутив Xubuntu

Решение вопросов с раскладкой

ШАГ 1: параметры системы

Важно: этот шаг (в принципе) можно пропустить. Но привожу его я из-за того, что в некоторых случаях вопрос можно решить через параметры системы (без доп. приложений).

Первое, что очень желательно сделать — открыть параметры системы / настройки клавиатуры ( по англ. : Settings / Keyboard). В зависимости от используемого дистрибутива Linux — нужная вкладка может находиться несколько в отличных разделах. 👇

Открываем настройки клавиатуры

Открываем настройки клавиатуры / дистрибутив Xubuntu

После нужно перейти во вкладку «раскладка» (англ.: «layout») и проверить, чтобы у вас в системе было как минимум 2 раскладки (английская и русская / кому нужно — могут добавить и больше). Обычно, в этом же разделе настроек можно сменить клавиши для переключения языка (по англ.: «Change layout option» 👇).

Примечание: в ряде дистрибутивов Linux по умолчанию ставится только 1 раскладка. И, разумеется, пока их не будет хотя бы 2 — сменить клавиши для ее переключения нельзя! Ну и на панели задач никаких языковых значков не отображается. В общем-то логично.

Добавляем нужные языки и устанавливаем клавиши для переключения языка

Добавляем нужные языки и устанавливаем клавиши для переключения языка

Читайте также:  Gcc x86 linux 64 bit

Необходимо открыть настройки панели задач (по англ.: «Panel»). Обычно данная вкладка находится среди прочих параметров системы.

В настройках панели необходимо добавить новый значок (по англ.: «Add new item») — среди списка найти нужно что-то похожее на «Keyboard layouts». 👇

Собственно, теперь языковой значок (с флажком) будет отображаться в трее, кнопки для переключения раскладки настроены. Задача решена. 👌

Добавляем на панель текущую раскладку

Добавляем на панель текущую раскладку

ШАГ 2: установка доп. приложения X Neural Switcher

Если в шаге 1 (выше) у вас возникли вопросы, и вы не смогли через параметры системы настроить раскладку, ее переключение, и значок на панели задач — вопрос можно решить иначе. Для этого нам понадобиться приложение xneur .

X Neural Switcher (xneur) — архи-полезное приложение (в Linux) для автоматического переключения раскладки клавиатуры (те. при вашей печати — оно само будет определять язык. Аналог Punto Switcher для Windows).

Кроме этого, приложение создаст значок с флажком выбранного языка на панели задач, позволит вручную задать сотни комбинаций клавиш (в т.ч. и для смены раскладки), исправлять ошибки и опечатки при наборе текста, и многое другое. 👌

Для его установки, как правило, достаточно открыть магазин приложений (менеджер ПО) и ввести в поисковую строку «xneur». Пример ниже. 👇

Gxneur - установка

Либо установить можно также через терминал (вызов по Win+T или по Ctrl+Alt+T), команда:

Альтернативная установка

На всякий stable-версия (если предыдущая команда не установила приложение):

sudo add-apt-repository ppa:andrew-crew-kuznetsov/xneur-stable
sudo apt-get update
sudo apt-get install gxneur

ШАГ 3: настройка X Neural Switcher

Т.к. приложение X Neural Switcher поддерживает русский язык на 100% и по умолчанию вполне корректно работает (и выводит значок с текущей выбранной раскладкой на панель задач) — то скорее всего, никаким специальном образом настраивать его не придется.

Однако, я бы всё же порекомендовал, во-первых, во вкладке «Общее / основное и типографика» настроить базовые правила. Например, весьма удобно откл. случайные нажатия на CapsLock, разрешить исправление грубых опечаток и пр.

Настройки

Во-вторых, также посоветовал бы в разделе «Комбинации клавиш» задать свои клавиши для переключения раскладки. Мне, например, удобно работать с Alt+Shift. 👇

Переключение раскладки - комбинация клавиш

Переключение раскладки — комбинация клавиш

В-третьих, хорошо бы приложению X Neural Switcher разрешить запускаться вместе с Linux (чтобы не открывать его каждый раз вручную самостоятельно). Обычно, для этого достаточно просто поставить соответствующий флажок в параметрах запуска.

Также на всякий случай приведу ссылку на альтернативные способы добавления приложения в автозагрузку. 👇

👉 В помощь!

Добавление приложения в автозагрузку Linux (как запускать программу автоматически при старте ОС Linux)

Запускать автоматически при старте

Запускать автоматически при старте

Собственно, на этом вроде как и всё — первоначальная задача решена полностью! 😉

Теперь значок языка есть

На сим пока всё. Удачной работы!

Источник

Оцените статью
Adblock
detector