키보드에서«PowerOff»키의 매핑을 변경하는 방법은 무엇입니까?


15

우분투 호환으로 입증 된 ROG G551JM Asus 노트북을 구입했습니다. 컴퓨터 키보드는 일반적으로 "종료"키를 찾는 자리에 놓인 일반 키인 "전원 끄기"키로 잘못 설계되었습니다. 그렇지 않으면 컴퓨터가 문제가되지 않기 때문에 문제를 "수정"할 수 있다고 가정합니다. 즉, 전원 끄기 버튼을 "종료"키에 다시 매핑합니다.

전원 끄기 버튼이 잘못되었습니다 (ASUS G551JM). ASUS G551JM

일반적으로«End»키 (ASUS N56VZ)가 있습니다. ASUS N56VZ

은 "POWEROFF"버튼 이벤트가 제조된다 /dev/input/event2: Power Button(보고 한 장치 evtest코드 116) (상기 실시 예 선 evtest: Event: time 1422895638.246142, type 1 (EV_KEY), code 116 (KEY_POWER), value 1)

이 키는 X 서버에서도 볼 수 있으며 궁극적으로 Ubuntu는 키 누름을 키로 식별 PowerOff하고 실제로 컴퓨터를 끄 겠다는 의지를 확인하는 "Goodbye user Adam ..."반투명 대화 상자를 시작합니다.

문제는 확인 대화 상자를 표시하는 루틴과 함께 PowerOff 키 누름을 바인딩하는 바인딩이 dconf-editor에서 보이지 않으며 어디서 찾을 지에 대한 힌트가 없다는 것입니다.

누구나 PowerOff 키의 기본 바인딩을 변경하거나 삭제할 위치를 알려줄 수 있습니까 ???

쉬운 일이되어야합니다.


21.IX.2016 편집 :

대화 상자를 영구적으로 비활성화하는 방법이 있습니다. 전원 버튼 옵션을 어떻게 수정합니까?를 참조하십시오 . . 전원 버튼을 비활성화 한 후 다른 버튼에 다시 할당 할 수 있기를 바랍니다.


문제를 해결 했습니까? 여기에 답변을 게시하면 매우 유용합니다.
Ezze

1
@Ezze 실제로는 아닙니다 (이 문제 때문에 다른 컴퓨터를 사용하고 있습니다). 그러나 키를 누른 후 생성 된 종료 대화 상자를 영구적으로 비활성화했습니다. 좋아요, 답변을 업데이트하겠습니다.
Adam Ryczkowski

Unix & Linux StackExchange에 대한 관련 질문
Ezze

