Я хочу запустить команду оболочки или скрипт, который будет настраивать каждую из моих ящиков Ubuntu Precise, чтобы использовать раскладку клавиатуры Dvorak как макет по умолчанию (и только). С более ранними версиями я смог установить XKBVARIANT в / etc / default / keyboard, но, когда я делаю это изменение в Precise (и перезагружается), раскладка клавиатуры выглядит незатронутой (как в консоли, так и в gnome).
Я также попытался настроить XKBMODEL на pc105 и XKBLAYOUT, но это, похоже, не помогло.
Я знаю, что могу установить макет для gnome с помощью инструмента раскладки клавиатуры. но я хочу, чтобы изменения повлияли на консоль, и я хочу автоматизировать процесс. Как это сделать?
Изменить:
Чтобы уточнить, я хочу знать, как я могу изменить (используя только скрипт или командную строку) раскладку клавиатуры Dvorak по умолчанию и только раскладка клавиатуры для Gnome и консоли. Я хочу, чтобы это изменение было постоянным (выжить при перезагрузке), так же, как это происходит, когда изменение производится с помощью инструмента «Макет клавиатуры».
Изменить:
Позвольте мне сказать по-другому. Если бы я сам установил операционную систему (чего я не сделал, потому что ОС была установлена инфраструктурой виртуальной машины), я мог бы выбрать желаемую раскладку клавиатуры во время установки, и этот макет будет применяться постоянно, в масштабах всей системы. Как я могу изменить макет для отображения, как если бы я установил его во время процесса установки?
!!! Неоконченный ответ !!! (удалите это предупреждение, если знаете, как улучшить этот ответ)
Вы можете использовать команду setxkbmap
. Например,
setxkbmap de
устанавливает текущий макет в немецкий язык. С помощью
setxkbmap us
вы можете установить его в макете США.
Предупреждение: Я думаю, что эта команда сбрасывает и другие параметры языка. Например, значок языка исчезает, когда я запускаю эту команду. Поэтому также очень сложно вернуться к макету с латинскими буквами, если вы изменили на что-то вроде кириллицы, китайца, греческого языка и т. Д. Но команда setxkbmap
может быть хорошим советом продолжить исследование того, как переключать макет.
Если вы хотите изменить его в консолях tty (доступны через Ctrl + Alt + F1 или F2, ...), это:
loadkeys fr
для французского или для клавиатуры US:
loadkeys us
Хотя, я не уверен, что он работает для консолей, запущенных в X.org/graphical режиме (также как консольное приложение Unity / Gnome или Konsole из KDE). Вы должны попробовать.
Я тоже использую Ubuntu 12.04 и не согласен с этой проблемой. Используя ответ Джейсона Кумбса на свой вопрос в качестве отправной точки, я смог использовать / etc / default / keyboard для установки параметров клавиатуры (для меня, ctrl: nocaps и compose: menu), и они сохраняются при перезагрузках для консолей , Однако при перезагрузке параметр LightDM / Unity игнорируется. Чтобы уточнить, я не установил никаких настроек клавиатуры из Unity, поэтому Unity должен по умолчанию использовать настройки клавиатуры по умолчанию, но по какой-то причине он не использует параметры клавиатуры.
Я заметил, что если я запустил следующую команду после входа в систему, Unity вдруг начнет распознавать мои настройки по умолчанию для клавиатуры по умолчанию:
setxkbmap
Я не предоставляю никаких параметров setxkbmap, я просто вызываю его с помощью нет параметров, и он считывает и применяет карту по умолчанию для системы.
Чтобы это произошло автоматически, когда какой-либо пользователь входит в систему (по крайней мере, любой пользователь с рабочим столом Gnome или Unity), я сделал следующий setxkbmap. который я поместил в каталог / etc / xdg / autostart /:
[Desktop Entry] Type=Application TryExec=/usr/bin/setxkbmap Exec=/usr/bin/setxkbmap Hidden=false NoDisplay=true X-GNOME-Autostart-enabled=true Name[en_US]=System Keyboard Fix Name=System Keyboard Fix Comment[en_US]=Apply system-wide keyboard settings to the session Comment=Applies system-wide keyboard settings to session
Это исправление, похоже, делает параметры клавиатуры согласованными в масштабе всей системы, за исключением кратковременного периода, который LightDM контролирует моего экрана, прежде чем я войду.
!!! Неоконченный ответ !!! (удалите это предупреждение, если знаете, как улучшить этот ответ)
Вы можете использовать команду setxkbmap
. Например,
setxkbmap de
устанавливает текущий макет в немецкий язык. С помощью
setxkbmap us
вы можете установить его в макете США.
Предупреждение: Я думаю, что эта команда сбрасывает и другие параметры языка. Например, значок языка исчезает, когда я запускаю эту команду. Поэтому также очень сложно вернуться к макету с латинскими буквами, если вы изменили на что-то вроде кириллицы, китайца, греческого языка и т. Д. Но команда setxkbmap
может быть хорошим советом продолжить исследование того, как переключать макет.
Если вы хотите изменить его в консолях tty (доступны через Ctrl + Alt + F1 или F2, ...), это:
loadkeys fr
для французского или для клавиатуры US:
loadkeys us
Хотя, я не уверен, что он работает для консолей, запущенных в X.org/graphical режиме (также как консольное приложение Unity / Gnome или Konsole из KDE). Вы должны попробовать.
Я тоже использую Ubuntu 12.04 и не согласен с этой проблемой. Используя ответ Джейсона Кумбса на свой вопрос в качестве отправной точки, я смог использовать / etc / default / keyboard для установки параметров клавиатуры (для меня, ctrl: nocaps и compose: menu), и они сохраняются при перезагрузках для консолей , Однако при перезагрузке параметр LightDM / Unity игнорируется. Чтобы уточнить, я не установил никаких настроек клавиатуры из Unity, поэтому Unity должен по умолчанию использовать настройки клавиатуры по умолчанию, но по какой-то причине он не использует параметры клавиатуры.
Я заметил, что если я запустил следующую команду после входа в систему, Unity вдруг начнет распознавать мои настройки по умолчанию для клавиатуры по умолчанию:
setxkbmap
Я не предоставляю никаких параметров setxkbmap, я просто вызываю его с помощью нет параметров, и он считывает и применяет карту по умолчанию для системы.
Чтобы это произошло автоматически, когда какой-либо пользователь входит в систему (по крайней мере, любой пользователь с рабочим столом Gnome или Unity), я сделал следующий setxkbmap. который я поместил в каталог / etc / xdg / autostart /:
[Desktop Entry] Type=Application TryExec=/usr/bin/setxkbmap Exec=/usr/bin/setxkbmap Hidden=false NoDisplay=true X-GNOME-Autostart-enabled=true Name[en_US]=System Keyboard Fix Name=System Keyboard Fix Comment[en_US]=Apply system-wide keyboard settings to the session Comment=Applies system-wide keyboard settings to session
Это исправление, похоже, делает параметры клавиатуры согласованными в масштабе всей системы, за исключением кратковременного периода, который LightDM контролирует моего экрана, прежде чем я войду.
!!! Неоконченный ответ !!! (удалите это предупреждение, если знаете, как улучшить этот ответ)
Вы можете использовать команду setxkbmap
. Например,
setxkbmap de
устанавливает текущий макет в немецкий язык. С помощью
setxkbmap us
вы можете установить его в макете США.
Предупреждение: Я думаю, что эта команда сбрасывает и другие параметры языка. Например, значок языка исчезает, когда я запускаю эту команду. Поэтому также очень сложно вернуться к макету с латинскими буквами, если вы изменили на что-то вроде кириллицы, китайца, греческого языка и т. Д. Но команда setxkbmap
может быть хорошим советом продолжить исследование того, как переключать макет.
Если вы хотите изменить его в консолях tty (доступны через Ctrl + Alt + F1 или F2, ...), это:
loadkeys fr
для французского или для клавиатуры US:
loadkeys us
Хотя, я не уверен, что он работает для консолей, запущенных в X.org/graphical режиме (также как консольное приложение Unity / Gnome или Konsole из KDE). Вы должны попробовать.
Я тоже использую Ubuntu 12.04 и не согласен с этой проблемой. Используя ответ Джейсона Кумбса на свой вопрос в качестве отправной точки, я смог использовать / etc / default / keyboard для установки параметров клавиатуры (для меня, ctrl: nocaps и compose: menu), и они сохраняются при перезагрузках для консолей , Однако при перезагрузке параметр LightDM / Unity игнорируется. Чтобы уточнить, я не установил никаких настроек клавиатуры из Unity, поэтому Unity должен по умолчанию использовать настройки клавиатуры по умолчанию, но по какой-то причине он не использует параметры клавиатуры.
Я заметил, что если я запустил следующую команду после входа в систему, Unity вдруг начнет распознавать мои настройки по умолчанию для клавиатуры по умолчанию:
setxkbmap
Я не предоставляю никаких параметров setxkbmap, я просто вызываю его с помощью нет параметров, и он считывает и применяет карту по умолчанию для системы.
Чтобы это произошло автоматически, когда какой-либо пользователь входит в систему (по крайней мере, любой пользователь с рабочим столом Gnome или Unity), я сделал следующий setxkbmap. который я поместил в каталог / etc / xdg / autostart /:
[Desktop Entry] Type=Application TryExec=/usr/bin/setxkbmap Exec=/usr/bin/setxkbmap Hidden=false NoDisplay=true X-GNOME-Autostart-enabled=true Name[en_US]=System Keyboard Fix Name=System Keyboard Fix Comment[en_US]=Apply system-wide keyboard settings to the session Comment=Applies system-wide keyboard settings to session
Это исправление, похоже, делает параметры клавиатуры согласованными в масштабе всей системы, за исключением кратковременного периода, который LightDM контролирует моего экрана, прежде чем я войду.
!!! Неоконченный ответ !!! (удалите это предупреждение, если знаете, как улучшить этот ответ)
Вы можете использовать команду setxkbmap
. Например,
setxkbmap de
устанавливает текущий макет в немецкий язык. С помощью
setxkbmap us
вы можете установить его в макете США.
Предупреждение: Я думаю, что эта команда сбрасывает и другие параметры языка. Например, значок языка исчезает, когда я запускаю эту команду. Поэтому также очень сложно вернуться к макету с латинскими буквами, если вы изменили на что-то вроде кириллицы, китайца, греческого языка и т. Д. Но команда setxkbmap
может быть хорошим советом продолжить исследование того, как переключать макет.
Если вы хотите изменить его в консолях tty (доступны через Ctrl + Alt + F1 или F2, ...), это:
loadkeys fr
для французского или для клавиатуры US:
loadkeys us
Хотя, я не уверен, что он работает для консолей, запущенных в X.org/graphical режиме (также как консольное приложение Unity / Gnome или Konsole из KDE). Вы должны попробовать.
!!! Неоконченный ответ !!! (удалите это предупреждение, если знаете, как улучшить этот ответ)
Вы можете использовать команду setxkbmap
. Например,
setxkbmap de
устанавливает текущий макет в немецкий язык. С помощью
setxkbmap us
вы можете установить его в макете США.
Предупреждение: Я думаю, что эта команда сбрасывает и другие параметры языка. Например, значок языка исчезает, когда я запускаю эту команду. Поэтому также очень сложно вернуться к макету с латинскими буквами, если вы изменили на что-то вроде кириллицы, китайца, греческого языка и т. Д. Но команда setxkbmap
может быть хорошим советом продолжить исследование того, как переключать макет.
Если вы хотите изменить его в консолях tty (доступны через Ctrl + Alt + F1 или F2, ...), это:
loadkeys fr
для французского или для клавиатуры US:
loadkeys us
Хотя, я не уверен, что он работает для консолей, запущенных в X.org/graphical режиме (также как консольное приложение Unity / Gnome или Konsole из KDE). Вы должны попробовать.
Я тоже использую Ubuntu 12.04 и не согласен с этой проблемой. Используя ответ Джейсона Кумбса на свой вопрос в качестве отправной точки, я смог использовать / etc / default / keyboard для установки параметров клавиатуры (для меня, ctrl: nocaps и compose: menu), и они сохраняются при перезагрузках для консолей , Однако при перезагрузке параметр LightDM / Unity игнорируется. Чтобы уточнить, я не установил никаких настроек клавиатуры из Unity, поэтому Unity должен по умолчанию использовать настройки клавиатуры по умолчанию, но по какой-то причине он не использует параметры клавиатуры.
Я заметил, что если я запустил следующую команду после входа в систему, Unity вдруг начнет распознавать мои настройки по умолчанию для клавиатуры по умолчанию:
setxkbmap
Я не предоставляю никаких параметров setxkbmap, я просто вызываю его с помощью нет параметров, и он считывает и применяет карту по умолчанию для системы.
Чтобы это произошло автоматически, когда какой-либо пользователь входит в систему (по крайней мере, любой пользователь с рабочим столом Gnome или Unity), я сделал следующий setxkbmap. который я поместил в каталог / etc / xdg / autostart /:
[Desktop Entry] Type=Application TryExec=/usr/bin/setxkbmap Exec=/usr/bin/setxkbmap Hidden=false NoDisplay=true X-GNOME-Autostart-enabled=true Name[en_US]=System Keyboard Fix Name=System Keyboard Fix Comment[en_US]=Apply system-wide keyboard settings to the session Comment=Applies system-wide keyboard settings to session
Это исправление, похоже, делает параметры клавиатуры согласованными в масштабе всей системы, за исключением кратковременного периода, который LightDM контролирует моего экрана, прежде чем я войду.
!!! Неоконченный ответ !!! (удалите это предупреждение, если знаете, как улучшить этот ответ)
Вы можете использовать команду setxkbmap
. Например,
setxkbmap de
устанавливает текущий макет в немецкий язык. С помощью
setxkbmap us
вы можете установить его в макете США.
Предупреждение: Я думаю, что эта команда сбрасывает и другие параметры языка. Например, значок языка исчезает, когда я запускаю эту команду. Поэтому также очень сложно вернуться к макету с латинскими буквами, если вы изменили на что-то вроде кириллицы, китайца, греческого языка и т. Д. Но команда setxkbmap
может быть хорошим советом продолжить исследование того, как переключать макет.
Если вы хотите изменить его в консолях tty (доступны через Ctrl + Alt + F1 или F2, ...), это:
loadkeys fr
для французского или для клавиатуры US:
loadkeys us
Хотя, я не уверен, что он работает для консолей, запущенных в X.org/graphical режиме (также как консольное приложение Unity / Gnome или Konsole из KDE). Вы должны попробовать.
!!! Неоконченный ответ !!! (удалите это предупреждение, если знаете, как улучшить этот ответ)
Вы можете использовать команду setxkbmap
. Например,
setxkbmap de
устанавливает текущий макет в немецкий язык. С помощью
setxkbmap us
вы можете установить его в макете США.
Предупреждение: Я думаю, что эта команда сбрасывает и другие параметры языка. Например, значок языка исчезает, когда я запускаю эту команду. Поэтому также очень сложно вернуться к макету с латинскими буквами, если вы изменили на что-то вроде кириллицы, китайца, греческого языка и т. Д. Но команда setxkbmap
может быть хорошим советом продолжить исследование того, как переключать макет.
Если вы хотите изменить его в консолях tty (доступны через Ctrl + Alt + F1 или F2, ...), это:
loadkeys fr
для французского или для клавиатуры US:
loadkeys us
Хотя, я не уверен, что он работает для консолей, запущенных в X.org/graphical режиме (также как консольное приложение Unity / Gnome или Konsole из KDE). Вы должны попробовать.
Я тоже использую Ubuntu 12.04 и не согласен с этой проблемой. Используя ответ Джейсона Кумбса на свой вопрос в качестве отправной точки, я смог использовать / etc / default / keyboard для установки параметров клавиатуры (для меня, ctrl: nocaps и compose: menu), и они сохраняются при перезагрузках для консолей , Однако при перезагрузке параметр LightDM / Unity игнорируется. Чтобы уточнить, я не установил никаких настроек клавиатуры из Unity, поэтому Unity должен по умолчанию использовать настройки клавиатуры по умолчанию, но по какой-то причине он не использует параметры клавиатуры.
Я заметил, что если я запустил следующую команду после входа в систему, Unity вдруг начнет распознавать мои настройки по умолчанию для клавиатуры по умолчанию:
setxkbmap
Я не предоставляю никаких параметров setxkbmap, я просто вызываю его с помощью нет параметров, и он считывает и применяет карту по умолчанию для системы.
Чтобы это произошло автоматически, когда какой-либо пользователь входит в систему (по крайней мере, любой пользователь с рабочим столом Gnome или Unity), я сделал следующий setxkbmap. который я поместил в каталог / etc / xdg / autostart /:
[Desktop Entry] Type=Application TryExec=/usr/bin/setxkbmap Exec=/usr/bin/setxkbmap Hidden=false NoDisplay=true X-GNOME-Autostart-enabled=true Name[en_US]=System Keyboard Fix Name=System Keyboard Fix Comment[en_US]=Apply system-wide keyboard settings to the session Comment=Applies system-wide keyboard settings to session
Это исправление, похоже, делает параметры клавиатуры согласованными в масштабе всей системы, за исключением кратковременного периода, который LightDM контролирует моего экрана, прежде чем я войду.
!!! Неоконченный ответ !!! (удалите это предупреждение, если знаете, как улучшить этот ответ)
Вы можете использовать команду setxkbmap
. Например,
setxkbmap de
устанавливает текущий макет в немецкий язык. С помощью
setxkbmap us
вы можете установить его в макете США.
Предупреждение: Я думаю, что эта команда сбрасывает и другие параметры языка. Например, значок языка исчезает, когда я запускаю эту команду. Поэтому также очень сложно вернуться к макету с латинскими буквами, если вы изменили на что-то вроде кириллицы, китайца, греческого языка и т. Д. Но команда setxkbmap
может быть хорошим советом продолжить исследование того, как переключать макет.
Если вы хотите изменить его в консолях tty (доступны через Ctrl + Alt + F1 или F2, ...), это:
loadkeys fr
для французского или для клавиатуры US:
loadkeys us
Хотя, я не уверен, что он работает для консолей, запущенных в X.org/graphical режиме (также как консольное приложение Unity / Gnome или Konsole из KDE). Вы должны попробовать.
sudo dpkg-reconfigure console-data
. Если вы добавляете новый язык в, скажем, систему только на английском языке, возможно, вам придется запустить sudo dpkg-reconfigure locales
раньше (и, возможно, отредактировать /var/lib/locales/supported.d/local
, см. этот пост )
– maximd
26 May 2012 в 12:50
set-language-env -l fr
(для французского), см. Man-страницу set-language-env
– maximd
26 May 2012 в 13:06