Как изменить раскладку клавиатуры при нахождении в консоли?

42

Мне нужно изменить раскладку клавиатуры во время работы в консоли в Linux. Мне нужно установить английскую раскладку по умолчанию для консоли. Как это сделать?

J.Olufsen
источник
Какой дистрибутив вы используете?
Emzero
Ubuntu,
залогинен
1
"Loadkeys нас" работал! Как сделать это макетом по умолчанию?
J.Olufsen

Ответы:

42

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

sudo dpkg-reconfigure keyboard-configuration

или отредактируйте XKBLAYOUTстроку в /etc/default/keyboard.

ephemient
источник
2
В Red Hat 7: localectl status, localectl list-keymaps, localectl set-keymap czсм Изменение раскладки клавиатуры ... В раскладку в /usr/lib/kbd/keymaps/BTW ..
Дэвид Tonhofer
Привет)) Ubuntu 18.04.2 с рабочим столом Gnome не отвечает на состояние /etc/default/keyboard. Чтобы изменить настройки клавиатуры в этом случае, вам нужно использоватьdconf
AtachiShadow
16

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

sudo apt-get install x11-xkb-utils

После этого вы всегда можете изменить раскладку клавиатуры с помощью:

setxkbmap us

Чтобы сделать это автоматически каждый раз, добавьте .bashrc:

echo "setxkbmap us" >> ~/.bashrc

Теперь откройте новую консоль и раскладка клавиатуры США будет активирована. Не беспокойтесь, если маленький значок раскладки клавиатуры на панели Ubuntu не изменится.

Malte Ahl
источник
Это на самом деле не меняет раскладку клавиатуры по умолчанию, но является своего рода хаком для сброса раскладки клавиатуры на другую каждый раз, когда вы открываете новую консоль (хотя ее необходимо выполнить только после перезагрузки). Для постоянного решения, можно установить его напрямую, например, /etc/default/keyboardкак предложено другими ответами.
baptx
Это не отвечает на вопрос. setxkbmap (1) работает в X (графическом), а OP спрашивает о консоли. ОП даже упомянул loadkeys (1) в комментарии к своему вопросу, за три года до того, как вы опубликовали этот ответ (loadkeys (1) - программа только для консоли).
Гильденстерн
6

другой путь, но я понимаю, что это не будет длиться до следующей загрузки:

sudo loadkeys /usr/share/keymaps/i386/qwerty/us.kmap.gz

проверьте / usr / share / keymaps / i386 / для вашей раскладки клавиатуры и раскладки клавиш, которые вам больше подходят

Водолей Сила
источник
Поместите это в /etc/profile.d/bashrc
BK
@BK, может быть, /etc/rc.localчтобы не требовать sudo?
Водолей Сила
1

loadkeys нас ---- он загружает ключи США, но для одного сеанса.

sunilyadav0201
источник
Loadkeys был предложен, и в лучших ответах, которые включали информацию о том, КАК его использовать. Пожалуйста, избегайте размещения дубликатов информации в ответах, особенно если ваши сообщения не состоят из полного ответа.
music2myear
Лучший ответ для меня, хотя.
not2savvy
0

очень забавным может быть переключение обратно ... возможное решение состоит в том, чтобы сделать скрипт bash (названный w / символами целевого языка. например, англ). Второй трюк заключается в том, чтобы набрать «setxkbmap us; setxkbmap ru», тогда можно использовать историю bash, чтобы вернуть основной макет в консоль.

Z0dCHiY8
источник
1
Не могли бы вы уточнить (1), что вы говорите, и (2) как это отвечает на вопрос?
Скотт
ну ты переключил консоль на русский язык. как бы вы хотели переключить его обратно на английский 777 на самом деле, я не ответил на главный вопрос, я просто добавил несколько хитростей, чтобы избежать возможных проблем. Например, вы работаете без графического интерфейса и переключили консоль на русский язык, поэтому вы не можете набрать любую команду. :)
Z0dCHiY8
0

Лучше взломать, чтобы отслеживать udev и сбрасывать его автоматически, если клавиатура отключается. Это может понадобиться даже пользователям ноутбуков, поскольку они могут мгновенно отключиться. Я только что сделал репозиторий GitHub, чтобы сделать это.

Спенсер Труекс
источник