ubuntuをスリープしてもマウス触っただけで復帰してしまう

ubuntu18.04をスリープしたのにマウスをちょっと触っただけで復帰してしまってうざい。。。

調べると以下のサイトで解決法を見つけた。

Wake up from suspend using wireless USB keyboard or mouse (for any Linux Distro) - Ask Ubuntu

解決法

まず以下のコマンドでスリープから復帰するデバイスを見つける。

grep . /sys/bus/usb/devices/*/power/wakeup

自分の環境だと以下のとおり、1-41-7がenabledになってた。

/sys/bus/usb/devices/1-4/power/wakeup:enabled
/sys/bus/usb/devices/1-7/power/wakeup:enabled
/sys/bus/usb/devices/1-8/power/wakeup:disabled
/sys/bus/usb/devices/usb1/power/wakeup:disabled
/sys/bus/usb/devices/usb2/power/wakeup:disabled
/sys/bus/usb/devices/usb3/power/wakeup:disabled
/sys/bus/usb/devices/usb4/power/wakeup:disabled

1-4とか1-7とかってなんやねんということで、以下のコマンドで調べる。

grep . /sys/bus/usb/devices/*/product

以下のとおり、キーボートとマウスだった。

/sys/bus/usb/devices/1-4/product:2.4G Keyboard Mouse
/sys/bus/usb/devices/1-7/product:USB Keyboard
...

/sys/bus/usb/devices/*/power/wakeupは普通にエディタを使ってやれば編集できるので、vimとかを使って enabledからdisabledに変更してやれば良い(sudoで編集する必要あり)。

実際1-41-7disabledに変更してスリープしたらキーボートやマウスを触っても復帰しなくなった。 この状態で復帰する際は電源ボタンを押してやればOK。

恒久的にマウスで復旧しないようにするには

上でdisabledにしても再起動するとenabledに戻ってしまう。。。 ならば起動時に自動でdisabledにするようにしてしまおう。

以下のようにして起動時に自動で実行するコマンドの設定ファイル/etc/rc.localを作成(既にある場合は編集)。

sudo vim /etc/rc.local

echo disabled > /sys/bus/usb/devices/[disabledにしたいデバイス]/power/wakeupを追加。

自分の環境では以下のように書いた。

#!/bin/bash

echo disabled > /sys/bus/usb/devices/1-4/power/wakeup
echo disabled > /sys/bus/usb/devices/1-7/power/wakeup

以下のコマンドで実行権限を付与。

sudo chmod +x /etc/rc.local

※既に/etc/rc.localがあった場合は#!/bin/bashを書く必要もchmod +xを実行する必要もない。

これで再起動してもキーボートやマウスで復帰しなくなったb