Carpe Diem

  Top > スポンサー広告> Tips > 起動時にシェルスクリプトを実行したいとき  

スポンサーサイト

-- - --/-- [--] - --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

起動時にシェルスクリプトを実行したいとき

2011 - 05/08 [Sun] - 21:32

基本的に使うフォルダは

/etc/init.d/

ここに適当な名前でシェルスクリプトを作る。

今回はサスペンドから復帰するときUSB入力を認識してくれなかったのでその設定を
$ cat /proc/acpi/wakeup

で見れるけど、USB系が disable状態。

Device S-state Status Sysfs node
PS2K S3 disabled pnp:00:03
PS2M S3 disabled pnp:00:04
BR20 S3 disabled
P0P1 S4 disabled
P0P2 S4 disabled
P0P3 S4 disabled
P0P4 S4 disabled
PEX0 S4 disabled pci:0000:00:1c.0
PEX1 S4 disabled pci:0000:00:1c.1
PEX2 S4 disabled
PEX3 S4 disabled
PEX4 S4 disabled
PEX5 S4 disabled
PEX6 S4 disabled
PEX7 S4 disabled
EUSB S3 enabled pci:0000:00:1d.0
USBE S3 enabled pci:0000:00:1a.0
PWRB S3 *enabled


※どの部品(USBとか)がどれに対応しているかは

$ lspci
で確認できます。


さて、これをenabledにするには

$ echo "USBE" > /proc/acpi/wakeup


とすればいいんだけど(実際この状態ではキーボード入力でサスペンドから復帰した)、実はこれ再起動すると元のdisabledに戻ってしまう。そこで起動時のスクリプトで変更してやる必要がでたわけです。

ではやり方ですが。

最初に言ったように、まずは

/etc/init.d/
に移動。ここに適当な名前でシェルスクリプトを作る。
今回は

wake.sh
とします。次に中身は

#!/bin/bash
echo "USBE" > /proc/acpi/wakeup


という感じ。さっきの入力のまんまです。

保存後はちょっと設定をいじります。まずは

$ sudo update-rc.d wake.sh defaults

で、設定の更新をしたことを有効にして、次にwake.shの実行権限がまだないので

$ sudo chmod +x wake.sh

これでwake.shに実行権限が有効になります。ちなみにググってみると

$ sudo chmod a+x

と書く人もいますが、a(ugo)をつけない場合([Who]部分がない場合)、デフォルトでa+xと同じになるようです。

これで再起動後もサスペンド→キーボード入力で復帰できるようになりました。

さぁ次はこれのeth版なんだけど、そもそもノードリストに載ってないのはなぜ?どうしようもないんだけど。


ソース:
Wake up using USB Keyboard or mouse?



追記:
ふぉあが薦めるこのやり方の方がスマートかも

UbuntuなどDebian系ディストリでは

/etc/network/interfaces


ETHTOOL_OPTS="wol g"

を追加して、デバイスを再起動すればOK

ソース:
Wake on LANを設定する【その2】

コメントの投稿





管理者にだけ表示を許可する

トラックバック:

http://christina04.blog.fc2.com/tb.php/6-8f15a093

 | ホーム | 

プロフィール

Cicatrice

Author:Cicatrice
備忘録

検索フォーム

カテゴリ

最新記事

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。