情報系の学生向けなMacBook Airのセットアップの記録


（2018/08/30追記）
この記事は2014年に書かれたもので、相当に古く、もはや参考にしてはいけません :bow:

---

Mac OS X v10.4 Tigerを使っていた学生時代から煮込まれた環境を浄化すべく新の状態からのセットアップ手順を記録します。

**片手間に少しづつ更新します。**

「情報系の学生向け」と書いていますが、いわゆる情報系にも色々ありますでしょうが、まぁ要するにオレ向けです。似た環境の人には役立つとおもわれます。

- 想定する読者
  - いわゆる情報系の学生

## 個人情報

- [KeePassX 2.0](http://www.keepassx.org): パスワード管理ツール。OS X、Windows、Linux、iOS、Androidなどで使える。クラウドで同期させればかなり便利に使える。マルチプラットフォームかつポータビリティを優先するならこれがオススメ。
- [Portable Firefox](http://www.freesmug.org/portableapps:firefox): Firefoxのポータブル版。１ヶ所でデータ管理してくれるので、開発に使っているウェブブラウザや普段使いのウェブブラウザとデータが混在しなくて良い。銀行口座などのレベルの高い個人情報に関わるウェブ閲覧は全てこの中で行っている。マスターパスワードをかけている。
  - [Remember Passwords](https://addons.mozilla.org/ja/firefox/addon/remember-passwords/): `autocomplete="off"`によりオートコンプリートを無効にしているサイトでも頑張って有効にしてくれる拡張機能。楽。

## 事務処理

- [TheUnarchiver](https://itunes.apple.com/jp/app/the-unarchiver/id425424353): 圧縮ファイルの展開ツール
  - Windowsで作成された圧縮ファイルでもファイル名が文字化けすることなく展開できる。
- [Burn](http://burn-osx.sourceforge.net/Pages/English/home.html): CDやDVDのライティングソフト
  - Disk Utilityではできない作業に使っている。

## ショートカットキー

- [Karabiner](https://pqrs.org/osx/karabiner/index.html.ja): キーボードカスタマイズツール。
    - 左コマンドキーを「英数」、右コマンドキーを「かな」に割り当てる。超便利。
        - For Japanese > 左右のコマンドキーを「英数／かな」としても使う > コマンドキーの動作を優先モード v1
    - アプリの終了を`commmand`+`q`→`q`に変更して誤爆をふせぐ。
      - quit applicationで検索してCustom Shortcuts > Press Command+Q twice to Quit Applicationにチェック
- `shift`+`command`+`s`でSpotlightを起動する。
    - Preferences > Keyboard > Shortcuts > Spotlight > Show Spotlight searchで設定する。
- Finderでフォルダを選択した状態で`shift`+`command`+`t`でTerminalを開く。
    - FinderのShow Tar Barとバッティングしているのでまずこれを別のショートカットに変更しておく。
    - Preferences > Keyboard > Shortcuts > App ShortcutsにFinder -> Show Tar Barを`shift`+`control`+`t`など別のショートカットに割り当てを変更する。
    - Preferences > Keyboard > Shortcuts > Services -> Files and Folders -> New Terminal at Folderで設定できる。
- Terminal.appで`option`+`command`+`left` / `option`+`command`+`right`でタブを切り替える。ウェブブラウザとかと統一するのがねらい。
    - System Preferences > Keyboard > Shortcuts > App Shortcuts > Add
        - 前タブ
            - Application: Terminal
            - Menu Title: Show Previous Tab
            - Keyboard Shortcut: `option`+`command`+`left`
        - 次タブ
            - Application: Terminal
            - Menu Title: Show Next Tab
            - Keyboard Shortcut: `option`+`command`+`right`

## プログラミング環境

### Terminal

- Preferences > Profile > Text > Font > `Inconsolata 14 pt.`
  - 見やすいフォント。
- Preferences > Profile > Text > Text > Antialias Text -> :ballot_box_with_check:
  - こっちの方が見やすい。
- Preferences > Profile > Window > Title > Command key > :ballot_box_with_check:
  - ショートカットキーでアクティブにするための番号が各ウィンドウのタイトルバーに表示される。
- Preferences > Profile > Advanced > Bell -> Audible bell: :white_large_square:
  - デフォルトだとポンポン音がせわしないのでオフ。

### バージョン管理

- [SourceTree](http://sourcetreeapp.com/): GitやMercurialで使えるクライアントアプリ。
    - [App Storeにも公開されている](https://itunes.apple.com/jp/app/sourcetree-git-hg/id411678673?l=en&mt=12)がこっちは最近更新されていないので公式サイトからインストールした方が良いと思われる。
    - `stree`のインストール: Menu > SourceTree > Install Command Line toolsから`stree`コマンドをインストールできる。コマンドラインからgitリポジトリをSourceTreeで開けるようになって楽。
- [GitHub for Mac](https://mac.github.com/): GitHubにはSourceTreeでもアクセスできるがGitHubに限ればこっちの方が使いやすい気がする。`stree`のGitHub版みたいな`/usr/local/bin/github`（TerminalからGitHubのアプリを起動するツール）もこのアプリからインストールできる。

その他、`git`と`svn`のコマンドはMacPortsでインストールしている。

```bash:インストール
$ sudo port install git subversion
```

```bash:パスの確認
$ type -a stree 
stree is /usr/local/bin/stree
$ type -a github
github is /usr/local/bin/github
$ type -a git
git is /opt/local/bin/git
git is /usr/bin/git
$ type -a svn
svn is /opt/local/bin/svn
svn is /usr/bin/svn
```

ファイアウォールで`git://`のポート番号`9418`がブロックされている場合があるので、代わりに`https://`を使うように設定する。`bower`などはコマンドはデフォルトで`git://`を使うのでファイアウォールでブロックされるとうまく動かない。設定しておくと吉。

```bash
$ git config --global url.https://github.com/.insteadOf git://github.com/
```

このコマンドを実行すると下記の設定が追記される。

```$HOME/.gitconfig
[url "https://github.com/"]
        insteadOf = git://github.com/
```

### Ruby

- 概要
  - MacPortsでインストール
  - RubyGemsのパッケージはユーザのホームディレクトリ配下にインストール

```bash:インストール
$ sudo port install ruby21
xcode-select --install
sudo xcode-select -switch /Library/Developer/CommandLineTools
# こっち？
# sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/
sudo xcodebuild -license
```

- MacPortsでインストールするとruby2.1といったバージョンが付与されたコマンドとしてインストールされる。

```bash:バージョンの確認
$ /opt/local/bin/ruby2.1 -v
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14]
$ /opt/local/bin/gem2.1 -v
2.2.2
```

- シンボリックリンクをはる。ユーザが定義したコマンドやシンボリックリンクは`~/.bin/`以下に配置して、そこへのパスを最初に参照するように`~/bash_profile`に記述している。


```~/.bash_profile
export PATH=$HOME/.bin:$PATH
```

```bash:シンボリックリンクの作成
$ ln -s /opt/local/bin/ruby2.1 ~/.bin/ruby
$ ln -s /opt/local/bin/gem2.1 ~/.bin/gem
```

```bash:コマンドの確認
$ type -a ruby
ruby is /Users/masayuki/.bin/ruby
ruby is /usr/bin/ruby
$ type -a gem
gem is /Users/masayuki/.bin/gem
gem is /usr/bin/gem
```

- 以下のファイルを配置する。`--user-install`をつけておけば、RubyGemsのパッケージは`~/.gem/`にインストールされるので管理者権限が不要になったり可搬性が高まったりする。

```ruby:~/.gemrc
gem: "--no-ri --no-rdoc --user-install"
```

- `--user-install`を付けてインストールした実行可能なパッケージのコマンドは`~/.gem/ruby/2.1.0/bin/`にインストールされるのでそこへパスを通す。

```~/.bash_profile
export PATH=$HOME/.gem/ruby/2.1.0/bin:$PATH
```

```bash:pryをインストール
$ gem install pry
```

```bash:バージョンの確認
$ type -a pry
pry is /Users/masayuki/.gem/ruby/2.1.0/bin/pry
$ pry -v
Pry version 0.10.1 on Ruby 2.1.5
```

### Java

#### Java SE Development Kit

[JDK](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)をインストールする。公式サイトにインストーラがある。

`JAVA_HOME`を設定する。未設定の場合、複数の異なるバージョンのJDKがインストールされている環境でMavenが意図通りに動かない場合がある。

```~/.bash_profile
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
```

#### ビルドツールとパッケージ管理ツール

```bash:AntとMavenのインストール
$ sudo port install apache-ant maven3
```

```bash:シンボリックリンクの作成
ln -s /opt/local/bin/mvn3 ~/.bin/mvn
```

```bash:コマンドの確認
$ type -a ant
ant is /opt/local/bin/ant
$ type -a mvn
mvn is /Users/masayuki/.bin/mvn
```

#### 統合開発環境

- [Eclipse IDE for Java EE Developers](https://eclipse.org/downloads/)
  - サーブレットなど作る場合はEEを使う。
- [Eclise ADT with the Andoroid SDK for Mac](https://developer.android.com/sdk/index.html)
  - adt-bundle-mac-x86_64-20140702.zipをダウンロードして展開する。

## OSの管理

- [OnyX](http://www.titanium.free.fr/downloadonyx.php): 多機能なユーティリティ
  - キャッシュの削除などに使っている。
- [AppCleaner](http://www.freemacsoft.net/appcleaner/): アプリ削除ツール
  - アプリに関連する設定ファイルなども見つけて削除できる。App Store外でインストールしたアプリのアンインストールに使っている。
- [iStumbler](http://www.istumbler.net): WiFiやBluetoothの電波を捉えて情報を表示するツール
  - 周囲の電波状況の確認に使っている。
- [coconutBattery](http://www.coconut-flavour.com/coconutbattery/): バッテリ情報表示ツール
  - バッテリに関する詳細情報へ簡単にアクセスできる。

## アカウント

- ゲストアカウントをオフにする。
    - 使わないのでオフに。
    - Preferences > Users & Groups > Guest User -> Allow guests to log in to this computerのチェックを外す。


## 未分類

- iPhoneをUSBでMacに接続した際にアプリを自動で起動させない。
  1. Image Capture.appを起動する。
  2. 左のメニューから自動起動の設定を解除したいデバイスを指定する。
  3. 左下のプルダウンからNo Applicationを指定する。
- [DisplayLink Mac Software](http://www.displaylink.com/support/sla.php?fileid=134): USBからDVIに変換するアダプタなどを使う場合に必要。

## MacPorts

- ttyrec
- gnuutils
- ImageMagick
- gnuplot

```bash
# Python関連
sudo port install python34
sudo port select --set python python34
sudo port install py34-pip
sudo port select --set pip pip34
# グラフ描画ライブラリmatplotlib
pip install matplotlib
```

## その他の設定

### Quick Lookでテキスト選択可能にする

ターミナルで以下のコマンドを実行する。

```bash
defaults write com.apple.finder QLEnableTextSelection -bool TRUE; killall Finder
```
参考リンク: [Select and copy text within Quick Look previews](http://www.macworld.com/article/1164668/select_and_copy_text_within_quick_look_previews.html)

### QuickLookでソースコードに配色する

- [qlcolorcode](https://code.google.com/p/qlcolorcode/)