2014/09/19

OS X Mavericks再インストール後の設定メモ2014.09

外出先で使用している MacBook Air の SSD が認識されなくなったので故障交換してもらいましたが、その後 TimeMachie バックアップの復元を何度試しても再起動後に白い画面から進まなくなってしまいました。OS X Yosemite のリリースが近いですが Mavericks を改めてインストールし直したときのメモです。基本的に以下の記事のアップデートです。

謎の白い画面

先日 とある勉強会 に持ち込んだ MacBook Air を広げると、見慣れない白い画面。

後日 Genius Bar に持ち込んで診てもらうと SSD 不良で交換となりました。

構成

2013/06 に購入した MacBook Air (11" Mid 2013) です。

  • 1.7GHz Intel Dual-Core Core i7
  • 8GB 1600MHz LPDDR3 SDRAM
  • 256GB Flash Storage
  • Keyboard(US)
  • AppleCare Protection Plan for MacBook Air

OS X 設定

トラックパッド

MacBook を使う理由はトラックパッドの操作性につきるので、この設定は一番はじめに行います。

  • システム環境設定>トラックパッド>ポイントとクリック
    • 「タップでクリック」
  • システム環境設定>アクセシビリティ
    • マウスとトラックパッド>トラックパッドオプション
      • ドラッグを有効にする「ドラッグロックあり」
    • ズーム機能
      • 「スクロールジェスチャと修飾キーを使ってズーム」をチェックして「⌃ Control」を選択

キーボード

日本語入力はアプリごと、Spotlight より Emacs のマークを優先、ファンクションキーはその機能を呼び出す時に押すほうが好み、A の左は Control、ダイアログ内の操作対象選択もキーボードで、ということで以下設定。

  • システム環境設定>Spotlight>検索結果
    • 「Spotlightメニューのキーボードショートカット」を「⌥ スペース」に変更
  • システム環境設定>キーボード
    • キーボード
      • 「F1、F2などのすべてのキーを標準のファンクションキーとして使用」
      • 「装飾キー」で「Caps Lock (⇪) キー」を「⌃ Control」に変更
    • ショートカット
      • フルキーボードアクセス:「すべてのコントロール」に変更
    • 入力ソース
      • 「書類ごとに入力ソースを自動的に切り替える」

Mission Control

OS X Leopard における Spaces の操作感が好きなのでそのように変更。

  • システム環境設定>Mission Control
    • 「Dashboard を操作スペースとして表示」のチェックを外す
    • 「最新の使用状況に基づいて操作スペースを自動的に並べ替える」のチェックを外す
    • 「キーボードとマウスのショートカット」「ホットコーナー」のキー割り当てを次のように変更
  • システム環境設定>キーボード>キーボード
    • Mission Control の「デスクトップ 1 への切り替え」をチェック

一般

  • サイドバーのアイコンサイズ
    • 「小」を選択

Dock

  • 「ウィンドウのアプリケーションアイコンにしまう」をチェック
  • 「Dockを自動的に隠す/表示」をチェック
直接 Dock に関する設定ではありませんが、私は Google Calendar と連携している iCal をよく使うのですが日付が変わっても Dock にあるアイコンが更新されないことに気づきました。起動し直せばそのタイミングで最新化されますが、Command + Tab したときなどにふと見たときに変わっていないのは不便だなぁ思って少し調べましたがコレと行った決め手がないようなので、cron で毎時 0 分に Dock を再起動するようにしています。
0 * * * * /usr/bin/killall Dock > /dev/null

スクリーンキャプチャ

デスクトップが散らかるのは嫌いなので保存先を ~/Pictures/ScreenShot に変更します。

$ mkdir ~/Pictures/ScreenShot
$ defaults write com.apple.screencapture location !$

あと影もいらないので無効にします。

$ defaults write com.apple.screencapture disable-shadow -bool true

変更した設定を反映させるために SystemUIServer を再起動します。

$ killall SystemUIServer

(⌃ control+)⇧ shift+⌘ command+4 で範囲指定する際にスペースを押すとウィンドウ単位で選べるんですね。いつも気を遣って選択してクリップボードに送り込み、Gimp で取り除いてました。。。たまに調べると新たな発見があります。

Finder

あまりないですが、たまに Finder を終了したいときがあるので可能にしておきます。

$ defaults write com.apple.Finder QuitMenuItem -boolean true

アプリケーション

ブラウザ(Firefox/Google Chrome/Opera)とかビュアー以外にパッケージとしてインストールしたものを列挙します。

メニューバーの非表示

OS X Lion から導入されたフルスクリーンの動作は好きになれませんが一行でも多く表示したいという思いはあります。そのためデスクトップの割り当て先を固定したよく使うアプリケーション(Firefox や Thunderbird、iTerm など)についてはメニューバーを非表示にするために個別に以下を実行します。

$ sudo defaults write /Applications/Firefox.app/Contents/Info LSUIPresentationMode -int 4
$ sudo chmod 0644 /Applications/Firefox.app/Contents/Info.plist

UNIX アプリケーション

「美しい GUI を備えた UNIX 端末」として OS X を使っているでここからの設定が本題。

Homebrew

公式手順通りにインストール。Installation · mxcl/homebrew Wiki

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)/"
あとはコンパイルやリモートアクセスなど端末操作でよく使うものを導入。他に足りないものは気づいたら適当に入れます。三種の神器は最新版をビルドします。(エディタ:vim/シェル:zsh/ターミナルマルチプレクサ:GNU Screen)
  • autoconf
  • automake
  • corkscrew
  • dnsmasq
  • fontforge --with-python
  • freerdp
  • git
  • global
  • htop
  • lv
  • pv
  • rlwrap
  • stow
  • tiger-vnc
  • tmux
  • vim --HEAD
  • w3m
  • wget
  • zsh
