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

  • 36
    Like
  • 0
    Comment
More than 1 year has passed since last update.

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

Xcode

$ xcode-select --install

Homebrew

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

$ 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などで要インストール。

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/

Finder2

デフォルトで表示されるフォルダーを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

MetaData3

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

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

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

defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true

Dock4

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

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

写真アプリの自動起動の抑止5

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

VPN

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

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

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

scutil --nc stop "VPN NAME"

インストールしたアプリ

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

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

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

Mac App Store経由

Mac App Store以外

システム環境設定

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

キーボードショートカット

アクセスビリティのトラックパッドオプションで3本指のドラッグ設定
スクリーンショット 2015-10-24 08.38.05.png

(気が向けば更新)