로그인시 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 .Xmodmapxmodmap -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.