Ubuntuと互換性があることが証明されているROG G551JM Asusラップトップを購入しました。コンピュータのキーボードは、「パワーオフ」キーが通常のキーであり、通常は「終了」キーが見つかる場所に配置されているため、不適切に設計されています。そうでなければコンピューターは問題ないので、問題を何らかの形で「修正」できる、つまりPowerOffボタンを「End」キーに再マップできるという前提で購入しました。
PowerOffボタンが間違っている(ASUS G551JM):
通常、"End"キーがあります(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:
ダイアログボックスを永続的に無効にする方法があります。 電源ボタンのオプションを変更するにはどうすればよいですか? を参照してください。電源ボタンを無効にした後、それを他の何かに再割り当てできることを願っています。
Ubuntu 18.04 LTSおよびUbuntu 16.04 LTSのASUS N751JKで動作させることができました(どちらの場合もUnityデスクトップ環境と18.04のKDE Plasmaでテスト済み):
まず、"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"ボタンをクリックして、変更を有効にします。
インストール xdotool :
Sudo apt install xdotool
これにより、重要なイベントをトリガーできます。
次のステップは、トリガーを行うことです"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
これらの変更を適用するには、次を実行する必要があります。
Sudo acpid restart
Adam のおかげで、ユーザーがログインしたときに(システムの起動時に)acpid
を自動的に再起動できます。そのため、再起動後に毎回ターミナルで手動Sudo acpid restart
の代わりに次の行を追加します。
session optional pam_exec.so /usr/sbin/acpid restart
/etc/pam.d/common-session
ファイルの最後まで。
これでうまくいくはずです。
ターミナルに入る:
gsettings set org.gnome.settings-daemon.plugins.power button-power "nothing"