2016/12/30

MacBook Pro Touch Barモデル購入&初期設定メモ2016.12

MacBook Pro Touch Bar モデルを購入しましたので以前の記事と同じようにして備忘録として初期設定をまとめます。基本的に以下の記事のアップデートです。

構成

10/31 に以下の構成でポチって、12/1 に手元に届きました。

  • 2.9GHz Quad-core Intel Core i7
  • 16GB 2133MHz LPDDR3
  • Radeon Pro 460
  • 1TB PCIe SSD
  • バックライトキーボード (US)

macOS 設定

トラックパッド

MacBook を使う理由はトラックパッドの操作性につきるので、この設定は一番はじめに行います。
  • システム環境設定>トラックパッド>ポイントとクリック
    • 「調べる&データ検出」を「1本指で強めのクリック」
    • 「タップでクリック」を有効化
  • システム環境設定>トラックパッド>その他のジェスチャ
    • 「アプリケーションExposé」を有効化
  • システム環境設定>アクセシビリティ
    • マウスとトラックパッド>トラックパッドオプション
      • ドラッグを有効にする「ドラッグロックあり」
    • ズーム機能
      • 「スクロールジェスチャと修飾キーを使ってズーム」をチェックして「⌃ Control」を選択

キーボード

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

  • システム環境設定>キーボード
    • キーボード
      • 「装飾キー」で「Caps Lock (⇪) キー」を「⌃ Control」に変更
    • ショートカット
      • フルキーボードアクセス:「すべてのコントロール」に変更
      • Spotlight
        • Spotlight検索を表示を「⌘ スペース」から「⌥ スペース」に変更
        • Finderの検索ウィンドウを表示「⌃ ⌘ スペース」から「⌃ ⌥ スペース」に変更
      • 入力ソース
        • 「前の入力ソースを選択」を「⌃ スペース」から「⌘ スペース」に変更
        • 「入力メニューの次のソースを選択」を「⌃ ⌥ スペース」から「⌃ ⌘ スペース」に変更
    • 入力ソース
      • 「書類ごとに入力ソースを自動的に切り替える」を有効化

Dock

  • 「ウィンドウをアプリケーションアイコンにしまう」をチェック
  • 「Dockを自動的に隠す/表示」をチェック

Mission Control

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

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

スクリーンキャプチャ

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

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

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

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

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

$ killall SystemUIServer
Time Machine

仮想マシンイメージなどサイズが大きくてバックアップから除外したいものを GUI で一つずつ指定するのは手間ですので tmutil(8) コマンドで設定します。

