初めて「ちゃんと」使ったMac OS Xが何もできない

2021-09-05

会社の貸与品のThinkPadが故障した関係で、代わりにしばらくの間Macbook Proを使っていた。

Mac OS Xをがっつり使ったのは初めてで、UnixシステムだからWindowsよりは使えるだろうと思ったのだが、FreeBSDやSolarisとも比べ物にならないほどに非常に使いづらく、融通が効かずに困ってしまった。

Linux操作との対比

ブロックデバイスの暗号化

私はLUKSを使っているが、Macはデバイス全体の暗号化ではなくファイルシステム暗号化をサポートする。 ファイルシステムレベルの暗号化はEXT4などでもサポートされているが、割と面倒だ。

オフライン攻撃に対する強度という意味では、わずかにブロックデバイス暗号化のほうが優れるが、実用上の差異はほとんどない。

ただし、Macの場合、「いつクローズされるのか」が不明だ。 シャットダウンしてもパスフレーズを求められないこともあり、オフライン攻撃が暗号化を迂回する可能性は十分にある。

ログインと自動起動

ログイン、自動起動という概念はMacにも備わっており、セッションを復元するか否かは選択可能である。

このログイン処理に大きな問題がある。 起動時はパスワードを必須とし、それ以降は指紋認証が可能であるという点は優れている。 指紋認証センサーの出来もよいし、Linuxでは指紋認証は安定して動作しないので、その意味では良い。

だが、非常に大きな問題として、3回のfailでfail2lockがかかる。 この時間が結構長いという問題もあるが、 fail2lockでロックされているカウントはシャットダウン中はカウントされない。これは明らかに適切な動作ではなく、非常に使いづらい。

なお、Cinnamonにはセッション保存機能はない。XFceやPlasmaにはあるが。 私はセッション保存は使わないので不自由は感じていない。

ファイルマネージャの起動

CinnamonにNemoがあるように、MacにもFinderが備わっている。

しかし、

  • 表示形式の変更
  • ディレクトリへのクイックアクセス(パス入力/トピック/ブックマーク)
  • アイテムへのクイックアクセス(インクリメンタルサーチ)

などができない。 パス入力はできなくはないが、パス編集で始められないので実用性に乏しい。

NemoはGVFSの統合機能があったりしてかなり高機能なのだが、そこまでではないにせよ、いちいちマウスクリックを要求されるのはとてもストレスだ。

なお、ボタンはないが、Move parent directoryやBackは可能なようだ。

Open Terminal Here

「ここで端末を開く」。 単に端末を開くだけでなく、端末のデフォルトワーキングディレクトリをそのディレクトリに固定するという意味である。

Macではデフォルトではできないようだ。 ただし、10.7以降キーボード設定によって”New Terminal at Folder”を有効化できるという。

Nemoには標準で端末を開く機能がある。 この端末はデフォルトではGnome Terminalになっているが、gsettingsを使うことで他の端末を使うこともできる。(つまり、一般的にはそのようなことはしない)

Open VSCode Here

Nemoの場合はNemo Actionを使うことで右クリックメニューに追加できる。

[Nemo Action]
Name=Open VSCode
Comment=Visual Studio Code open on here

Exec=/usr/bin/code -n "%P"

Icon-Name=atom

Selection=Any
Extensions=any;

Macの場合Automaterを使う必要があるようだ。 設定の手間が多いと感じるが、大差ないと言えるか。

端末/Zsh/Plugins

Macにも標準端末が搭載されている。タブ機能も搭載されており、基本的な部分ではあまり不満がない。

しかし、機能面では貧弱で、出来の悪いVTE端末と大差ない。 痛い点として、Nerd Fontの表示が正しくなく、Meslo Nerd Fontを使ったとしてもPowerlevel10kの表示がうまくいかない。

一応、/usr/localディレクトリは存在しているが、あまりプラグインをスマートに導入できるわけでもない。

Macは標準シェルがZshになっており、Zshに関する不満は特にない。

Code

私はCode-OSSユーザーなのだが、Macだと使うのはかなり難しそうだ。

VSCodiumを使えばいいと思うかもしれないが、私の環境ではうまく動作しなかった。

やむをえずVisutal Studio Codeを使用した。

キーボードとマウス操作

ThinkPadの操作はラップトップとしては非常に優れている。

16インチのMacは、やたらと遠いキーボード、大きすぎてしかも感度が悪いタッチパッド、キータッチのはっきりしないキーボード、といまいちだ。

