マイコミジャーナル

知りたい!を刺激する総合専門サイト


  1. パソコン

  2. アップル
  3. コラム
  4. OS X ハッキング!

【コラム】

OS X ハッキング!

179 "pmset"でMacBookを「冷凍睡眠」させる

2006/05/25

海上忍

スニーカーに仕込んだセンサーで運動量を測定、iPodにリアルタイム表示する「Nike+iPod」が発表されました。もう終了しちゃいましたが、米国の人気TVドラマ「SEX AND THE CITY」のミランダ用小ネタ(デジタルガジェット好きな女性なんです)にピッタリかも。ところで、このTVドラマ、歴代のPowerBookが登場するので、機会があれば是非。

さて、今回はパワーマネジメント用のコマンド「pmset」について。システム環境設定の「省エネルギー」ペインの代替として機能する一方、ペインには省略されている各種スイッチも用意されているので、pmsetでなければ変更できない設定もある。特にMacBook/MacBook Proユーザは、知っておいて損はないはず。なお、本稿ではMacBook 1.83GHz/Mac OS X 10.4.6をテスト機として使用しているので、念のため。

pmsetコマンドの使い方

pmsetコマンドは、パワーマネジメントに関する情報の取得と、その設定を変更する機能を持つ。情報の取得は一般ユーザの権限で可能だが、設定の変更には管理者権限が必要(sudoと組み合わせて実行)となるため、安易な利用は避けたいコマンドともいえる。

まずは情報の取得から。使い方は簡単、コマンドに「-g」オプションを付けて実行するだけでOK。有効なプロファイルやオプションの状態が表示されるはずなので、下表を参考に現在の設定を確認してみよう。

「pmset -g」で現在のパワーマネジメント関連の設定を確認したところ

表: pmsetコマンドで確認可能な省エネルギー関連機能のスイッチ

名称概要
Active Profiles有効なプロファイルが一覧表示される。現在選択されているプロファイル(省エネルギーペインの「設定対象」項目で選択されているもの)には「*」が付く
womp[Ethernetネットワーク管理者のアクセスによってスリープを解除]チェックボックスと連動
sms緊急モーションセンサーの設定(デフォルトは「1」)
acwake使用するバッテリの種類が変更されたときスリープから復帰するかどうか(デフォルトは「1」)
autorestart[停電後に自動的に再起動]チェックボックスと連動
halfdim[ディスプレイがスリープ状態になる前にディスプレイの明度を自動的に下げる]チェックボックスと連動
hibernatemodeスリープのモード(1=セーフスリープ、3=セーフスリープと通常のスリープを併用)
lidwake液晶パネルを開いたときにスリープから復帰するかどうかの設定(デフォルトは「1」)

緊急モーションセンサーを無効化する

いまやMacのノート型機に標準装備の緊急モーションセンサーシステム(SMS)だが、改良が施された最近の機種では軽微な動きに反応することは減ったようで、工場出荷時点の状態(SMS=有効)での使用が推奨されている。しかし、レコーディングソフトなど一部の市販アプリケーションでは、SMSの無効化を推奨していることも事実。センサーが機能するとディスクアクセスのパフォーマンスが低下するとされるので、外へ持ち歩くことが少ないのならば、SMSを無効にすることも1つの選択だろう。

SMSを無効化するには、以下の要領でpmsetコマンドを実行する。デフォルトの状態(SMS有効)に戻す場合には、引数の「0」を「1」にしてコマンドを再実行すればOKだ。

緊急モーションセンサーを無効化する(要管理者権限)

$ sudo pmset -a sms 0

スリープ解除の基準も、同様の方法で変更できる。デフォルトでは、液晶パネルを開くとスリープ解除してしまうが、以下のコマンドを実行することにより、キータイプしないかぎりスリープは解除されなくなる。

液晶パネルを開いてもスリープ解除しない設定に変更する(要管理者権限)

$ sudo pmset -a lidwake 0

MacBookを"冷凍睡眠"させる

2005年秋に発売開始されたPowerBook G4の最終モデルには、密かに「セーフスリープ」が採用されていた。この機能が有効なときには、スリープ開始時にメモリの内容がHDDへ書き出されるため、スリープの途中誤ってバッテリを取り外しても問題がない。スリープ中にバッテリが消費されることもない。従来のスリープがいつかは体力が尽きる"冬眠"だとすると、SFに出てくる"冷凍睡眠"のようなもので、HDDに問題が生じないかぎり作業の状態は半永久的に保存される。

MacBookにもこの機能は搭載されているが、デフォルトでは従来の"冬眠"スリープが適用される。これを"冷凍睡眠"に変更する場合には、以下のとおりコマンドを実行すればOKだ。デフォルトへ戻す場合には、引数を「3」にしてコマンドを再実行すること。なお、MacBookでは動作確認を行っているが、他機種では不明(そもそも正式サポートされていない機能だ)な点を理解したうえで利用してほしい。

セーフスリープを有効にする(要管理者権限)

$ sudo pmset -a hibernatemode 1

なお、システム環境設定の「セキュリティ」ペインで[安全な仮想メモリを使用]チェックボックスを有効にしている場合には、"冷凍睡眠"には「5」、"冬眠"には「7」を指定すること。「0」にすれば、セーフスリープの機能そのものが無効化されることも、覚えておいて損はないだろう。

パワーキーを押してセーフスリープを解除すると、このようなプログレスバーが現れる


画像で見るニュース(パソコン)

スペシャル

  • Windows 7 大百科
  • パソコン/ビジネスPC メールマガジン創刊のお知らせ

特別企画

注目情報


特設サイトの必見情報



注目サイト