$ cat <<EXCLUSION_PATHS | tr '\n' '\0' | xargs -0 sudo tmutil addexclusion -p
/cores
$HOME/.vagrant.d/boxes
$HOME/Dropbox
$HOME/Downloads
$HOME/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
$HOME/VirtualBox VMs
EXCLUSION_PATHS
Thunderbird のプロファイルディレクトリなど環境によってパスが異なる可能性のあるものについては個別に設定します。
$ sudo tmutil addexclusion -p $HOME/Library/Thunderbird/Profiles/*/global-messages-db.sqlite

アプリケーション

Web ブラウザや PDB ビュアー以外にパッケージとしてインストールしたものを列挙します。

UNIX アプリケーション

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

Homebrew

公式手順通りにインストール。Homebrew — The missing package manager for macOS

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

自宅内の各種機器や VirtualBox による仮想マシンのホスト名などは hosts 形式のファイルで手軽に扱える dnsmasq で管理しています。

$ sudo chown -v root $(brew --prefix dnsmasq)/homebrew.mxcl.dnsmasq.plist

$ sudo ln -sv $(brew --prefix dnsmasq)/homebrew.mxcl.dnsmasq.plist /Library/LaunchDaemons/
$ sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist
この hosts ファイルを Dropbox で共有しておくと同じ仮想マシンなら自宅据え置きの MacBook Pro からでも出先の MacBook からでも同じように扱えて便利です。
$ chmod -v o+x ~/Dropbox

$ ln -sv /path/to/dropbox/dnsmasq.conf /usr/local/etc/
$ ln -sv /path/to/dropbox/resolv.conf.dnsmasq /usr/local/etc/
$ ln -sv /path/to/dropbox/hosts.dnsmasq /usr/local/etc/

あとはネットワーク設定でインターフェースごとの DNS に dnsmasq を設定すればよいのですが、これを設定してしまうと外出先などで別のネットワーク環境に接続したときに通知される DNS が利用できなくなってしまいます。

調べてみると OS X では /etc/resolver/<ドメイン名> というファイルでドメインごとの resolv.conf の設定を記述できるようですので、dnsmasq で名前解決させたいドメインについてのファイルを作成します。

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

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 は 野良 Formula を書いていましたが更新が面倒になってきたのでオレオレパッチを当てたものを ~/local 以下に入れて stow で管理しています。

まだ v4系を使い続けていて master ブランチの新機能などは試せていません。

Vim 8.0

今年の 9月にリリースされたバージョン 8 系の最新版を使いたいので HEAD を指定してインストールします。

% brew install vim --HEAD

Emacs 25.1

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

パッケージとして GNU Emacs For Mac OS X がありますが、ATOK との連携は外せないので以下サイトに従って self-contained バイナリをビルドして使っていました。

基本的な操作しかできませんが新しいバージョンは使ってみたいので、今年(2016年)リリースされたバージョン 25.1 での inline-patch の適用方法を探していると homebrew での導入方法がありました。

これを参考にビルドしています。
% EDITOR='patch -p2' brew edit emacs <<EOM
--- a/Formula/emacs.rb
+++ b/Formula/emacs.rb
@@ -5,6 +5,13 @@ class Emacs < Formula
   mirror "https://ftp.gnu.org/gnu/emacs/emacs-25.1.tar.xz"
   sha256 "19f2798ee3bc26c95dca3303e7ab141e7ad65d6ea2b6945eeba4dbea7df48f33"

+  patch :p1 do
+    url "https://raw.githubusercontent.com/suzuki/emacs-inline-patch/master/emacs-inline.patch"
+  end
+
+  depends_on "autoconf" => :build
+  depends_on "automake" => :build
+
   bottle do
     rebuild 4
     sha256 "c80ef281b85fb8a8bd65a84676056ea41d7bb2954d5c82193eef2acea2ade856" => :sierra
EOM

% brew install --with-cocoa --with-gnutls --with-modules emacs

ビルドした後に brew linkapps emacs を実行すると /Applications 以下にシンボリックリンクが作成されますが、これだと Spotlight 検索に引っかからず、その為だけにファイルをコピーするのも面倒だなと思っていたところ、以下の記事を見つけました。

これを参考にエイリアスを作成して Spotlight 検索から素早く Emacs が起動できるようになりました。
% osascript -e 'tell application "Finder" to make alias file to POSIX file "'$(brew --prefix emacs)/Emacs.app'" at POSIX file "/Applications"'
alias file Emacs.app of folder Applications of startup disk

% file /Applications/Emacs.app
/Applications/Emacs.app: MacOS Alias file

Ricty

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

vim-powerline を使っていますので Ricty フォントに powerline パッチを適用します。現在は homebrew でパッチ適用版がインストールできるようなので手軽です。
% brew install ricty --vim-powerline --powerline

% cp -f /usr/local/share/fonts/Ricty*.ttf ~/Library/Fonts/
% fc-cache -vf

MacUIM

あまり使用する機会は多くありませんが、X アプリケーションで日本語入力を行う時に備えてインストールします。

% mkdir ~/.xinitrc.d

% cat > ~/.xinitrc.d/uim-xim.sh <<EOM
#!/bin/sh
/Library/Frameworks/UIM.framework/Versions/Current/bin/uim-xim --engine=anthy-utf8 &
EOM

% chmod -v 0744 ~/.xinitrc.d/uim-xim.sh
export XMODIFIERS="@im=uim"

mlterm

macOS で Sixel 画像を試せるように mlterm をインストールします。

まず画像ファイルのロードに必要な画像処理ライブラリをインストール。
% brew install gdk-pixbuf sdl2 sdl2_ttf fontconfig
つぎにアンチエイリアスフォントの描画に必要な cairo を --with-x11 オプション付きでインストール。
% brew install cairo --with-x11
そして mlterm 本体をインストール。stow を使って管理しているので --prefix オプションを使用しています。
% cd ~/local/src
% curl -s -L http://sourceforge.net/projects/mlterm/files/latest | tar xvzf -

% cd mlterm-3.7.2

% ./configure --with-type-engines=cairo --prefix=$HOME/local/stow/${PWD##*/}
...

Mlterm was configured as follows

Installation path prefix          : /Users/yoshikaw/local/stow/mlterm-3.7.2
Build shared libraries            : yes
Build static libraries            : yes
BiDi rendering (Fribidi)          : no
Indic rendering                   : yes
OpenType Layout                   : yes (harfbuzz)
External tools                    : mlclient mlcc mlimgloader registobmp mlfc
Image processing                  : yes
Built-in image library            :
utmp support                      : no
Type engines                      : cairo
DnD                               : yes
Input Methods                     : XIM kbd skk
Scrollbars                        : simple sample extra pixmap_engine
libssh2                           : no
GTK+                              : no (2.0)
libvte                            : no
VT52                              : no

% make
% make install
動作確認は libsixel と ame.sh で。

おわりに

Touch Bar の Touch IDによる各種認証はなかなか便利で、Apple Watch によるロック解除と合わせてかなりロックインされた感じです。Touch Bar によるインターフェースについては、ファンクションキーなどは、まあそうですねという感じですがスライダーで操作するものは確かに便利です。個人的にはカレンダーアプリで月の選択がとくに便利と感じました。

新しい MacBook とは打鍵感の異なるキーボードにも慣れてきました。大きなトラックパッドなど操作性もかなり向上しましたので、引き続きメイン端末として活躍してくれそうです。

0 件のコメント:

コメントを投稿