el capitanにしてからしたことの備忘録 

# 普段使ってるMacBookAirをEl Capitanにしてからしたことの備忘録。

## Xcode

```text
$ xcode-select --install
```

## Homebrew

El Capitanになって`/usr/bin`などへのユーザインストールができなくなったので、軒並み`/usr/local/bin`へ移行しているものがある（例：vagrant）。`/usr/local/`以下のパーミッションおよびオーナーを変更するhomebrewをそのままインストールするのは、コンフリクトが怖いので、$HOME/.homebrew[^1]へインストールすることにした。今の所問題は出ていない。

[^1]: [方法は公式のAlternative Installsから](https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/Installation.md)

```text
$ cd $HOME && mkdir .homebrew && \
curl -L https://github.com/Homebrew/homebrew/tarball/master | tar xz --strip 1 -C .homebrew
```

もちろん普通に使うには.bashrc|.zshrcにpath登録が必要。

```
export PATH=$HOME/.homebrew/bin:$HOME/.homebrew/sbin:$PATH
```

## rubygems

OS標準のrubyを使って`gem install xxx`とやった場合、`/usr/bin`以下にインストールしようとするので、rootlessの影響でエラーとなる。対策として`.gemrc`に下記のように設定。

```
gem: --user-install -n~/bin
```

## anti-virus, anti-malware

アンチウイルスについては`clamav`を入れて、clamdを常駐させ、フォルダアクションでDownloadsにファイルが保存された場合にスキャンするようにした。clamav自体はbrewでインストール。

そして、フォルダアクションに登録するシェルを下記のように書いて登録。`terminal-notifier`をbrewなどで要インストール。

```bash
PATH=$HOME/.homebrew/bin:$HOME/bin:/bin:/sbin:$PATH
CLAMDSCAN="$(which clamdscan) -i --no-summary"
TERMINAL_NOTIFIER="$(which terminal-notifier)"

$CLAMDSCAN "$@" 1> $HOME/.clamdscan.log 2>&1
if [ -s $HOME/.clamdscan.log ]; then
  MSG="$(cat $HOME/.clamdscan.log)"
  $TERMINAL_NOTIFIER -title "ClamdScan Messages." -message "$MSG"
fi
rm $HOME/.clamdscan.log
```

OSXで定期的に実行するのはLaunchAgentsで登録するのがセオリーだが、面倒なので下記のようなシェルスクリプトをcrontabに登録。

```
#!/bin/bash

export PATH=$HOME/.homebrew/bin:$HOME/bin:/bin:/sbin:$PATH
FRESHCLAM="$(which freshclam) --config-file=$(brew --prefix)/etc/clamav/freshclam.conf --quiet"
TERMINAL_NOTIFIER="$(which terminal-notifier)"

$FRESHCLAM 1> $HOME/.freshclam.log 2>&1
if [ -s $HOME/.freshclam.log ]; then
  MSG="$(cat $HOME/.freshclam.log)"
  $TERMINAL_NOTIFIER -title "ClamAv DB Update Error" -message "$MSG"
fi
rm $HOME/.freshclam.log
```

clamavだけでは心もとないので、MalwareBytesの出しているアンチマルウェアを適度に起動することにした。無料版しかなく、常駐機能はない。
https://www.malwarebytes.org/antimalware/mac/

## Finder[^2]

デフォルトで表示されるフォルダーをHOMEに

```
defaults write com.apple.finder NewWindowTarget -string "PfLo" && \
defaults write com.apple.finder NewWindowTargetPath -string "file://${HOME}"
```

デフォルト保存先をiCloudではなくローカルに

```
defaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool false
```

保存ダイアログを常に開いた状態（フォルダ一覧が表示される状態）に

```
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true && \
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode2 -bool true
```

