로그인시 Xmodmap을 어떻게 설정합니까?


46

키보드 레이아웃이 나에게 적합하지 않으므로 xmodmap로그인시 실행 됩니다. 스크립트의 이름이 지정 .profile되고 정상적으로 실행되지만 Unity 인터페이스가 손상됩니다.

xmodmap내 로그인에서 실행되고 아무것도 끊지 않도록 줄 을 넣을 위치를 알고 싶습니다 .

나는 성공 하지 않고 이미 파일 .bash_login과 .bash_profile파일 에 넣으려고 시도했다 ( xmodmap키보드를 설정하지 않음).

내 옵션은 무엇입니까?


4
단일 인터페이스를 어떻게 깨뜨 립니까?
— djeikyb

xmodmap 실행 시간이 너무 길면 직접 수정하지 않은 모든 항목을 제거해야한다고 덧붙이고 싶습니다. 입력 파일의 변경 사항 만 유지하면 xmodmap이 훨씬 빠르게 실행됩니다.
— user1071575 1

답변:


29

명령을 시작 항목 ( ) 으로 번갈아 배치 할 수 있지만 올바른 시작 위치 xmodmap ~/.Xmodmap(시작시 변경 사항을 읽을 수 있도록)가 있습니다 ~/.xinitrc(아래 설명 참조 ). 나는 12.04 (그리고 아마도 12.10)에 대해이 두 대안이 당신이 로그인 한 후에 읽히는 방식으로 확실히 작동한다고 말할 수 있습니다 . ( Return to Right Shift로 변경했으며 비밀번호를 입력하고 로그인 한 후에 만 ​​변경 사항이 적용되었습니다).xmodmap/usr/bin/xmodmap /home/user/.Xmodmaplightdm

참고 : Xfce를 사용하는 경우 공식 Xfce FAQ에을 사용하는 대신 시작 항목을 만들어야 ~/.xinitrc할 수도 있으며 xmodmap변경 사항을 덮어 쓰지 않도록 실행을 지연해야 할 수도 있습니다 setxkbmap. 시작 항목에서이를 지연시키기 위해 지연을 사용할 수 있습니다.

/bin/bash -c "sleep 20; /usr/bin/xmodmap /home/$USER/.Xmodmap"

(시작 항목의 경우 절대 경로를 지정해야합니다)

setxkbmap키보드 레이아웃을 변경하기 위해 실행될 때마다 xmodmap ~/.Xmodmap터미널에서 다시 실행 해야합니다.

만들기 ~/.xinitrc

.xinitrc와 같은 홈 폴더에 파일을 만듭니다.

touch .xinitrc

그리고 그 안에 넣으십시오 :

xmodmap ~/.Xmodmap

귀하의 Xmodmap파일을해야 하지 의 항목이 xmodmap -e " "이 일시적으로 값을 설정하기위한 단말기에 사용되는 스타일. 이 형식의 항목이 있어야합니다.

keycode 65 = Tab
keycode 23 = Space

종종 다양한 어떤 혼란 X(예 : 파일 .xprofile, .xinitrc등) 시작시 읽기,하지만 .xinitrc반면 여전히 12.04에서 읽을 수 보인다 .Xmodmap또는 .xinputrc스스로 읽을 수 없습니다.


5
당신이 변경을 할 경우주의 xmodmap -e '..., 당신이 올바른 형식을 검색 할 수 있습니다 xmodmap .Xmodmap와 xmodmap -pke당신이 당신이 만든 변경에 적용되는 단지 선이 아래를 필터링 할 수 있습니다하지만 - 현재 매핑 출력하는 인쇄.
— Barry Kelly

1
이것은 나를 위해 작동하지 않았습니다. .Xmodmap 및 .xinitrc | 그런 다음 xmodmap ~ / .Xmodmap을 .xinitrc에 배치 한 다음 .Xmodmad 내부에 키 코드 166 = 이전 키 코드 167 = 다음
— miguelmorales85

우분투 17.10에서 .xinitrc가 더 이상 자동으로 시작되지 않는 것 같습니다. 이 명령으로 자동 실행해야합니다 : / 빈 / bash는 -c "잠 15 && /home/USERNAME/.xinitrc"
— thebunnyrules

9

ElementaryOS (GNOME 기반 창 관리자 사용)를 사용하고 있으며 xdg자동 시작 스크립트 를 사용하여 솔루션을 찾았습니다 . 많은 창 관리자가 xdg를 사용 하므로이 접근법은 다른 환경에서도 작동한다고 가정합니다. 최소한 그놈과 함께 작동해야합니다.

