Caps Lock 및 Esc를 영구적으로 전환하는 방법


116

Saucy에서 Caps LockEsc주요 기능을 어떻게 영구적으로 전환 할 수 있습니까? 이 명령을 사용하여 일시적으로 (재부팅 할 때까지) 수행 할 수 있습니다.

/usr/bin/setxkbmap -option "caps:swapescape"

시작 응용 프로그램으로 해당 명령을 추가하려고했지만 아무것도하지 않는 것 같습니다.


1
나는 그 명령을 내 ~/.bashrc시스템에 다시 시작할 때까지 유지하도록 명령을 넣었다 . ( ctrl:nocaps하지만 나를 위해 tmux)
opyate

2
@opyate 대화식 로그인 후 한 번만 실행되도록 ~ / .profile에 해당 명령을 넣었습니다.
suzanshakya

답변:


126

이 작업을 수행하는 다른 방법은 dconf-editor입니다. 이 방법에는의 추가 단계가 gnome-tweak-tool있지만 조정 도구에서 종속성을 가져 오지 않으려는 경우에 유용합니다.

이를 통해 caps:swapescape구문 을 사용 하고 자동으로 변경 사항을 영구적으로 만들 수 있습니다.

sudo apt-get install dconf-tools

를 시작한 후 dconf-editor,로 이동 >> 그놈 >> 바탕 화면 >> 입력 소스를 ORG

에 필요한 옵션을 추가하십시오 xkb-options. 옵션 문자열은 작은 따옴표로 묶고 쉼표로 구분됩니다. 끝에서 괄호를 삭제하지 않도록주의하십시오.

dconf-editor의 xkb 옵션

이 방법을 사용하면 시스템 설정 >> 텍스트 입력 에서 더 이상 사용할 수없는 대부분의 기존 xkb 옵션을 입력 할 수 있습니다 . 키보드 레이아웃 전환에 대한 설정은 예외입니다. 현재 버그로 인해 작동하지 않습니다.

옵션 및 구문 목록을 보려면 man 7 xkeyboard-config터미널에서 사용하십시오 .

사용할 수있는 또 다른 일반적인 옵션은 + + 가 X 세션을 종료 terminate:ctrl_alt_bksp하도록 허용 하는 것입니다 .ctrlaltbackspace


5
참조 +1 keyboard-config(7), 이것이 내가 찾던 것입니다.
ulidtko

61
dconf-editor를 설치하지 않고도 명령 줄에서이를 수행 할 수도 있습니다.dconf write /org/gnome/desktop/input-sources/xkb-options "['caps:escape']"
Pi Delport

4
이 설정은 사용자마다 다르기 때문에 'sudo'를 사용하여 위 명령을 실행하지 마십시오.
Bohr

11
당신이 사용해야합니다 'caps:swapescape'당신이해야하는 경우 스왑 (대신 할당하는 두 개의 키 EscCaps Lock).
thameera

1
또는 당신은 할 수 있습니다gsettings set org.gnome.desktop.input-sources xkb-options "['caps:escape']"
ACyclic

50

대부분의 Linux 배포판에서 작동하는 솔루션 :

setxkbmap -option caps:swapescape

다른 옵션도 가능합니다 :

  • caps:none 비활성화
  • caps:escape 추가 탈출을 위해
  • caps:super 추가 슈퍼 (윈도우) 키로 만듭니다.

시작시이 작업을~/.profile 수행하려면 대화식 로그인 후에 만 ​​실행되므로이를 입력해야합니다 .


1
이것은 Ubuntu 14.04, Unity에서 작동합니다.
차드

2
우분투 16.04에서도 저를 위해 일했습니다
Jesse Chan

4
18.04 현재, setxkbmap명령을 ~/.xsessionrc넣고 ~/.profile더 이상 로그인 /
레스토랑

2
@ Conrad.Dean 18.04 LTS를 기반으로하는 민트 19에서 이것을 사용하고 있습니다 : 여기에 문제가 없습니다. 설정은 유지되지 않지만 로그인시로드됩니다.
jojo

~/.profile이것을 넣기에 좋지 않은 곳입니다-그 파일은 모든 로그인 쉘에서 읽습니다. 같은 X11을 시작할 때 사용되는 파일에 넣어 ~/.xinitrc~/.xsession.
sarnold

39

좋아, gnome-tweak-tool을 사용 하여이 작업을 수행하는 방법을 찾았습니다.

터미널에서 실행

sudo apt-get install gnome-tweak-tool -y && gnome-tweak-tool