2
나는 그 키를 제거하기 위해 ASUS를 너무 싫어. Home그리고 End내가 가장을 사용하는 "메타"키입니다 ... :(
마티유

답변:


10

Ubuntu 18.04 LTS 및 Ubuntu 16.04 LTS의 ASUS N751JK에서 작동시킬 수있었습니다 (두 경우 모두 Unity 데스크톱 환경과 18.04의 KDE 플라즈마로 테스트).

  1. 우선 "전원 끄기" 버튼의 동작을로 설정하십시오 nothing.

    통일

    Johano Fierra의 답변에서 언급했듯이 :

    gsettings set org.gnome.settings-daemon.plugins.power button-power "nothing"
    

    또는 대안으로 ( 여기에 설명 된 것처럼 ) 속성 을 변경 sudo apt install dconf-tools하는 dconf-editor데 사용 합니다 . 다시 부팅하거나 로그 아웃해야 작동합니다.org.gnome.settings-daemon.plugins.power

    KDE

    로 이동 "시스템 설정" 을 선택 "전원 관리" 에서 탭 "하드웨어" 섹션을 다음 선택 "에너지 절약" 탭을 찾아 아래로 스크롤 "전원 버튼을 누를 때" 드롭 다운 목록을하고 해당 값을 변경 "마 아무것도" . 변경 사항을 적용 하려면 "적용" 버튼을 클릭하십시오 .

    에너지 절약

  2. xdotool을 설치 하십시오 .

    sudo apt install xdotool
    

    이를 통해 주요 이벤트를 트리거 할 수 있습니다.

  3. 다음 단계는 트리거이다 "끝" 키를 눌러 "전원 끄기" 버튼을 누릅니다.

    우분투 18.04

    /etc/acpi/events/power다음 내용으로 파일을 작성 하십시오.

    event=button/power
    action=/etc/acpi/power.sh "%e"
    

    /etc/acpi/power.sh다음 내용으로 스크립트를 작성 하십시오.

    #!/bin/sh
    xdotool key End
    

    실행 권한을 추가하십시오.

    sudo chmod +x /etc/acpi/power.sh
    

    우분투 16.04

    "전원 끄기" 버튼 이벤트 를 처리하는 데 사용되는 백업 ACPI 스크립트 :

    sudo cp /etc/acpi/powerbtn.sh /etc/acpi/powerbtn.sh.backup
    

    그런 다음 편집하여 다음을 찾으십시오.

    # If logind is running, it already handles power button presses; desktop
    # environments put inhibitors to logind if they want to handle the key
    # themselves.
    

    아래 코드를 다음과 같이 수정하십시오.

    if pidof systemd-logind >/dev/null; then
        xdotool key End
        exit 0
    fi
    
  4. 이러한 변경 사항을 적용하려면 다음을 실행해야합니다.

    sudo acpid restart
    

    Adam 덕분에 acpid사용자가 로그인 할 때 (시스템 부팅시) 자동으로 다시 시작할 수 있습니다 . 따라서 sudo acpid restart재부팅 후 매번 터미널에서 수동 대신 다음 줄을 추가하십시오.

    session optional    pam_exec.so /usr/sbin/acpid restart
    

    /etc/pam.d/common-session파일 끝까지 .


sudo acpid reload다시 시작 하는 대신 어떻습니까? 작동합니까?
바이트 사령관

1
acpid restart문제를 해결하는 것은 session optional pam_exec.so /usr/sbin/acpid restart의 끝에 줄을 추가하는 것 입니다 /etc/pam.d/common-session. 이렇게하면 사용자 로그인 직후에 acpid가 다시 시작되며 이것은 나에게 충분합니다. 마침내 문제가 해결되었습니다!
Adam Ryczkowski

1
@rtindru gsettings set대신 을 사용해야 합니다 gsettings get.
Ezze

1
Kubuntu 18.04 에서이 작업을 수행하려면 power.sh에 실행 권한을 부여해야했습니다. sudo chmod +x /etc/acpi/power.sh@ Ezze, 아마도 이것을 포함하도록 답변을 업데이트 할 수 있습니다.
LGenzelis

1
@LGenzelis, 감사합니다. 답변을 업데이트했습니다.
Ezze

4

이것은 트릭을해야합니다.

터미널에 입력하십시오 :

gsettings set org.gnome.settings-daemon.plugins.power button-power "nothing"

2
예!!! 그러나 또 다른 것이 있습니다 :«end»키에 매핑하는 방법?
Adam Ryczkowski

1
여기에 미지의 영역을 입력하지만 xmodmap 파일 구성 ($ {HOME} /. xmodmap)을 만든 다음 키 코드 116 = End 또는 터미널에 입력하십시오. xmodmap -e "keycode 116 = End "
Johano Fierra

불행히도 도움이되지 않습니다. xev명령에 표시되는 "전원 끄기"버튼 캡처를 비활성화 xmodmap하고 다시 매핑 하지 못하게 합니다. 그런데 "전원 끄기"버튼의 키 코드가 다를 수 있습니다 (ASUS N751JK의 경우 124).
Ezze

버튼을 캡처하는 기능을 비활성화해서는 안되지만 ... 어떻습니까? 터미널에 입력 : gsettings set org.gnome.settings-daemon.plugins.power button-power "shutdown"(버튼을 누르면 캡처 됨) /etc/acpi/events/powerbtn행 을 편집 하고 주석 처리 #action=/etc/acpi/powerbtn.sh한 다음 터미널에 입력하십시오. xmodmap -e "keycode 124 = End"이렇게하면 전원 버튼이 아무것도하지 않고 동시에 종료 키에 매핑해야합니다.
Johano Fierra

1
"전원 끄기"이벤트가 powerbtn.sh스크립트뿐만 아니라 (적어도) systemd-logind서비스 에 의해 처리되도록하는 것도 도움이되지 않습니다 (아마도 button-power답에서 언급 한 설정을 사용함 ). 찾을 수있는 if pidof systemd-logind >/dev/null; then... exit 0라인은 데스크탑 세션이 활성화 될 때 powerbtn.sh스크립트 systemd-logind가 "전원 끄기"이벤트를 자체적으로 처리 할 수 있음을 의미합니다 . button-power값을 변경해도 키를 캡처하는 기능에는 영향을 미치지 않지만 일부 프로세스 ( systemd-logind또는 다른 프로세스)에 의해 이미 캡처되었습니다 .
Ezze
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.