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


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.