Ubuntuがサスペンドから勝手に復帰する問題の解決!

最終更新日

Ubuntuが勝手にサスペンドから復帰ししてしまう問題,解決!

やり方

1) まずは問題の箇所を確認.

cat /proc/acpi/wakeup | grep enable

するとこういう出力が出る.

USB0 S3 *enabled pci:0000:00:1d.0
USB1 S3 *enabled pci:0000:00:1d.1
USB2 S3 *enabled pci:0000:00:1d.2
USB3 S3 *enabled pci:0000:00:1d.3
USBE S3 *enabled pci:0000:00:1d.7

僕の場合はこうだった

XHC S3 *enabled pci:0000:00:14.0

2) 次に問題を修正

su にログイン.

sudo su

パスワードを入力します.次に以下を入力

echo ‘disabled’ > /sys/bus/pci/devices/0000:00:14.0/power/wakeup

数値の部分が重要!最初のコマンドで確認した問題箇所の数値と同じものを入力します.以降の作業は su である必要がないので su からログアウト

exit

3) 最後に変更を永続化

/etc/rc.local にこれを書く

#!/bin/sh
echo XHC > /proc/acpi/wakeup

やり方は何でもいいけど,例えば:

# make file if not exist
sudo touch /etc/rc.local

# open file with Gedit
sudo gedit /etc/rc.local

# write in file, then save and close

そしたら /etc/rc.local に実行権限を付与する.

sudo chmod u+x /etc/rc.local
解説

基本的なことはこことか こことか ここに書いてある.というかこの記事の内容もこれらの記事たちとほとんど同じ.

僕が詰まったのは最後の3番目のステップ.Ubuntuでは /etc/rc.local を標準で持ってない (そんなファイルはない) (と思う…).例えばここにそう書いてある.なので自分で作らなきゃいけないんだけど,そこで困った.参考サイトに書かれてるとおりに

echo XHC > /proc/acpi/wakeup

だけを書いてもダメなんです! /etc/rc.local には1行目に,こういうおまじない

#!/bin/sh

を書かなきゃならない.それを分かるまでに結構調べました… これを見ると /etc/rc.local にそのおまじないを書いたほうが良さそうなことが読み取れて,ここを見るとこのおまじないはコメントではなくて重要な意味を持ってるから省略しちゃダメだと分かる.

というわけで,全くの無から /etc/rc.local を作成するときは,必要なさそうに見える1行目のコメント (じゃなくてShebang というらしいけど) も書かねばならないのでした.

コメントを残す

%d人のブロガーが「いいね」をつけました。