[^2]: [awesome osx command lineより](https://github.com/herrbischoff/awesome-osx-command-line#finder)

## MetaData[^3]

ネットワークドライブに`.DS_Store`を作らない

```
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
```

USBドライブに`.DS_Store`を作らない

```
defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true
```

[^3]: [awesome osx command lineより](https://github.com/herrbischoff/awesome-osx-command-line#metadata-files)

## Dock[^4]

最近利用したアプリケーションスタックをDockに追加

```
defaults write com.apple.dock persistent-others -array-add '{ "tile-data" = { "list-type" = 1; }; "tile-type" = "recents-tile"; }'; killall Dock
```

[^4]: [awesome osx command lineより](https://github.com/herrbischoff/awesome-osx-command-line#dock)

## 写真アプリの自動起動の抑止[^5]

```
defaults -currentHost write com.apple.ImageCapture disableHotPlug -bool YES
```

[^5]: [Tip: How to stop OSX Apple Photos from launching for all devices with one line](https://www.reddit.com/r/photography/comments/3xkrw5/tip_how_to_stop_osx_apple_photos_from_launching/)
 
## VPN

スクリプトにするかエイリアスにするか迷ったけど、VPNをONにするもの

```bash
#!/bin/bash
scutil --nc start "VPN NAME" --secret "SECRET" 
```

OFFは下記のようにすればいい

```
scutil --nc stop "VPN NAME"
```

## インストールしたアプリ

当初は`ansible`でインストールしようと思っていたのだけど、下記の理由で直接インストールすることにした。

1. `/opt`に入れてsymlinkを張る形となるため、`/opt`が汚される
1. インストール後、アプリのアップデートまで`brew cask`で出来ない。

特に2番目が個人的に重要だったけど、出来ないようなので今回は普通に入れました。

### Mac App Store経由

* [Apple Configurator 2.app](https://itunes.apple.com/jp/app/apple-configurator-2/id1037126344?mt=12)
* [CotEditor.app](https://itunes.apple.com/jp/app/coteditor/id1024640650?mt=12)
* [Degrees.app](https://itunes.apple.com/jp/app/degrees-weather/id430173763?mt=12)
* [Deliveries.app](https://itunes.apple.com/jp/app/deliveries-a-package-tracker/id924726344?mt=12)
* [Gestimer.app](https://itunes.apple.com/jp/app/gestimer-for-those-little/id990588172?mt=12)
* [JSON Query.app](https://itunes.apple.com/jp/app/json-query/id953006734?mt=12)
* [Marked 2.app](https://itunes.apple.com/jp/app/marked-2/id890031187?mt=12)
* [Numbers.app](https://itunes.apple.com/jp/app/numbers/id409203825?mt=12)
* [Pixelmator.app](https://itunes.apple.com/jp/app/pixelmator/id407963104?mt=12)
* [Reeder.app](https://itunes.apple.com/jp/app/reeder-3/id880001334?mt=12)
* [Simplenote.app](https://itunes.apple.com/jp/app/simplenote/id692867256?mt=12)
* [Slack.app](https://itunes.apple.com/jp/app/slack/id803453959?mt=12)
* [Tweetbot.app](https://itunes.apple.com/jp/app/tweetbot-for-twitter/id557168941?mt=12)
* [Twitter.app](https://itunes.apple.com/jp/app/twitter/id409789998?mt=12)
* [Yummy FTP.app](https://itunes.apple.com/jp/app/yummy-ftp-fast-reliable-pro/id492068728?mt=12)

### Mac App Store以外

* [1Password 5.app](https://agilebits.com/onepassword/mac)
    * el capitanは直接関係ないが[ここ](http://myers.io/2015/10/22/1password-leaks-your-data/)の話をきいて[ここ](https://support.1password.com/switch-to-opvault/mac.html)を参考に保存形式をOPVaultに変更。
* [Alfred 2.app](https://www.alfredapp.com)
* [Bartender 2.app](http://www.macbartender.com)
* [Coda 2.app](https://panic.com/coda/)
* [Dropbox.app](https://www.dropbox.com/)
* [Finicky.app](http://johnste.github.io/finicky/)
* [Flip4Mac](http://www.telestream.net/flip4mac/overview.htm)
* [Karabiner.app](https://pqrs.org/osx/karabiner/index.html.ja)
* [Kindle.app](http://www.amazon.co.jp/gp/feature.html/?ie=UTF8&docId=3077089416)
* [Knock.app](http://www.knocktounlock.com)
* [MacVim-KaoriYa](https://github.com/splhack/macvim-kaoriya)
* [Macs Fan Control.app](http://www.crystalidea.com/macs-fan-control)
* [Malwarebytes Anti-Malware.app](https://www.malwarebytes.org/antimalware/mac/)
* [Numi.app](http://numi.io)
* [VLC.app](http://www.videolan.org/vlc/)
* [VirtualBox.app](http://virtualbox.org/)
* [duet.app](http://www.duetdisplay.com)

## システム環境設定

メールとSafariのショートカットを下記の通り登録

![キーボードショートカット](https://qiita-image-store.s3.amazonaws.com/0/1095/7d7d7a68-bae6-46f7-d4a4-12da7f95ae92.png)

アクセスビリティのトラックパッドオプションで3本指のドラッグ設定
![スクリーンショット 2015-10-24 08.38.05.png](https://qiita-image-store.s3.amazonaws.com/0/1095/eccaf2f1-ef9c-8527-05e8-f447b81543b8.png)


（気が向けば更新）