MacBook Air (Mid 2011) 11-inch 環境構築メモ

MacBook Air (Mid 2011) 11-inch が届いた - ny23の日記 から,環境構築のメモを切り出してこちらにまとめておく.適宜更新予定.

  • 何はともあれ KeyRemap4MacBook でキーバインディングをカスタマイズ.最新版(というか version 7.0.0 以降)では再コンパイルなしで設定を追加できるようになっていて便利.
  • ストレージの容量が(メインマシンとしては)少ないので,Monolingual で日英以外の言語リソース (1.3GB) を削除.iPhoto (1.1GB), iMovie (0.7GB), GarageBand (0.4GB)も削除*1/Library/Application Support/GarageBand (1.5GB) もゴミっぽいが一応残しておく. GarageBand 再インストール後,初回起動時にダウンロードされるようなので削除.
  • ローカルスナップショット> sudo tmutil disablelocal で無効にする.
  • RoaringApps を眺めながら,Firefox/Thunderbird, Growl, TotalTerminal, The Unarchiver, InsomniaX, iStat, Skitch, Meteorologist, TinkerTool, Macfusion + OSXFUSE, coconutBattery などを入れる.OSXFUSE は 2.3.2 に更新したらフリーズするようになったので,2.3.1 に戻した.さらに,Fuse4X の方が(パッケージシステムに採用されたりと)見込みがありそうなので,Homebrew でインストールして OSXFUSE はアンインストールした.
  • パッケージ管理システムを MacPorts から Homebrew に移行*2gccsvn HEAD を homebrew-alt の Formula を元に導入.Emacs は fullscreen/inline patch 込みの野良 Formula を利用.
  • TeXTeX Live 2011 (3GB) ではなく,teTeX/ptetex3 ベースの Drag & Drop UpTeX (0.5GB) を導入.Skim, LaTeXiT, ps2eps, gnuplot, detex などの周辺ツールも忘れずに入れておく.
  • 仮想環境は Paralles Desktop 6 にして Windows 7 + MS Office 2010 (~17GB)*3 を入れておく.ほとんど使わないものを入れるのは釈然としないが,不要のトラブルを避けるため仕方ない.8月に入ってからの購入だったので,Parallels 7 Desktop キャンペーンの対象になり,無償アップデート.
  • 論文などのデータを移行アシスタントで旧マシンから引き継ごうと思ったが,何となくやめて*4,旧マシンの Time Machine から直で cp -a した.コピーしたフォルダ/ファイルには Time Machine により内容の変更を禁止する Filesystem Access Control Lists が付加されているので,> find dir -print0 | xargs -0 /bin/chmod -N として外した(いい加減).
  • OS の言語設定を English にして Adobe CS 5.5 日本語版を導入しようとしたら,付属のシリアルが通らなかった.仕方が無いので,一旦日本語にして導入したが,OS の言語設定を English に戻して起動するとやはりシリアルを要求される.やむを得ず,Language SwitcherAdobe CS 5.5 だけ日本語で起動するようにした.メニューぐらい英語で出させてくれてもいいのに.
  • 新規導入した Time Capsule でバックアップをとっていると,Logicool G7 Laser Cordless Mouse の反応が鈍る不具合が出た.Time Capsule との無線通信と(同じ 2.4GHz 帯で)干渉しているのかなと思い,Time Capsule とは 5GHz の無線帯で通信するようにしたところ,問題は解消された.副作用として,2.4GHz -> 5Ghz で 20Mbps -> 140Mbps となった.素晴らしい.参考: 無線LANのチャンネル干渉 - PCと解
  • gcc 4.6.1 で -march=native でコンパイルしたバイナリが実行できない.gcc -march=nativeが生成する最適化オプション - Dマイナー志向 を参考に調べてみたところ,どうも -mavx で出力される Intel AVX の命令に Xcodeアセンブラが対応していないためだった. -mavx はあまり効果がないらしいので,しばらくは -march=corei7 とすることにしようかな. 参考: Xcode 4とSnow LeopardとそれからAVX
  • Valgrind は275168 – Make Valgrind work for MacOSX 10.7 Lion ということで,現時点では OS X 10.7 に対応していない.リンク先に作りかけのパッチが上がっていたので,trunk (r12004) にあてて手元でコンパイルしたら動くものができた.しばらくはこれでいくとしよう.r12043 でパッチが取り込まれ,lion 対応になった.
  • スリープからの復帰後,瞬時に再開するものの数秒でキーボード操作を受け付けなくなりディスプレイの電源が消える(十秒ぐらい)という不具合が100%起きるようになった.困ったな./var/log/kernel.log を眺めていたら,以前導入した InsomniaT のログが大量に残っていたので,アンインストーラで完全に消去してみたら,再現しなくなった.良かった良かった.
  • ランチャーを使う代わりに,Spotlight を活用しようとしてみたが,ほとんどアプリケーションの呼び出しにしか使わない上,Thunderbird のメールを現状検索できなくなっていることに加え,インデクス作成で予測できないタイミングで CPU を占有する(ので実験環境としての利用が難しくなる)などの理由から,sudo launchctl unload /System/Library/LaunchDaemons/com.apple.metadata.mds.plist で切って,Auftakt に戻した.
  • (Mac OS X / LINUX での) 外部コマンドの消費メモリのモニタリング - ny23の日記 は lion でも動くが,Tarbo Boost との兼ね合いか,少し実行速度が落ちるように見える.メモリを監視する間隔が細か過ぎるのが問題のようだ.一瞬で終了するプロセスのメモリを計測する場合でなければ SLEEP_NSEC を 10000 (0.01s) 程度にしてやると問題なくなった.

概ね MacBook (Late 2008) と同様の環境を構築できた.OS が変わったので移行アシスタントが使いにくく,scratch から環境構築したけど,大した手間はかからなかったな.

*1:なお,これらは Mac App Store 経由で再インストールできる.

*2:gcc, emacs, grep, ruby など一部を除き,zsh, subversion, git, perl, python など多くのコマンドでは,Xcode を入れた時点で現時点の最新版に近い版が揃うので,環境整備は楽.

*3:64bit の版を入れたが,32bit の版の方がサイズは小さいらしい.

*4:フォルダ階層の深いところにあるファイルだけコピーしたかった.