"타이핑-> Caps Lock 키 동작"에서 Caps Lock과 Esc를 바꾸는 옵션을 찾을 수 있습니다.


5
Ubuntu 14에서 창의 레이아웃은 매우 까다 롭지 만 여전히 작동합니다.
uvasal

1
예, gnome-tweak-tool기본 도구가 있으므로이 작업에는 사용해서는 안됩니다.
Léo Léopold Hertz 준영

이것이 지금까지 가장 좋은 솔루션입니다.
Jason McVetta

2
우분투> 18.04를 들어 그것은에서 찾을 수 있습니다 Keyboard & Mouse> Additional Layout Options>Caps Lock Behavior
Adracus

이것은 19.04에 나를 위해 일했습니다. 19.04에 유지할 솔루션 xmodmap또는 setxkbmap솔루션을 얻을 수 없었습니다 .
ahmorris

23

터미널 에서 xmodmap 을 사용 하여 다음 과 교환 할 수 있습니다 .Caps LockEsc

xmodmap -e "keycode 9 = Caps_Lock NoSymbol Caps_Lock"   #this will make Esc to act as Caps Lock
xmodmap -e "keycode 66 = Escape NoSymbol Escape"        #this will make Caps Lock to act as Esc

모든 세션에 대해이 변경 사항을 얻으려면 이전 명령을 실행 한 후 .xmodmap다음 명령을 사용하여 새 키 맵으로 불리는 파일을 만듭니다 .

xmodmap -pke > ~/.xmodmap

그런 다음, .xinitrc다음 행 / 명령을 포함하여 홈 디렉토리에 파일을 작성 하십시오.

xmodmap .xmodmap

6
우분투 14.04에서는 작동하지 않습니다. 또한 .xsessionrc 파일을 시도했지만 작동하지 않았습니다.
miguel.martin

설정을 어떻게 취소합니까?
hlin117

@ hlin117 ~/.xmodmap파일 의 내용을 지우고 ( > ~/.xmodmap터미널 에서만 실행 ) 세션을 다시 시작하십시오.
Radu Rădeanu

2
Ubuntu 14.04에서는 Escape가 Caps_Lock에 매핑되지만 Caps_Lock은 Escape에 매핑되지 않습니다.
user1691145

1
안녕, 나는 이것을하고 작동합니다. 그러나 esc가 capslock에 바인딩되는 것 외에도 caps-lock은 이제 caps-lock escape 에 모두 바인딩됩니다 . 데스크탑 환경이 여전히 어떻게 이것을 무시할 수 있습니까? 나는 KDE
xor

18

@Radu의 답변 과 비슷하지만 14.04와 호환됩니다 ( 이 답변 도 참조하십시오 ).

xmodmap -e "remove Lock = Caps_Lock"
xmodmap -e "keycode 9 = Caps_Lock NoSymbol Caps_Lock"
xmodmap -e "keycode 66 = Escape NoSymbol Escape"
xmodmap -pke > ~/.xmodmap

작동하지 않으면 다음을 교체하십시오.

xmodmap -e "remove Lock = Caps_Lock"

와:

xmodmap -e "clear Lock"

Linux Mint 17.1 (Ubuntu 기반)에서 작동하지 않습니다 :(
Jan Warchoł

3
작동하려면 "remove Lock = Caps_Lock"을 "clear lock"으로 변경해야합니다.
Sofia

13

화면 오른쪽 상단의 톱니 바퀴 아이콘으로 이동하여 다음을 수행하십시오.

  • 시스템 설정을 클릭하십시오
  • 키보드 레이아웃
  • 옵션 ... (오른쪽 하단)
  • Caps Lock 키 동작 (4 번째 아래)
  • 아래로 스크롤하여 "SSC 및 Caps Lock 교체"를 선택하십시오.

끝난!


Joe : Ubuntu에 오신 것을 환영합니다! ;-) 내 편집 내용 을 검토 하고 향후 답변의 가독성을 향상시키기 위해 편집 도움말 을 검토 할 수 있습니까
...-)

2
이것은 우분투와 민트에 가장 적합한 답변이어야합니다
prasad

여기에 언급 된 스크립트 업데이트 외에 다른 작업이 있습니까? 스크립트에서이 작업을 수행하는 것이 좋습니다.
벤 Creasy

7

터미널에서이 명령을 한 번 실행하십시오. dconfgnome 3과 함께 설치되어 있어야합니다.

dconf write "/org/gnome/desktop/input-sources/xkb-options" "['caps:swapescape']"

