Відповіді:
З терміналу
Англійська - іврит та навпаки 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-перемикач - це невеликий інструмент з відкритим кодом для виконання роботи. Щойно тестував його з 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 - грецька. Таким чином, встановлення поточного значення 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']
...
Для 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