명령 줄에서 키보드를 어떻게 변경합니까?


65

명령 줄에서 키보드 레이아웃을 어떻게 변경합니까? 예를 들어 영어에서 히브리어로 전환하고 싶습니다. 화면 모서리에 작은 아이콘이있는 lightdm에서 할 수 있습니다.

답변:


43

터미널에서

영어를 히브리어로, Alt+를 사용 하여 반대로Shift

setxkbmap -option grp:alt_shift_toggle us,il

이 명령으로 모든 로케일 별명을 볼 수 있습니다

cat /etc/locale.alias

매뉴얼의 setxkbmap에 대한 추가 정보

man setxkbmap


52

다음 위치에서 모든 다른 키맵을 찾을 수 있습니다.

/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

이것은 tty1, tty2 등에 영향을 주지만 X에는 영향을 미치지 않습니다. lightdm의 키보드 스위처가 작동하는 것과 같은 방식으로 X에서하고 싶습니다.
Eyal

나는 대답에 명령을 추가했는데 이것이 당신이 찾고 있었던 것입니까?
Dr_Bunsen

예! 감사. 또한 's'로 표시된로드 키를 언급하도록 답변을 업데이트 할 수 있습니까?
Eyal

2
그렇습니다. 감사합니다. 모두가 알 수 있도록 해결 된 것으로 표시하십시오.
Dr_Bunsen

레드햇 사용자를 위해, 다음은 가치있는 부분은 다음과 같습니다 /usr/share/X11/xkb/symbols/setxkbmap es
피터 Butkovic

13

우분투 13.10 이상

이것은 Gnome / Unity 키보드 레이아웃 표시기로 setxkbmap보다 잘 작동합니다.

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

0은 레이아웃 인덱스입니다 (0 기본 또는 최상위 레이아웃). 0부터 시작하여 색인이 생성 된 레이아웃.

쉽게 사용하려면 별명을 만드십시오.


2
이 답변은 실제로 지표를 변경하기 때문에 우수합니다. 내가 찾던 것.
Ainar-G

1
감사. 또한 여기에 답을 사용 : askubuntu.com/a/984981/6193
알렉세이에게

3
그놈 3.26에서는 작동하지 않습니다. "이 키는 더 이상 사용되지 않으며 무시됩니다"라고 표시되어 있습니다.
hugomg

@hugomg, 지금은 새로운 gnome에 아직 액세스 할 수 없습니다. 그러나 당신은 dconf-editor도구를 사용하여 시도 하고 검사 할 수 있습니다 /org/gnome/desktop/. 그들은 단지 이름을 바꿀 수 있습니다.
user.dz

12
setxkbmap us,il -option "lv3:ralt_alt,grp:alt_shift_toggle"

이 명령 만에 의해 통해 영어와 히브리어 사이를 전환 할 수 있도록 right alt+ shift과에서 당신을 구출 left alt+ shift.


3

표준 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_ledif 설정 을 변경하지 못하기 때문에 다른 솔루션보다 더 좋습니다 .


경고

귀하의 경우 ~/.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논의 좋아 여기 .


3

Gnome과 함께 18.04+ 에서 gsettings를 사용하면 키보드 레이아웃 추가를 추가하고 명령 행 또는 데스크탑의 키보드 레이아웃 스위처에서 이들 사이를 전환 할 수 있습니다 .

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')]

명령 줄에서 현재 키보드 레이아웃 변경 :

$ gsettings set org.gnome.desktop.input-sources current 1

우리는 지금 3 개의 다른 언어를 가지고 있으므로, 0에서 2까지 3 가지 중에서 선택할 수 있습니다. 1은 스페인어, 2는 노르웨이어, 3은 그리스어입니다. 따라서 current 를 1로 설정 하면 노르웨이어가 현재 키보드 레이아웃이됩니다.

4. 가능한 모든 키보드 레이아웃 나열 :

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

키보드 단축키로 키보드 레이아웃 변경 :

키보드 단축키는 키보드 레이아웃을 변경하기 위해 미리 구성되어 있습니다. 현재 단축키 :

$ 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']
...

이것은 가장 포괄적 인 대답입니다.
Julien Chappuis

1

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 에서 찾았습니다 .


-1

호기심 때문에 왜 그렇게하겠습니까? 간단한 키보드 단축키로 터미널을 열고 키보드 레이아웃을 전환하는 명령을 입력하는 이유는 무엇입니까! Ubuntu를 사용한다고 가정하면 Windows+Space


2
이것은 의견이 많고 대답이 적은 것 같습니다.
WinEunuuchs2Unix

스크린 세이버가 켜지 기 직전에 영어로 전환하여 다시 입력 할 때 쉽게 비밀번호를 입력하고 싶습니다.
Eyal

또한 사용자 정의 키보드 단축키를 만드는 데 유용합니다
Vassilis

가상 상자의 Ubuntu 16.04에서는 작동하지 않습니다.
Juha Untinen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.