Apple は先週、iOS 14.4.2、iPadOS 14.4.2、iOS 12.5.2、それに watchOS 7.3.3 に重要なアップデートを出した。これらは実際に攻撃を受けている WebKit の脆弱性 1 件を修正するためのものだ。懐かしい昔を思い出してみたい方々のために、今週号では 2 つの記事をお届けする。Mac OS X 10.0 が登場してから 20 周年を記念しての回顧記事と、Apple の有名な広告キャンペーンのパロディーとして出された Dantz Development の "Drink Different" ポスターを思い出す記事だ。最後にもう一つ、macOS のコマンドラインについてもっと知りたいと思われる方のために、Adam Engst が 2 冊の参考書を紹介する。Joe Kissell の Take Control of the Mac Command Line with Terminal と、Armin Briegel の macOS Terminal and Shell だが、これらはそれぞれ違った読者層に向けて書かれている。今週注目すべき Mac アプリのリリースは Pages 11.0、Numbers 11.0、Keynote 11.0、BBEdit 13.5.5、Default Folder X 5.5.7、Fetch 5.8.2、Ulysses 22、Zoom 5.6.1、Firefox 87、それに Evernote 10.10.5 だ。
かつて "I'm a Mac" を演じた俳優 Justin Long が今度は Intel に雇われて PC を宣伝し Mac をあざ笑う一連のコマーシャルに出演するという報道を見て、私は郷愁をかき立てられた。マニアでない人たちのうち何人がその昔の Apple の "Get a Mac" キャンペーンを覚えているのかという疑問はさておき、ここでは皆さんをそれよりさらにもっと過去の Apple 広告の歴史にお連れしよう。
1997 年から 1998 年にかけての Apple の "Think different" ポスターキャンペーンを覚えておられるだろうか。個々のポスターは歴史上の人物の白黒写真で、隅のところに小さなカラーの Apple ロゴと "Think different" という言葉が添えられていた。今は thecrazyones.it というサイトがそれらのポスターをコレクションしている。このキャンペーンの火蓋を切ったテレビコマーシャルの映像と、“メイキング”ビデオもある。
もうそんなになるのであろうか? 24 March 2021 は Mac OS X の 20 周年の記念日となる。そのリリースを目撃した我々のような者にとって、1984 年から 2001 年迄 Mac を動かした "古典" Mac OS を (そしてそれ以降も:今でも使っている人はいる) 今日の Apple ユーザーの殆どは 全く使ったことがないことに思いを馳せると感慨無量である。
Apple の元役員 Scott Forstall は、この日を祝して滅多にしないツイートを発し、Steve Jobs が壁に X を書き殴りその名前を宣言した時のことを思い出している。
20 回目の誕生日おめでとう Mac OS X! 私は、今でも我々が君を名付けた時のことを覚えている。IL1 の小さな部屋で。Steve が大きな X を壁に書き殴り、そして微笑んだ時のことを。君は子供の Cheetah からどれ程成長したことか。
Mac OS X (今では単純に macOS と呼ばれている) が 2001 年に登場した時、その写真のようにリアルなアイコンとアニメーションに、それは未来から来たものの様に感じられた。Stephen Hackett は Mac OS X 10.0 からのスクリーショットを収集展示しているが、それが 20 年経っても如何にしっかり持ちこたえているかを見るのは驚きである。
Mac OS X は Mac ユーザーには馴染みのない概念を導入した。Dock や Terminal の様なものである。この移行を乗り越えた者にとって、Mac OS X は大きな飛躍であった。それは元の古典 Mac OS だけでなく、Microsoft の競合する Windows XP をも古くさいものに感じさせた。しかも、後者が出荷されたのはその年の8月になってからである。
しかし、最初のリリースの Mac OS X 10.0 は基本的には有料のベータであった。(無料になるのには 10.9 Mavericks 迄待たなければならなかった。) 古典 Mac OS の多くの機能は Classic モードの外では失われ、そしてオペレーティングシステムは未来から来たものの様に感じられたが、一方では未来のハードウェアを待っている様にも見えた。性能はどうしようもなかった。Adam Engst はそれらの初期の荒さを "Mac OS X:未来はもうすぐそこに" (26 March 2001) に記録していて、次の様に言っている:
Apple の静かなリリースの理由は簡単である - 私の意見では、Mac OS X は殆どの人に Mac OS 9 に勝る十分な利点を提供していない。議論の余地のないものが一つある:Mac OS X は、現在のハードウェアとソフトウェアで出来ること全ては現時点では実現出来ていない。数多くの Apple の人目を引く機能が欠けている。例を挙げれば、DVD を再生したり、DVD や CD-R を焼いたりすることである。ハードウェアも問題が多い - Mac OS X には幾つかの周辺機器や拡張カードに対するサポートが備わっているが、他のハードウェア部品を使うことはユーザーに Mac OS 9.1 に再ブートすることを要するかも知れない。(ヒント - ベージュの Power Mac G3 以降の Mac 上では、再起動する時に Option キーを押下し続けると、次の起動の時に使うオペレーティングシステムの選択が出来る。) そして勿論、多くのアプリケーションは Mac OS X の Classic モードで問題なく走るが、Mac OS X 下でネイティブに走ることが出来るよう "カーボン化" されているアプリケーションは殆どない。幸いにして、既にカーボン化されているものには、Apple 自身による iTunes, iMovie 2, そしてプレビューの AppleWorks 6.1 があり、何れもがダウンロード出来る。
Mac OS X 10.1 が October 2001 に性能向上、CD 焼き、そしてインターフェース強化が図られて続いた ("Mac OS X 10.1: 主な機能" 1 October 2001 参照)。これが私の最初のバージョンの Mac OS X となり、PowerBook G3 (Lombard) にインストールされた。
Mac OS X は多難なスタートを切ったかもしれないが、Mac の未来だけでなく iPhone, iPad, そして Apple Watch に対する基盤までをも創り出した。それは論議の余地はあるかも知れないが史上最も重要なソフトウェア展開の一つと言えるが、日の目を見ない危険性にも遭遇していた。
破れかぶれの一手
Macworld では、Jason Snell が Mac OS X の誕生を記録に残すのに良い仕事をした。初代の Mac OS は 1984 年当時は革新的だったが、すぐに古びてしまった。1990 年代には、Mac OS は全体的な再構築が必要なことは明らかであったが、当時の Apple は最悪であった。最も有名な試みは Copland というコードネームのもので、Paul’s Crap と言う YouTube チャネルでそれがどんなものかの感触は得られる。
Apple は、最終的には、前進するための最善の方法は新しいオペレーティングシステムを買うことだと認識するに至った。選択肢は、元の Apple 役員が指揮する二つの会社のどちらかであった:Steve Jobs の NeXT と Jean-Louis Gassee の Be である。結果は皆さんご存じの通りである。
NeXTSTEP は、ただの Mac OS X の Unix 基盤を以上のものを提供した。そこには、Dock の様な鍵となるインターフェース要素、TextEdit の様なアプリ、そしてアプリを作成するための Objective-C (大部分は今では Swift に置き換わっている) の様なものが含まれる。Mac 開発を長いことやっている James Thomson がこの Dock のコードを書いたのだが、Jobs がそれを初めてデモをするのを見ている時の彼の緊張感についてツイートしている。
Steve が Dock を初めて紹介するのを再度見るのは本当に奇妙な感じである。と言うのも、それは私が書いたコードで走っていたからである。この部分の最初から最後までの間私は怯えていたと言うのは過少表現である。私はこれをそれ以来見ていないと思う。https://t.co/ru7dVnkGV9
Apple による 1997 年の NeXT の買収はかなりの物議を醸した。Geoff Duncan はそれを我々のために "NeXT とともにやってくる次のシステムとは?" (6 January 1997) として記録してくれた。数ヶ月後、Adam Engst は NeXT の買収と当時の CEO Gil Amelio の決断についての分析を "Apple の決定" (31 March 1997) で提供した:
Apple の最近の変更について私が受け取ったメールの一つの主題は、元 NeXT 従業員が今や Apple の決定を行っているという認識である。その中の一人は、まるで NeXT が Apple を買ったように、その逆ではなく、感じるとまで言っていた。程度はあるが、これらの認識は間違ってはいない - 結局の所、Avie Tevanian と Jon Rubinstein、二人とも元 NeXT の人間、がオペレーティングシステムとハードウェア部門の責任者となっている。
それは実際に先を見通していたこととなった。今や NeXT が内部から取って代わったことは十分裏付けされた歴史でもある。Adam は当時次の様に感想を述べている、"Gil は他に何が出来たであろうか?" Gil Amelio はしばしば最悪の Apple CEO だと引用されるが、少なくとも、彼は NeXT を買収し Steve Jobs を呼び戻すという正しい決定をした。たとえ、彼はそうすることで彼自身の首をまな板の上に乗せることになることは認識していなかったとしてもである。
基本的に、NeXT の買収は Apple の文化に重大な影響を与える。それは必ずしも悪いことでは無いが、それは時にはとげとげしい移行ともなり得る。問題は、Macintosh を特別なものとしたその考え方や信念が新しい環境下でも生き延びられるかどうかである。
Apple の古参者 Imram Chaudhri、iPhone のインターフェースの多くを創り出したとして評価されている、は面白い逸話をツイートしている。それは、Jobs との初期のやり取り、そして一台の中古の NeXT cube が、この頑固な CEO にそのオペレーティングシステムの多くの欠陥を実際に見せることで、彼との多くの論議で勝たせてくれる手助けとなったかについて語っている。
Mac OS X がこのオペレーティングシステムの正式名であったが、Apple は "Mac" の部分を Mac OS X 10.7 Lion 時代の途中で切り落とした (我々は、サイクルの途中での切り替えは拒絶し、10.8 Mountain Lion を待つことにした)。数年後、Apple は今度は X を捨てて、macOS 10.12 Sierra に合わせて再度名前を変えた。今や macOS 11 Big Sur となり、Apple は遂に 10 のバージョン番号から前進して、macOS アップデートに意味のあるバージョン番号を与えた ("Apple のバージョン番号とビルド番号を解読する方法" 8 July 2020 参照)。
名前は置いておいても、Mac OS X の NeXT 派生の核はそのまま残っていて、PowerPC から Intel そして Intel から Apple シリコンへという構造変革にも耐え残っている。そして、初期の時代からのアプリで姿を消したものもあるが、多くの元々の Mac OS X アプリケーションは残っている。例を挙げれば、過小評価されているがビックリする程強力な Preview の様なものである。
元祖 Mac OS は公式には 17 年続き、そして Mac OS X 10.0 の子孫は最初の導入から 20 年経っても元気であり、終わりは見えていない。かつては死にかけた会社を救うためのダメ CEO による必死の試みだあったものが、今や $2 trillion のエコシステムへと花咲いた。
TidBITS 読者の皆さんはおそらく macOS が Unix に基づいていて、Terminal を開けばファイルやフォルダやアプリにコマンドラインでやり取りできるようになることをご存知だろう。大多数の Mac ユーザーにとってコマンドラインは大体において何となく珍しいもので、手を出しづらい感じに見えているのではないだろうか。それとは対照的な立ち位置にいるのが、Unix 風オペレーティングシステムに堪能でグラフィカルなアプリよりコマンドラインを使っている時間の方が長い人たちだ。でも私たちの多くはその両者の中間にいて、コマンドラインのパワーは知っているけれどもネイティブな Mac アプリの方が使いやすいと思っている。少なくとも私自身は間違いなくそれに該当する。必要ならばコマンドラインで grep を使えるけれども、可能であればその代わりに BBEdit を使っている。
もしあなたも私と同じようなら、おそらくここで指摘しておくべき最も重要なコマンドラインの要点は、それがどちらでも良いという問題ではまずないことだ。私がコマンドラインを使って何かをしようとする場合、ほとんど例外なしに、それは Finder、BBEdit、あるいは他のどんなネイティブ Mac アプリを使っても実行が難しいかまたは不可能である作業だからだ。だからと言って重複する範囲が膨大だということを否定するつもりはない。Finder の中でフォルダをダブルクリックしたりファイルを開いたりしてファイルシステムを進み行くやり方を知っているのと同じように、コマンドラインでのそれに相当する基本操作も、やはり知っておく必要がある。
(情報全面開示: Joe はもともと Tonya と私が Take Control Books を運営していた時代に Take Control of the Mac Command Line with Terminal を執筆して、彼を助けるために私自身もかなりたくさんの力を貸した。けれども私たちは 2017 年 5 月に Take Control を Joe に売却し、今ではこの本にも彼の会社にも金銭的利害関係はない。それから、私は Armin Briegel をあまりよく知っている訳ではないけれども、いろいろなカンファレンスでお互いに何度も会っているし、もう何年も前の MacTech 会場で月曜日のイベントの入ったカレンダー情報を TidBITS の各号に投入しようと苦労していた私のために彼は親切にもササっと AppleScript を書いてくれたことがある。)
Take Control of the Mac Command Line with Terminal
Take Control of the Mac Command Line with Terminal はハイレベルの道を行く。Joe Kissell はいつものフレンドリーな、実用的な語り口で、シェルスクリプトを作ってタスクの自動化 (変数、ユーザー入力、条件文、ループ、数値計算も含む) をしたり、ssh 経由で他の Mac をコントロールしたり、パイプやリダイレクトなど重要な Unix テクニックを使ってみたり、grep を使ってファイルの中にあるテキストパターンを検索したり、パッケージマネージャで新しいコマンドラインソフトウェアをインストールしたり、といったことのやり方を説明する。
コマンドラインに慣れていない多くの Mac ユーザーにとって、一番難しいのは何ができるのかを実感することだ。そのパワーを理解していなければ、問題に出くわした際に何も考えることさえできないだろう。その学習過程を短縮化する役に立とうと Joe は 64 個の“レシピ”を含めており、それに取り組むことによって複数個のコマンドを組み合わせる必要が伴うことの多い実際的な解決法を手にすることができる。中でも私が特に気に入っているのが内部的に動作するタイプのもので、例えばボリュームがなぜイジェクトしないか (たぶんアプリのどれかが使用中なのだろうが、それはどのアプリか?) を理解したり、あるいはゴミ箱を空にしようとしても削除されないファイルを処理したりといったレシピだ。また、textutilコマンドを使ってよくあるさまざまのフォーマットの間でテキスト書類を変換する方法を学べて、私は大いに満足した。多数の Word 書類で一杯のフォルダを HTML に変換する (あるいはその逆の) 必要が生じることは容易に想像できるが、一つ一つ手で変換するなどとてもやる気がしないだろう。
macOS Terminal and Shell
Take Control of the Mac Command Line with Terminal が日常的な Mac ユーザー向けであるのに対して、Armin Briegel はシステム管理者として働いた経験を生かして macOS Terminal and Shell をシステム管理者、開発者、科学者、さらには Finder でいつも使えるようなレベルなり他のネイティブな Mac アプリでできるレベルなりを超えた柔軟性を必要とする“プロ”のユーザーのために執筆した。
なので、こちらの本ではユーザーを (sysadminctlを使って)、またグループを (dseditgroup を使って) 管理することについて多くの部分を割いて解説している。これはシステム管理者には非常に興味のある話題であることが多いけれども、自分一人で Mac を使っている普通の人々にはそうでないかもしれない。Armin はさらに隠れたユーザーアカウントを作成する方法も説明する。これは、システム管理者が従業員の Mac に管理者レベルのアカウントを確保しておいてトラブルシューティングや修理のために使うけれどもその Mac のログインウィンドウやその他の部分には一切影響を与えないようにする目的でよく使われる。また、Armin はさまざまのリンクタイプ、特殊なファイルアトリビュート、macOS アクセス権など、管理者や開発者にのみ使い道があるような話題についても詳しく説明している。
macOS Terminal and Shell が秀でているもう一つの個所は、Terminal アプリとシェルとの双方についてそれぞれの設定方法をことごとく解説して、それらの動作の仕方を自分の好みに合わせられるようにしているところだ。例えば、Terminal の中でコマンドを一つ選択して Help > Open man Page for Selection を選ぶ (または選択したものを Control-クリックして Open man Page を選ぶ) ことで新しいウィンドウが開いて、自動的に黄色の背景になって目立たされ、選択したコマンドの man ページが表示されることを私は知らなかった。また、マークを付けて出力をスクロールして戻る方法 (出力されたものが複数の画面にわたる場合に便利) や、コマンド内部でのキーボードナビゲーション、Option キーを使った矩形選択、その他多くのセクションもある。もう一つ、私が初めて知った嬉しいヒントは、Terminal でウィンドウグループを作ることで頻繁にアクセスする必要のある複数のサーバのそれぞれについてタブが開くようにできることだ。
余談だが Apple の Books アプリについて
Take Control デザイン言語で共同作業をした経験がある私は明らかに偏った先入観を持っているが、Apple の Books アプリの中で macOS Terminal and Shell のページを一枚一枚めくるうんざりするようなユーザー体験に比べて、PDF 版 Take Control of the Mac Command Line with Terminal を Preview で読む方が私は遥かに快適だ。(他のすべての Take Control ブックと同じように、Take Control of the Mac Command Line with Terminal には Books 用の EPUB 版もあるし、Kindle 用の Mobipocket 版もあるので、テキストの改行をフローし直せる方が良い場合にはそちらを使える。)
公平のために言えば、私がここで述べる Apple の Books アプリでの読書体験に対する批判は完全に Armin Briegel にはどうにもならない範疇にあるし、複数通りのフォーマットで電子ブックを出版することに伴う困難を私は誰よりもよく知っているつもりだ。それでもなお、うまく作られた PDF を Preview で読むことに比べて、Books アプリにはフラストレーションを起こす原因となる重要な点がいくつかある:
Books 標準の2カラムのフォーマットでは行の長さが短過ぎて技術的な文書には向いていない。とりわけ macOS Terminal and Shell のような本ではコマンドラインの出力をたくさん表示しなければならないのでなおさらだ。ウィンドウの幅を狭くして1カラムに切り替えておくのが賢明だろう。
Books の良い面を言えば、Armin Briegel は特定の機能の使い方の実例を示した短いビデオを多数含めている。例えばファイルやフォルダを Finder から Terminal の中へドラッグしたりといったことだ。静的なスクリーンショット画像よりもビデオ映像の方が分かりやすい。最近の数年間で事情が変わったのかどうかは知らないが、PDF の中にビデオを埋め込むのは難しくて私たちの手には負えなかった。だからこれは、macOS Terminal and Shell が Books を使い続けるべき立派な理由だと言える。
でも、ここで 2 冊の本の読書体験の良さを比較することに力点を置きたい訳ではない。皆さんはそれぞれご自分の必要に最も適した本を選ばれればよいのだから。ご自分の目的のために Terminal の使い方とコマンドラインについてもっと知りたいというのが主目的ならば、Joe Kissell の Take Control of the Mac Command Line with Terminal が最も適した第一歩になることだろう。これは、深い湖の水面付近をさっとすくい取るための本だから。それとは対照的に、Armin Briegel の macOS Terminal and Shell は深く潜行して、Mac 管理者や開発者が日々の仕事で必要とする種類のコマンドラインの専門知識を授けることに重点を置いている。どちらの本を選んでも間違いはないだろう。
Bare Bones Software が BBEdit 13.5.5 をリリースして、macOS 11 Big Sur で導入されたバグの結果としてサイドバーの中で不必要な描画作業が必要になっていた問題に回避策を施した。この古参のテキストエディタはまた、コードのない言語モジュールに支援された言語の関数本体で折り畳みを生成する際の問題を修正し、ワイルドカードの言語マッピングがキャッシュされた際に不正にタグ付けされていたバグを修正し、スリープ状態とクラッシュ回復用スナップショットのバックアップコピーを正しく保存するようにし、Big Sur の下で Appearance および Editing 環境設定画面のスライダー挙動を修正し、多数の書類を含んだウィンドウのサイドバーをリサイズする際のパフォーマンスのバグを解消している。(新規購入 $49.99、無料アップデート、18.7 MB、リリースノート、macOS 10.14.2+)
St. Clair Software が Default Folder X 5.5.7 をリリースして、Cocoatech のファイルブラウザおよび Finder 代替ツール Path Finder との連携を強化した。Default Folder X は今回から Path Finder のウィンドウのすべてのタブで開いているフォルダを表示するようになり、Default Folder X のメニューやドロワボタンを Path Finder のツールバーに自動的に追加できるようになった。Open/Save ダイアログを拡張するこのユーティリティはまた、Information タブで作成日と修正日が消えてしまうことがあった問題を解消し、ファイルダイアログでのフォルダの切り替えやアイテムの選択に関する信頼性を高め、カーソルが消える既知の問題をすべて修正し、起動時に Default Folder X がハングすることがあったバグを修正した。(新規購入 $34.95、TidBITS 会員には新規購入で $10、アップグレードで $5 の値引、Setapp, からも入手可、15.4 MB、 リリースノート、macOS 10.10+)