web-dev-qa-db-ja.com

キーボードの«PowerOff»キーのマッピングを変更する方法は?

Ubuntuと互換性があることが証明されているROG G551JM Asusラップトップを購入しました。コンピュータのキーボードは、「パワーオフ」キーが通常のキーであり、通常は「終了」キーが見つかる場所に配置されているため、不適切に設計されています。そうでなければコンピューターは問題ないので、問題を何らかの形で「修正」できる、つまりPowerOffボタンを「End」キーに再マップできるという前提で購入しました。

PowerOffボタンが間違っている(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:

ダイアログボックスを永続的に無効にする方法があります。 電源ボタンのオプションを変更するにはどうすればよいですか? を参照してください。電源ボタンを無効にした後、それを他の何かに再割り当てできることを願っています。

15
Adam Ryczkowski

Ubuntu 18.04 LTSおよびUbuntu 16.04 LTSのASUS N751JKで動作させることができました(どちらの場合もUnityデスクトップ環境と18.04のKDE Plasmaでテスト済み):

  1. まず、"Power Off"ボタンのアクションをnothingに設定します。

    Unity

    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プロパティを変更します(説明のように here )。動作させるには再起動またはログアウトが必要です。

    KDE

    "System Settings"に移動し、"Hardware"セクションの"Power Management"タブを選択して、"Energy Saving"を選択します。タブ、スクロールダウン、"電源ボタンが押されたとき"ドロップダウンリストを検索し、その値を"Do nothing"に変更します。 "Apply"ボタンをクリックして、変更を有効にします。

    Energy saving

  2. インストール xdotool

    Sudo apt install xdotool
    

    これにより、重要なイベントをトリガーできます。

  3. 次のステップは、トリガーを行うことです"End"キーを押してオン"Power off"ボタンを押します。

    Ubuntu 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
    

    Ubuntu 16.04

    "Power Off"ボタンのイベントの処理に使用されるバックアップ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ファイルの最後まで。

10
Ezze

これでうまくいくはずです。

ターミナルに入る:

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