Ubuntu 18.04.1がインストールされた2つのシステムを入手しました。 2つは同様のハードウェアとソフトウェアの構成を持っていますが、一方はSBTNプレスイベントに一時停止し、もう一方は何もしません。私はgsettingsをチェックしましたが、どちらもorg.gnome.settings-daemon.plugins.power設定に似ています。 SBTNキーイベントに関連付けられている完全なキーバインディングを知りたいのですが。
これらを確認する方法と場所を教えてください。
また、キーボードのキープレスイベント(たとえば、一時停止/中断ボタンであるキーコード127)をSBTNボタン/ PWBNボタンに再マップするにはどうすればよいですか?
システムの一時停止アクションをキーボードの一時停止/中断ボタンにマップするにはどうすればよいですか?
PS:PWBNおよびSBTNのキーイベントをリッスンするためにacpi_listenを使用しており、キーが押されたことを確認できます。キーボードイベントを確認するために、xinputテストを使用しています。また、サスペンド後に同じキーを押してシステムをライブに戻す必要があります。
上記のアプローチの問題は、作成されたキーボードショートカットがセッションのユーザーに適用されることです。ボタンの割り当てをすべてのユーザーで永続的にしたいので、サスペンドを実行するためにパスワードを入力したくありませんでした。
@ BarBar1234のアプローチを拡張し、スリープボタンイベントではなく電源ボタンイベントで解決するため、投稿された質問に対する正確な解決策ではありませんが、以下はうまく機能しました。
$Sudo vi /etc/acpi/events/power
event=button/power
action=/etc/acpi/suspendsys.sh
$Sudo vi /etc/acpi/suspendsys.sh
#!/bin/bash
systemctl suspend
$Sudo chmod u+x /etc/acpi/suspendsys.sh
$Sudo systemctl restart acpid
まず、Sudo systemctl status acpid
またはSudo service acpid status
を使用して、他のマシンでacpiサービスが実行されているかどうかを確認します
その場合は、スリープ/サスペンドボタンを押しても反応しない別のマシンでsystemctl suspend
をテストし、エラーや警告が出力されるかどうかを確認します。
カスタムキーバインドをPause/Breakキーに設定する限り、スリープ/サスペンドボタンを再マッピングしようとすると、組み込みの以前のバインドをクリアする必要があるため、systemctl suspend
コマンドを実行するスクリプトにバインドします。スリープ/サスペンドキーがあれば、正しく思い出せます。つまり、スクリプトをsuspendme.sh
にします。
touch suspendme.sh
nano suspendme.sh
suspendme.shスクリプト内:
#!/bin/bash systemctl suspend
chmod u+x suspendme.sh
mv suspendme.sh /usr/local/bin/
そして、GnomeとUnityの両方で「システム設定」>「キーボード」>「ショートカット」>「カスタムショートカット」を使用して、ショートカットを設定できます。 +をクリックするだけで、コマンドがPauseキーで実行されるようにするには、suspendme.sh
を使用します。これは、/ usr/local/binにあり、パスの一部になるためです。