「このMacについて」と同等な情報をコマンドラインから取得する
概要
デスクトップ左上のリンゴマーク押下からの「このMacについて」で表示される情報をコマンドラインから取得する方法を調べた。
system_profiler
コマンドを使えば、「このMacについて」と同等な情報を取得できる。
system_profiler SPSoftwareDataType SPHardwareDataType SPMemoryDataType SPDisplaysDataType
この方法では、OSバージョン名(Montereyとか)と機種名(MacBook Pro (15-inch, 2016)とか)は、直接は取得できないが、対応表(Apple公式サイト)を用いればわかる。
動機
ブログ書くときに、自分の環境情報を手書きするのがだるいので、何かコマンドでまとめて出力してコピペするだけじゃダメかなと模索してて、そもそも「このMacについて(About This Mac)」で表示される情報はコマンドラインからも取得できるのか?の段階でとりあえず結果をまとめたのがこの記事。
環境情報なんてOSバージョンだけで十分だろと思っていたが、CPUがIntelかApple Silicon(M1とか)ではぼちぼち違いが出るらしいので、それも記載しといた方が良いのかなと思い始めた。
OS情報はsw_vers
コマンドで取得できる:
% sw_vers ProductName: macOS ProductVersion: 12.4 BuildVersion: 21F79
あとsysctl -a
コマンドで、何かよくわからん情報がいっぱい取得できる。
その中にはCPU情報も含まれるようで、その部分だけ抽出するには下記のようにコマンド実行すればよい:
% sysctl machdep.cpu.brand_string machdep.cpu.brand_string: Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
IntelかApple Siliconかはすぐ識別できそう。
uname
コマンドとかもある。
もっと詳細な情報はsystem_profiler
コマンドで取得できる模様(使い方はman system_profiler
参照)。
とにかく、以下では「このMacについて」で表示される情報に限って取得してみた。
情報の取得
Software
macOSのバージョン番号が取得できる。
% system_profiler SPSoftwareDataType Software: System Software Overview: System Version: macOS 12.4 (21F79) # macOSのバージョン番号 Kernel Version: Darwin 21.5.0 Boot Volume: Macintosh HD Boot Mode: Normal Computer Name: □□□ User Name: □□□ (□□□) Secure Virtual Memory: Enabled System Integrity Protection: Enabled Time since boot: 11 days 9:09
macOSのバージョン名は、バージョン番号と下記サイトの対応表から確認できる。
バージョン名 | バージョン番号 |
---|---|
Monterey | 12.x |
BigSur | 11.x |
Catalina | 10.15.x |
Mojave | 10.14.x |
High Sierra | 10.13.x |
Sierra | 10.12.x |
Hardware
機種ID、プロセッサ情報、シリアル番号が取得できる。
% system_profiler SPHardwareDataType Hardware: Hardware Overview: Model Name: MacBook Pro Model Identifier: MacBookPro13,3 # 機種ID Processor Name: Quad-Core Intel Core i7 # プロセッサ情報1 Processor Speed: 2.6 GHz # プロセッサ情報2 Number of Processors: 1 Total Number of Cores: 4 L2 Cache (per Core): 256 KB L3 Cache: 6 MB Hyper-Threading Technology: Enabled Memory: 16 GB System Firmware Version: 451.120.7.0.0 OS Loader Version: 540.120.3~6 SMC Version (system): 2.38f12 Serial Number (system): □□□□□□□□□ # シリアル番号 Hardware UUID: □□□□□□-□□□-□□□-□□□-□□□□□□ Provisioning UDID: □□□□□□-□□□-□□□-□□□-□□□□□□
機種名(インチ、発売年)は、機種IDと下記サイトの対応表から確認できる。
Memory
メモリ情報が取得できる。
% system_profiler SPMemoryDataType Memory: Memory Slots: ECC: Disabled Upgradeable Memory: No BANK 0/DIMM0: Size: 8 GB Type: LPDDR3 # 1つめのメモリ情報1 Speed: 2133 MHz # 1つめのメモリ情報1 Status: OK Manufacturer: 0x802C Part Number: 0x4D5435324C31473332443450472D30393320 Serial Number: - BANK 1/DIMM0: Size: 8 GB Type: LPDDR3 # 2つめのメモリ情報1 Speed: 2133 MHz # 2つめのメモリ情報2 Status: OK Manufacturer: 0x802C Part Number: 0x4D5435324C31473332443450472D30393320 Serial Number: -
「このMacについて」では、2つのメモリ情報がまとめて(合算されて)表示されている。
Graphics
グラフィックス情報が取得できる。
% system_profiler SPDisplaysDataType Graphics/Displays: Intel HD Graphics 530: # 1つめのグラフィック情報1 Chipset Model: Intel HD Graphics 530 Type: GPU Bus: Built-In VRAM (Dynamic, Max): 1536 MB # 1つめのグラフィック情報2 Vendor: Intel Device ID: 0x191b Revision ID: 0x0006 Automatic Graphics Switching: Supported gMux Version: 4.0.29 [3.2.8] Metal Family: Supported, Metal GPUFamily macOS 2 Radeon Pro 450: # 2つめのグラフィック情報1 Chipset Model: AMD Radeon Pro 450 Type: GPU Bus: PCIe PCIe Lane Width: x8 VRAM (Total): 2 GB # 2つめのグラフィック情報2 Vendor: AMD (0x1002) Device ID: 0x67ef Revision ID: 0x00ef ROM Revision: 113-C980AF-908 VBIOS Version: 113-C9801AL-028 EFI Driver Version: 01.A0.908 Automatic Graphics Switching: Supported gMux Version: 4.0.29 [3.2.8] Metal Family: Supported, Metal GPUFamily macOS 2 Displays: 略
「このMacについて」では、グラフィックス名とVRAM情報が表示されている。
まとめ
system_profiler
コマンドとApple公式サイトにある対応表を用いれば、「このMacについて」で表示される情報はすべてコマンドラインからも確認できる。
(左側に表示されている、OSのメジャーバージョンごとのアイコン画像は知らん)
あとは頑張って取得したデータを整形すれば、「このMacについて」と同じような形式で情報を表示できるかと思う。 本当はここまでやりたかったが面倒くさいのでやめた。
以上。