![]() |
|---|
本連載「Apple Geeks」は、Apple製ハードウェア/ソフトウェア、またこれらの中核をなすOS X/iOSに関する解説を、余すことなくお贈りする連載です(連載目次はこちら)。
UNIX使い向けを始め、Apple関連テクノロジー情報を知りつくしたいユーザーに役立つ情報を提供します。
OS Xには多数のUNIXベースのコマンドが収録されている。前回は「scutil」、「hostinfo」、「launchctl」などの便利なコマンドを紹介した。今週も引き続き「ioreg」、「afplay」の2種類のコマンドを紹介していく。
内蔵バッテリーのヘタリ具合を計る「ioreg」
普段何気なく利用している、メニューバー右端の領域「メニューエクストラ」。Wi-Fiの状態やスピーカーのボリュームといった”ステータス情報を一目で把握する”目的に加え、Spotlightやファストユーザスイッチなどの”必要なときすぐ呼び出したい”機能のアクセスポイントとして活用されている。
内蔵バッテリーやBluetoothマウスなど、バッテリー残量の確認にもメニューエクストラは活用されるが、そこに表示される情報は、システムが把握している情報の一部に過ぎない。「アプリケーション」の「ユーティリティ」内にある「システムプロファイラ」を起動すれば、さらに詳細な情報を確認できるが、そこにも掲載されていない情報はある。
OS Xの場合、それらハードウェア寄りのシステム情報は「IOKit」に集約されている。いわばシステム情報の源泉とでもいえる存在だが、API層なだけに通常の方法ではアクセスが難しい。
そこで利用したいのが「ioreg」。このコマンドを利用すれば、IOKitの情報にアクセスできるのだ。ただし、レジストリツリーの形で表現されるうえに、デバイスクラスなど開発者でも完全には把握していない情報のオンパレードで、コツを知らないかぎり使いこなすのは難しい。ここでは、内蔵バッテリーのステータス情報を例に、その使い方を解説してみよう。
まず、MacBook Proなどに使われる内蔵バッテリーは、デバイスクラス「AppleSmartBattery」としてレジストリツリーに表示される。通常このデバイスクラス名は、Developer Toolsに付属のドキュメントを参照しなければ分からないが、筆者はioregコマンドの出力を「battery」という文字列でgrepすることでアタリを付けた。どうやらデバイスクラス名は「AppleSmartBattery」でよさそうだ。
![]() |
|---|
| ioregコマンドで出力される情報は膨大で分析しきれないため、最初にデバイスクラスなどでアタリをつけること |
デバイスクラス名が分かれば、あとは簡単。オプションを「-c AppleSmartBattery」として情報を絞り込み、標準出力へアウトプットされた結果をgrepで絞り込めば、目当ての情報に素早くたどりつける。ここで利用した「Capacity」は、バッテリー容量に関するプロパティに含まれるもので、MaxCapacityは(多少劣化した)現在の最大容量、CurrentCapacityは現時点の容量、DesignCapacityは出荷時点でバッテリーが持っていた容量を意味する。つまり、メニューエクストラでもシステムプロファイラでも分からない「バッテリーのヘタリ具合」を知ることができるのだ。
![]() |
|---|
| 同様の方法で、BNBMouseDevice(Bluetoothマウス)など他のデバイスクラスも探索してみよう |
(次ページへ続く)
この連載の記事
- 第33回 知る人ぞ知るテキスト形式変換コマンド「textutil」の謎を解く
- 第32回 今だからこそ見直したい、OS Xの節電術
- 第31回 OS Xの知られざる「.app」を訪ねて
- 第29回 知ってトクするOS Xのコマンド(1)
- 第28回 「Apple TV」のYet Anotherな使い方
- 第27回 話題のiPad用手書き入力アプリ「7notes」を試す
- 第26回 「新世代リモコン」としてのiPhoneを考える
- 第25回 iPhone 4でワイヤレスオーディオレシーバーを使う
- 第24回 「Mac App Store」公開後の影響を探る
- 第23回 Mac上の動画をiPhone/iPadで楽しめる「Air Video」
- この連載の一覧へ