xdg ~/.config/autostart는 X 세션에서 로그인 할 때 스크립트를 실행 합니다. 로그인시 xmodmap 설정을로드하려면 다음 스크립트를 추가하십시오 ~/.config/autostart/xmodmap.desktop.

[Desktop Entry]
Name[en_US]=Xmodmap
Comment[en_US]=xmodmap ~/.Xmodmap
Exec=/usr/bin/xmodmap .Xmodmap
Icon=application-default-icon
X-GNOME-Autostart-enabled=true
Type=Application

그런 다음 로그 아웃하고 다시 로그인하면 Xmodmap 구성이로드 된 것입니다.

작동하지 않으면 터미널에서 xmodmap을 실행하여 xmodmap이 불평하는지 확인하십시오.

$ xmodmap ~/.Xmodmap

오류가 발생하지 않으면 다음 명령을 실행하여 디버깅하십시오.

$ sudo cat /var/log/syslog | grep -B 5 -A 5 xmodmap

Linux Mint 17 (Ubuntu 14.04.5 기반)에서 자동 시작 방법은 ~/.xinitrc파일 사용이 실패한 후 완벽하게 작동 했습니다. hxpax가 지적했듯이 Mint 사용자 (아마도 대부분 / 모든 데비안에서 파생 된 Linux)는 GUI 대화 상자를 사용하여로 자동 시작 항목을 추가 할 수 있습니다 Main Menu --> Preferences --> Startup Applications.
— mattst

2
우분투 작업 18.04
— TooTone

2

나는 지금 내 앞에 통일 인터페이스가 없지만 실행기에서 응용 프로그램 버튼을 클릭 한 다음 시작을 입력하십시오. Startup Applications (또는 이와 같은)라는 앱이 있어야합니다. 이것을 클릭하고 xmodmap 명령을 추가하십시오 (예 :) xmodmap /home/thiago/.Xmodmap.


나는 전에 그것을 시도했지만 그것은 나를 위해 작동하지 않았다. 나는 지금 창문에 있지만 나중에 다시 시도하고 그것이 작동하면 여기에보고합니다. thx
— Thiago Moraes

2
@Thiago Moraes이 기본 명령이 작동합니까 (그렇지 않은 경우 오류 게시)? xmodmap .Xmodmap
— djeikyb

+1이 작동합니다. 내가 .Xmodmap에 대한 전체 경로를 사용하는 더 명시합니다
— pwned

3
이 작동하지 않습니다. 저는 16.04
— miguelmorales85를

@ miguelmorales85 터미널에서 기본 명령이 작동합니까? 절대 경로를 사용해 보셨습니까?
— djeikyb

2

Mint 17/18에서 1 초 지연으로 스크립트를 시작 응용 프로그램에 넣을 수 있습니다.

Mint 18은 Ubuntu 1604에서 파생되었으므로 시작 응용 프로그램 관리 패널이 없으면 먼저 동일한 작업을 수행하거나 시작 응용 프로그램 관리 패널을 설치할 수 있다고 생각합니다.

도움이 되길 바랍니다.


+1 잘 작동합니다. 나는 Linux Mint 17을 지연시킬 필요가 없었다.
— mattst

@ mattst 그래, 지연은 선택 사항입니다.
— hxpax

이것이 작동하려면 5 초의 지연이 필요했습니다. 그래서 저는 다음 시작 쉘 스크립트를 사용 : gist.github.com/ghagerer/58212241e37229f9d6fe3a133b34be97
— 게르하르트 Hagerer

0

위의 제안 중 어느 것도 기뻐하지 않았습니다 (.bashrc 옵션은 모든 새로운 터미널에서 xmodmap을 실행하므로 실제로 실행되지 않았습니다)

xmodstartup.sh내 홈 폴더에 있는 스크립트를 터치했습니다

  #!/bin/bash           
  sleep 1;               
  echo "running xmodmap" 
  xmodmap ~/.Xmodmap     

그것을 저장 한 후 sudo chmod +x xmodstartup.sh

그저 실행 파일을 gnome의 "startup application preferences"창에 추가했습니다. 비쉬 보쉬, 영어 레이아웃 y Español on altgr:)


-1

xmodmap을 변경 ~/.bashrc하거나 변경 /etc/bash.bashrc하지 마십시오.

단점은 부팅 할 때마다 터미널을 열어 활성화시켜야한다는 것입니다.


3
이미하고 있지만 문제는 내가 여는 모든 터미널 에서이 명령이 실행된다는 것입니다. 그것은 단지 순간이지만 조금 성가 시며 실제 솔루션을 선호합니다. 어쨌든 thx
— Thiago Moraes
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.