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


116

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

/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'당신이해야하는 경우 스왑 (대신 할당하는 두 개의 키 Esc에 Caps 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

나는 대답 할 말 있어요,하지만 일반적인 방법으로는 스왑 Esc및 Ctrl에 다음과 같은 라인입니다 ~/.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.