また、ホームポジションを堅持するローマ字入力者は気にならないかもしれないが、Siriやミュートキーを押してしまうことが少なくなく、気づいたらミュートになっていたということがよくある。

日本語入力

ことえり自体がひどく不満というわけではないが、直接入力と日本語入力の切り替えがひどく遅いのはとても気になる。

どちらも約1秒程度のラグがあり、このラグの間に入力するとチャタリングが発生するため、非常にストレスである。

WindowsもLinux(Fcitx)も一瞬で切り替えられるし、先行入力も可能なので、全く気にならないから、かなりしんどい。 Appleのヘルプにかかれているキーバインドは動作しなかった。

Slack

日本語入力以外に特に不自由はない

Discord

日本語入力以外に特に不自由はない

Vim

バージョンも特にそれほど古いわけではなく、問題はない。

Core utils

GNUツールに慣れている私としては、機能が貧弱でオプションが異なるBSDコマンドは使い勝手がよくない。

ファイルアクセス

Macでは、シェルの機能が著しく制限されている。 例えば、ダウンロードフォルダはシェルからはアクセスできない。

これは非常に不便であるし、原則が保たれていないことで「不完全なUnixシステム」という印象を受ける。 実際、こうした制約によりシェルが使えないということが多々ある。 このためにシェルは根幹にして基本というものではなく、システムの上に乗っている薄っぺらいもの、言ってみればWSLと同じようなレベルのものに過ぎないと感じてしまう。

素早いアプリの起動

私はLinuxでは「コマンドでの起動」を前提にしている。 CinnamonならAlt+F2で素早く起動が可能だ。aheadも可能なので、プロンプトが表示されるより早く起動することもできる。

だが、Macではアプリにパスが通っていないため、これができない。

アプリの起動がいちいち面倒だというのもあるが、もうひとつ大きな問題がある。 Firefoxは-Pあるいは-pオプションを使ってプロファイルを指定できるが、パスが通っていないため、非常にやりづらい。

Aliasにすることで端末上からは起動できるが、disownしても完全に切り離されるわけではないため、あまり快適とは言えない。 アプリを起動するためだけの端末を起動しておくなどというのは、いつの石器時代だという感じがする。

Zenity/Yad

コマンドラインで素早いコマンド実行が難しい場合に役立つのがZenity/Yadだ。

Firefox以外のプロファイルを含めた起動にZenityを使っている。

MacではGtkがないため当然ながらどちらも使えない。しかし、ZenityはBrewで使うことができる。

Brewに依存するのはいかがなものかとも思うが。

終了

シャットダウンはごく基本的な機能だ。

シャットダウンしてもMacはちゃんとクローズせず、また電源断もしないため、バッテリーを消耗する。 シャットダウンは、それによって完全に接続を断ってほしいのであり、シャットダウンしたにも関わらず動作しているというのは期待する(予期する)動作と異なり、ユーザーを裏切る挙動だと思う。

というか、シャットダウンすらできないコンピュータというのは、すごい欠陥なのでは。

ハードウェア的な部分

Macはハードウェア一体のものである、ということを鑑みて、任意のラップトップとMacbook Proとの比較とする。

重量

重量は非常に重い。現代のモバイルラップトップとは到底思えない。

強度

筐体はアルミ製。

パッと見にはIdeaPadなどと似たようなものに見えるが、実際には全く違う。

非常に頑強であり、踏んだくらいでは壊れなさそうだ。 比較的頑強なThinkPad X1 Carbonでもここまでは強くないので、重さを帳消しにするくらいには魅力的であるように見える。

ディスプレイ

ディスプレイはグレアであり、作業を妨げる。

また、最近のラップトップには比較的ありがちなことだが、キーボードに付着した脂がディスプレイに付着してしまう。

しかし、それ自体はあることなのだが、Macbookのディスプレイは脂を除去するのが極めて難しい。 様々な方法を試したが、キレイに除去することができなかった。

処理性能

カスタムモデルのIntel Coreシリーズだが、処理性能は高くない。

Ryzenに対して大きく差をつけられているため、仕方ないと言える。

省電力

ラップトップを放置しているとき、つまりスクリーンセーバー状態のときの省電力性能は非常に優れている。 これはpowersaveモードでThinkPadでディスプレイをオフにしたときよりも少ない。 この点は魅力的だ。

一方、通常時の消費電力は結構大きく、マイレージ性能は高くない。