이 솔루션은 방금 RedHat Enterprise Linux 7에서 정상적으로 테스트되었습니다.
Chad Skeeters



2

나는 대답 할 말 있어요,하지만 일반적인 방법으로는 스왑 EscCtrl에 다음과 같은 라인입니다 ~/.Xmodmap파일 :

clear Lock
keysym Caps_Lock = Escape
keysym Escape = Caps_Lock
add Lock = Caps_Lock

이것은 가장 일반적인 배포판 (Ubuntu 및 Debian 제품군, Fedora 및 RH 제품군)의 모든 데스크탑 환경 (KDE, Gnome)에서 작동합니다.


우분투 16.04에서는 작동하지 않습니다. 더 자세히 설명해 주시겠습니까?
MaikoID

@MaikoID : 이것은 CapsLock과 Esc를 바꾸는 일반적인 방법입니다. Unity를 사용하는 최신 Ubuntu 버전은 많은 "정식적인 유닉스"문제를 겪고 있음을 이해합니다. 다른 모든 답변은 버전 별 또는 DE 별 (Unity) 방법을 다루는 것 같습니다. 그것은 가치가 무엇인지,이는 않습니다 제가 개인적으로 사용 쿠분투에 작동합니다.
dotancohen

2

Ubuntu 18.04 및 Gnome 3.30의 경우 다음과 같이 작동합니다.

gsettings set org.gnome.desktop.input-sources xkb-options "['caps:swapescape']"

아직 19.04에 노력하고 있습니다.
Exeleration-G

1

KDE GUI (그래픽 사용자 인터페이스)에서는 시스템 설정의 키보드 레이아웃에서 수행 할 수 있습니다. "입력 장치"를 클릭하십시오. 왼쪽 상단에서 키보드를 클릭하십시오. 그런 다음 "고급"탭을 클릭하고 "Caps Lock 키 동작"에서 "스위치 이스케이프 및 Capslock"을 선택하십시오.


이 질문에 대한 답변을 제공해 주셔서 감사합니다. "ESC 및 Caps Lock 교체"를 선택하면 원하는 결과로 조금 확장하기 위해 질문을 편집 할 수 있습니까? 가 선택되었습니다.
Phil UK

안녕하세요, Ask Ubuntu에 오신 것을 환영합니다! 현재 상태 에서이 답변은 실제로 완전하지 않으므로 삭제 위험이 있습니다. 답변 방법 도움말 페이지 읽은 다음 답변을 수정 하여보다 자세한 내용, 특히 OP의 질문을 해결하는 방법 을 포함하도록 답변을 수정 하십시오 . 또한, 둘러보기 를 읽고 배지가 작동하고 사이트 작동 방식에 대한 더 나은 아이디어를 얻으십시오. 주위에 당신을보고!
Kaz Wolfe

당신의 조언에 감사합니다. 이 편집이 당신이 원하는 것이기를 바랍니다.
farhad goodarzi

참고로, 귀하의 도메인과의 링크는 작동하지 않지만 (적어도 나에게는) 이전 IP 주소 도메인은 작동합니다.
Andrew T.

1

위의 "스위치 이스케이프 및 Capslock"응답이있는 "키보드 레이아웃"은 더 이상 Ubuntu 16.04 이상에서 유효하지 않습니다 (이전 버전입니까? 대답 : 권한 등의 허슬을 피하려면 su루트 암호로 입력하고 루트 암호를 입력 하기 전에 루트로 전환 하십시오. 그때:

    cd /etc/default/
    vim keyboard

거기 당신은 라인을 볼 수 있습니다 :

    XKBOPTIONS=""

다음으로 변경하십시오.

    XKBOPTIONS="caps:swapescape"

save로 vim을 종료하십시오 :

    :wqa

재부팅하십시오.

그리고 그것은 영원 할 것이라고 약속합니다. :)


0

참고 : 이것은 스왑이 아니며 caps lock 만 esc에 매핑합니다. (이것은 내 vim 유스 케이스에 충분했습니다.)

우분투 16:04 (i3 환경)의 경우 : 내용이있는 ~ / .xessionrc 파일 생성

xmodmap -e "clear lock" #disable caps lock switch
xmodmap -e "keysym Caps_Lock = Escape" #set caps_lock as escape

1
이 답변은 실제로 1/2로 인해 품질이 낮은 응답 대기열에 나타나는 OP에 대해 문의 한 문제의 1/2을 실제로 해결할 수 있습니다. 더 자세하게 확장하는 것을 고려할 수 있습니다. 어떻게 그리고 왜 작동할까요?
Geek
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.