Vim

vim は最新の開発版を使いたいので HEAD を指定してインストールします。

次にプラグインマネージャ Vundle をインストールします。インストール先は自分の環境用に変えています。 gmarik/Vundle.vim

% mkdir -p ~/.vim/bundle
% git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/vundle
Vundle によって管理しているプラグイン設定を読み込むよう .vimrc を調整してプラグインを一括インストール。
% vim +PluginInstall +qall
その後 Shougo/vimproc.vim の外部ライブラリをビルド。
% (cd ~/.vim/bundle/vimproc && make -f make_mac.mak clean all)

ZSH
zsh インストール後はデフォルトシェルを /usr/local/bin/zsh に変更します。
$ sudo sh -c 'echo /usr/local/bin/zsh >> /etc/shells'
$ chpass -s /usr/local/bin/zsh
GNU Screen
GNU Screen は今だと 4.2.1 がリリースされていますが、やっぱり個人的に満たされないところがあるのでオレオレパッチを当てた野良ビルドを ~/local 以下に入れています。

Emacs

普段は端末で vim ばかり使っていますが、Emacs も少しは使えないとまずいだろうなーと心のどこかで思っているので OS X でのメモとかブログ下書きなどには Emacs を使うようにしています。

ATOK との連携などを考えて以下サイトに従って self-contained バイナリをビルドして使っていましたが、インラインパッチ適用済みのバイナリが配布されていますので今はそちらを使っています。

Ricty

iTerm や Emacs のフォントはこれを使用しています。数字のゼロ、アルファベットの Q 、全角スペースの可視化などが気に入っています。

vim-powerline を使っているためインストール後に Powerline パッチを適用します。
% cd ~/.vim/bundle/vim-powerline/fontpatcher
% cp -pv ~/.fonts/Ricty-*.ttf .
% ls Ricty-*.ttf | xargs -n 1 fontforge -lang=py -script fontpatcher
% cp -pv Ricty-*-Powerline.ttf ~/.fonts/
% sudo fc-cache -vf

mlterm , libsixel

OS X で手軽に Sixel 画像を表示するために mlterm と libsixel は欠かせないものになりました。

MacUIM

X で日本語入力したい時がたまにあるので MacUIM の設定。といっても $HOME/.xinitrc.d にスクリプトを置いてシェルの環境変数を設定するだけ。

% mkdir ~/.xinitrc.d
% cat > ~/.xinitrc.d/uim-xim.sh <<EOM
#!/bin/sh

/Library/Frameworks/UIM.framework/Versions/Current/bin/uim-xim --engine=mozc &
EOM
% chmod -v 0744 ~/.xinitrc.d/uim-xim.sh
export XMODIFIERS="@im=uim"

dnsmasq

自宅内の各種機器や VirtualBox による仮想マシンのホスト名などは hosts 形式のファイルで手軽に扱える dnsmasq で管理しています。この hosts ファイルを Dropbox で共有していますので同じ仮想マシンなら自宅据え置きの MacBook Pro からでも出先の MacBook Air からでも同じように扱えて便利です。

ですが外出先の環境で WiFi などに繋いだときには DHCP で通知される DNS になってしまいますので、ローカルの仮想マシンに対する名前解決が出来なくなってしまいます。(ネットワーク設定でインターフェースごとに DNS を設定できますが、それを設定すると DHCP で通知される DNS が利用できない)

調べてみると OS X では /etc/resolver/<ドメイン名> というファイルに DNS サーバを記述することでドメイン固有の DNS を定義できるようです。

この記事を参考に次のようなファイルを作成しています。
% cat /etc/resolver/vbox
nameserver 127.0.0.1
search_order 1

おわりに

この手順で一通り普段つかうソフトウェアは入りましたが、dotfiles の設定でまた一苦労しそうです(これはこれで見直せて楽しいですが)。おいおい github 管理して楽になりたいなと思っています。

しばらく MacBook Air が使えなくなったので、その後 YAPC::Asia Tokyo 2014Re-Virtualize Night でのメモには iPad/iPad mini + bluetooth keyboard というスタイルでしたが、これはこれで普通に使えたので、Twitter と Web ブラウズ程度しかしないなら MacBook を持ち出す必要はないのかもと思いました。

0 件のコメント:

コメントを投稿