Ответы:
От терминала
С английского на иврит и наоборот с Alt+Shift
setxkbmap -option grp:alt_shift_toggle us,il
Вы можете увидеть все псевдонимы с помощью этой команды
cat /etc/locale.alias
Больше информации о setxkbmap в руководстве
man setxkbmap
Вы можете найти все различные сочетания клавиш в следующих местах:
/usr/share/keymaps/i386/
/usr/share/kbd/keymaps/i386/
/usr/share/X11/xkb/symbols/
Чтобы изменить раскладку клавиатуры (например, на испанский) в командной строке Linux, введите следующую команду:
loadkeys es
Для X:
setxkbmap es
Чтобы сделать эти изменения общесистемными, предполагая, что вы используете Ubuntu, вы можете использовать следующее:
sudo dpkg-reconfigure console-setup
/usr/share/X11/xkb/symbols/
иsetxkbmap es
Это работает лучше, чем setxkbmap с индикатором раскладки клавиатуры Gnome / Unity.
gsettings set org.gnome.desktop.input-sources current 0
0 - индекс макета (0 по умолчанию или топ-макет). Макеты индексируются начиная с 0.
Для удобства использования создайте псевдоним.
dconf-editor
инструмент и проверить /org/gnome/desktop/
. они могут просто переименовать его.
Кажется, что нет никакого стандартного инструмента CLI, но xkb-switch - это небольшой инструмент с открытым исходным кодом для выполнения этой работы. Только что протестировал его с Ubuntu 16.04.4 LTS, и он работает безупречно.
$ xkb-switch # display current group
ua
$ xkb-switch -l # list groups
us
ua
$ xkb-switch -s us # switch to a named group
$
Это выглядит лучше, чем другие решения, потому что setxkbmap <name>
разрушает все параметры, и setxkbmap -layout <name>
, хотя он сохраняет параметры, он все равно не может изменить ни индикатор панели задач, ни значение grp_led
if.
Если вы ~/.config/kxkbrc
используете LayoutLoopCount
(например, оно установлено меньше, чем общее количество макетов, перечисленных в LayoutList
), например:
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
тогда xkb-switch
только позволит вам переключаться между макетами в текущей группе.
Я заметил ваш комментарий:
Непосредственно перед включением заставки я хочу переключиться на английский, чтобы при вводе пароля было легко вводить пароль.
Это была именно моя цель, поэтому вот ответ:
чтобы сделать это, вам нужно всего лишь обернуть его в скрипт, который будет dbus-monitor
обсуждаться здесь .
Используя gsettings в 18.04+ с Gnome, вы можете добавлять и добавлять раскладки клавиатуры и переключаться между ними из командной строки или с помощью переключателя раскладки клавиатуры на рабочем столе.
1.Представляем раскладки клавиатуры и опции:
$ 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')]
2. Добавление раскладок клавиатуры:
$ 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')]
3. Изменение текущей раскладки клавиатуры из командной строки:
$ gsettings set org.gnome.desktop.input-sources current 1
Поскольку у нас сейчас есть 3 разных языка, у нас есть три варианта от 0 до 2, из которых 1 - испанский, 2 - норвежский и 3 - греческий. Таким образом, установка current в 1 выше делает Norwegian текущей раскладкой клавиатуры.
4. Перечисление всех возможных раскладок клавиатуры:
cat //usr/share/X11/xkb/rules/base.lst
5. Изменение раскладки клавиатуры с помощью сочетания клавиш:
Сочетание клавиш предварительно настроено для изменения раскладки клавиатуры. Настоящий ярлык:
$ gsettings get org.gnome.desktop.wm.keybindings switch-input-source
['<Super>space']
Новый ярлык может быть установлен с помощью gsetting set, но будьте осторожны, чтобы не использовать ярлык, который уже используется. Чтобы перечислить все используемые ярлыки:
$ gsettings list-recursively org.gnome.desktop.wm.keybindings
org.gnome.desktop.wm.keybindings cycle-windows-backward ['<Shift><Alt>Escape']
org.gnome.desktop.wm.keybindings minimize ['<Super>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 ['<Super><Shift>Left']
...
Для Ubuntu 18.04 + Gnome другие ответы у меня не сработали, но это сработало:
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()"
Аргумент в «inputSources [0]» - это индекс раскладки клавиатуры, такой же, как для решения gsettings.
Нашел это на Linux StackExchange .
Просто из любопытства, зачем ты это делаешь? Зачем вам открывать терминал, и они вводят команду для переключения раскладки клавиатуры, когда вы можете сделать это простым сочетанием клавиш! Предполагая, что вы используете Ubuntu, он выглядит как Windows
+Space