本連載「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」でよさそうだ。
デバイスクラス名が分かれば、あとは簡単。オプションを「-c AppleSmartBattery
」として情報を絞り込み、標準出力へアウトプットされた結果をgrep
で絞り込めば、目当ての情報に素早くたどりつける。ここで利用した「Capacity」は、バッテリー容量に関するプロパティに含まれるもので、MaxCapacityは(多少劣化した)現在の最大容量、CurrentCapacityは現時点の容量、DesignCapacityは出荷時点でバッテリーが持っていた容量を意味する。つまり、メニューエクストラでもシステムプロファイラでも分からない「バッテリーのヘタリ具合」を知ることができるのだ。
(次ページへ続く)

この連載の記事
- 第187回 NFCの世界を一変させる!? iOS 11「Core NFC」の提供開始が意味するもの
- 第186回 Appleと「4K HDR」 - iOS 11で写真/動画を変える「HEIF」と「HEVC」
- 第185回 iPhone 7搭載の「A10 Fusion」「W1」は何を変えるか
- 第184回 オープンソース化された「PowerShell」をMacで使う
- 第183回 アップル製デバイス連携の鍵、「Continuity」とは?
- 第182回 DCI-P3準拠へと歩むiPhone/iPad - WWDC基調講演で秘められた新技術は、ここにある(2)
- 第181回 WWDC基調講演で秘められた新技術は、ここにある(1)
- 第180回 WWDC直前、買い替え前にマイMacのココをチェック
- 第179回 私がiTunesを使わなくなった5つの理由
- 第178回 今あえてiPhone「Live Photos」を知る
- 第177回 「Windows Subsystem for Linux」はOS Xのライバルとなるか?
- この連載の一覧へ