新・OS X ハッキング! 第285回 Montereyのココが気になる 〜コマンド編〜
Montreyにアップデートを済ませ、まずやることといえば...そりゃ、一般的にはSafariやMail.appの起動なのだろうけれど、取るものもとりあえずTerminalを起動し「uname -a」を実行する人も一定数存在するわけで。Monteryのココが気になる、第2回はコマンド/CUIについて。Montereyで追加されたわずかなコマンドの中から3つを選び紹介してみよう。
○ボリュームを分けてバグレポートを作成する「syscapturediags」
Terminalから見るmacOSの風景は、High Sierra以降着実に変化している。新しいフォーマット形式として「APFS(Apple File System)」が採用されてからというもの、Catalinaのときには単独のボリューム「Macintosh HD」が「Macintosh HD」と「Data」に分割されるようになり、Big Surのときには「Preboot」や「VM」など用途別にボリュームが細かく分割されるようになった。
Montereyでもボリューム構成の見直しは続いており、たとえば「customerdiagnosticscapture」というボリュームが作成されることがある。これはバグレポート/ログ取得機能の強化といったデベロッパー方面のトピックで(関連記事)、一般ユーザに直接は影響しないが、OSの構造部分という地味だけれど手のかかる部分にもしっかり手を入れる、というAppleの姿勢が感じられるトピックだ。
このバグレポート/ログ取得機能関連では、Montereyで「syscapturediags」と「umtool」という2つのコマンドが追加されている。前述した「customerdiagnosticscapture」ボリュームは、このsyscapturediagsコマンドを実行するとログ保管用に作成され、「syscapturediags --cleanup」で内容を一括消去できる。
○iPhoneで作成したショートカットをそのまま実行できる「shortcuts」
MontereyでMacにも登場した、iOSでお馴染みの「ショートカット」。自動化スクリプトを異なるシステム間で、しかもクラウドを介し瞬時に共有できるアプリが投入されたのだから、エンドユーザとしては手放しで歓迎したい。機能や利用目的は改めて紹介するまでもないが、iOSでは(脱獄でもしないかぎり)わからなかった仕組みの一端をMacでは垣間見ることができる。
たとえば、作業用ディレクトリ(~/Library/Shortcuts)を見ると、SQLite関連のファイルが置かれていること。CUIが提供されており(/usr/bin/shortcuts)、Terminalからショートカットを実行できること。2つのサインモード(people-who-know-meとanyone)が用意されていること。自動化ツールという括りでAutomatorと比較すると、シンプルかつ柔軟な運用を目指し設計されているようだ。
個人的には、サブコマンド「run」に続けてショートカット名を与えコマンドを実行するだけで、iCloudで共有しているショートカットを機能させられることが気に入っている。実際、iPhoneで作成しておいたQRコード作成用ショートカットが、「shortcuts run QRコードを作成」とコマンドを打つだけで動作したことには、軽く感動を覚えた。
○ネットワークの混雑状態を確認する
実用性という観点でshortcutsと双璧をなすのが「networkQuality」。ひらたくいえば、Terminalからワンライナーでネットワークの応答性をチェックできてしまうコマンドだ。
ネットワークの応答性といえば、UNIX系OSにかぎらず「ping」を使うことがセオリーだが、pingではホストサーバからの応答をもって判定材料とすること、つまり"サーバに余裕があるかどうか"が決め手となるため、実際のネットワークの混み具合を意味しない。pingの戻り値に使われる単位:ミリ秒も、ふだんbpsを用いる身には(pingだけに)ピンとこないという事情もある。
そこでAppleは、ネットワークが通常稼働している状態で1分間に処理できる連続ラウンドトリップ数(RPM)をカウントする「Appleネットワーク応答性テスト」を提唱し、そのツールとしてnetworkQualityを用意した。RPMという単位には馴染みが薄いとしても、上り/下り速度はbpsで表示されるため、無線LANなどネットワークデバイスの簡易測定ツールにも使える。綴りも覚えやすく、重宝すること間違いなしのコマンドだ。
○ボリュームを分けてバグレポートを作成する「syscapturediags」
Terminalから見るmacOSの風景は、High Sierra以降着実に変化している。新しいフォーマット形式として「APFS(Apple File System)」が採用されてからというもの、Catalinaのときには単独のボリューム「Macintosh HD」が「Macintosh HD」と「Data」に分割されるようになり、Big Surのときには「Preboot」や「VM」など用途別にボリュームが細かく分割されるようになった。
Montereyでもボリューム構成の見直しは続いており、たとえば「customerdiagnosticscapture」というボリュームが作成されることがある。これはバグレポート/ログ取得機能の強化といったデベロッパー方面のトピックで(関連記事)、一般ユーザに直接は影響しないが、OSの構造部分という地味だけれど手のかかる部分にもしっかり手を入れる、というAppleの姿勢が感じられるトピックだ。
このバグレポート/ログ取得機能関連では、Montereyで「syscapturediags」と「umtool」という2つのコマンドが追加されている。前述した「customerdiagnosticscapture」ボリュームは、このsyscapturediagsコマンドを実行するとログ保管用に作成され、「syscapturediags --cleanup」で内容を一括消去できる。
○iPhoneで作成したショートカットをそのまま実行できる「shortcuts」
MontereyでMacにも登場した、iOSでお馴染みの「ショートカット」。自動化スクリプトを異なるシステム間で、しかもクラウドを介し瞬時に共有できるアプリが投入されたのだから、エンドユーザとしては手放しで歓迎したい。機能や利用目的は改めて紹介するまでもないが、iOSでは(脱獄でもしないかぎり)わからなかった仕組みの一端をMacでは垣間見ることができる。
たとえば、作業用ディレクトリ(~/Library/Shortcuts)を見ると、SQLite関連のファイルが置かれていること。CUIが提供されており(/usr/bin/shortcuts)、Terminalからショートカットを実行できること。2つのサインモード(people-who-know-meとanyone)が用意されていること。自動化ツールという括りでAutomatorと比較すると、シンプルかつ柔軟な運用を目指し設計されているようだ。
個人的には、サブコマンド「run」に続けてショートカット名を与えコマンドを実行するだけで、iCloudで共有しているショートカットを機能させられることが気に入っている。実際、iPhoneで作成しておいたQRコード作成用ショートカットが、「shortcuts run QRコードを作成」とコマンドを打つだけで動作したことには、軽く感動を覚えた。
○ネットワークの混雑状態を確認する
実用性という観点でshortcutsと双璧をなすのが「networkQuality」。ひらたくいえば、Terminalからワンライナーでネットワークの応答性をチェックできてしまうコマンドだ。
ネットワークの応答性といえば、UNIX系OSにかぎらず「ping」を使うことがセオリーだが、pingではホストサーバからの応答をもって判定材料とすること、つまり"サーバに余裕があるかどうか"が決め手となるため、実際のネットワークの混み具合を意味しない。pingの戻り値に使われる単位:ミリ秒も、ふだんbpsを用いる身には(pingだけに)ピンとこないという事情もある。
そこでAppleは、ネットワークが通常稼働している状態で1分間に処理できる連続ラウンドトリップ数(RPM)をカウントする「Appleネットワーク応答性テスト」を提唱し、そのツールとしてnetworkQualityを用意した。RPMという単位には馴染みが薄いとしても、上り/下り速度はbpsで表示されるため、無線LANなどネットワークデバイスの簡易測定ツールにも使える。綴りも覚えやすく、重宝すること間違いなしのコマンドだ。