Как изменить клавиатуру из командной строки?

Я нашел решение для этого ... отключить липкие края в настройках дисплеев

1
задан 30 October 2012 в 19:05

6 ответов

Вы можете найти все различные раскладки клавиатуры в следующих местах:

/usr/share/keymaps/i386/
/usr/share/kbd/keymaps/i386/
/usr/share/X11/xkb/symbols/
Чтобы изменить раскладку клавиатуры (например, на испанский) в командной строке Linux, введите следующую команду:
loadkeys es
[ ! d1]

Для X:

setxkbmap es

Чтобы изменить раскладку клавиатуры (например, на испанский) в командной строке Linux, введите следующую команду:

sudo dpkg-reconfigure console-setup
47
ответ дан 25 May 2018 в 04:54
  • 1
    Это влияет на tty1, tty2 и т. Д., Но не влияет на X. Я хочу сделать это на X, так же, как работает коммутатор клавиатуры в lightdm. – Eyal 30 October 2012 в 19:21
  • 2
    Я добавил команду в ответ, это было то, что вы искали? – Dr_Bunsen 30 October 2012 в 19:25
  • 3
    ДА! Благодарю. Кроме того, можете ли вы обновить свой ответ, чтобы упомянуть loadkeys, записанные с помощью 's'? – Eyal 30 October 2012 в 19:27
  • 4
    да, я не буду, и спасибо. Просто отметьте, как решили, чтобы все знали. – Dr_Bunsen 30 October 2012 в 19:28
  • 5
    для пользователей redhat следующие ценные фрагменты: /usr/share/X11/xkb/symbols/ и setxkbmap es – Peter Butkovic 18 November 2015 в 15:35

Ubuntu 13.10 или более поздняя версия

Это работает лучше, чем setxkbmap с индикатором раскладки клавиатуры Gnome / Unity.

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

0 - индекс макета (0 по умолчанию или верхний макет). Макеты, индексированные начиная с 0.

Для удобства использования создайте псевдоним.

12
ответ дан 25 May 2018 в 04:54
  • 1
    Этот ответ лучше, потому что он фактически меняет индикатор. Только то, что я искал. – Ainar-G 27 April 2017 в 23:50
  • 2
    Благодарю. использовал ваш ответ и здесь: askubuntu.com/a/984981/6193 – Alexey 10 December 2017 в 19:11
  • 3
    Это не работает в GNOME 3.26. Он говорит: «Этот ключ устарел и проигнорирован». – hugomg 3 March 2018 в 18:21
  • 4
    @hugomg, прямо сейчас у меня нет доступа еще к новому гному. но вы можете попробовать использовать инструмент dconf-editor и проверить /org/gnome/desktop/. они могут просто переименовать его. – user.dz 3 March 2018 в 19:42
setxkbmap us,il -option "lv3:ralt_alt,grp:alt_shift_toggle"

эта команда позволяет вам переключаться между английским и ивритом только с помощью правого сдвига alt + и спасать вас слева + сдвиг.

9
ответ дан 25 May 2018 в 04:54

Просто из любопытства, зачем вы это делаете? Зачем вам открывать терминал, и они набирают команду для переключения раскладки клавиатуры, когда вы можете сделать это с помощью простого сочетания клавиш! Предполагая, что вы используете Ubuntu, это выглядит как Windows + Space

0
ответ дан 25 May 2018 в 04:54
  • 1
    Это, скорее всего, комментарий и меньше ответа. – WinEunuuchs2Unix 26 February 2017 в 19:48
  • 2
    Прямо перед включением экранной заставки я хочу переключиться на английский, так что будет легко ввести пароль, когда я вернусь. – Eyal 8 March 2017 в 23:33
  • 3
    также полезно для создания пользовательских сочетаний клавиш – Vassilis 13 October 2017 в 14:24
  • 4
    Это не работает в Ubuntu 16.04 на виртуальном боксе. – Juha Untinen 15 February 2018 в 13:48

Кажется, что нет стандартного инструмента 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, если он установлен.

Caveat

Если ваш ~/.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, как обсуждалось Х переключатель .

0
ответ дан 25 May 2018 в 04:54

Используя 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

As теперь у нас есть 3 разных языка, у нас есть три варианта от 0 до 2, причем 1 - испанский, 2 - норвежский, а 3 - греческий. Таким образом, установка gsettings до 1 выше делает норвежский язык текущей раскладкой клавиатуры.

4. Листинг всех возможных раскладок клавиатуры:

cat //usr/share/X11/xkb/rules/base.lst

5. Изменение раскладка клавиатуры с сочетанием клавиш:

Для изменения раскладки клавиатуры предварительно настроена комбинация клавиш. Нынешний ярлык:

$ gsettings get org.gnome.desktop.wm.keybindings switch-input-source
['<Super>space']

Новый ярлык можно установить с помощью набора gsetting, но старайтесь не использовать ярлык, который уже используется. Чтобы перечислить все используемые ярлыки:

$ 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']
...
0
ответ дан 25 May 2018 в 04:54

Другие вопросы по тегам:

Похожие вопросы: