2018/11/23
から admin
0件のコメント

【tmux】macOS のターミナル周辺のセットアップ

新しい macOS 端末を導入する度にターミナル周辺 (brew, bash, iTerm2, tmux) のセットアップ手順を調べて時間がかかってしまうので, 個人的な備忘録として残しておきます。

macOS 10.13.6 で確認しています。

Homebrew

Homebrew (brew command) をインストールする。

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

$ brew --version
Homebrew 1.8.3
Homebrew/homebrew-core (git revision 38ebd; last commit 2018-11-19)

bash

デフォルトのログインシェルが bash 3.2 と古い。

$ which bash
/bin/bash
$ bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin17)
Copyright (C) 2007 Free Software Foundation, Inc.

$ echo $SHELL
/bin/bash

新しい bash をインストールする。

$ brew update
$ brew upgrade bash
$ which bash
/usr/local/bin/bash
$ bash --version
GNU bash, バージョン 4.4.23(1)-release (x86_64-apple-darwin17.5.0)
Copyright (C) 2016 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL バージョン 3 またはそれ以降 

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

ログインシェルを記述する /etc/shells の最後の行に /usr/local/bin/bash を追加する。

$ sudo vi /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/bash

chpass (または chsh, chfn) の s オプションでログインシェルを変更する。

$ chpass -s /usr/local/bin/bash

再度ログインしログインシェルが変更されていることを確認する。

$ echo $SHELL
/usr/local/bin/bash

iTerm2

ターミナルは iTerm2 を使う。 tmux -CC で iTerm2 と tmux の統合機能が使えるが, key-binding の変更が不可なため使用しない。

tmux と連携するため設定を変更する。

Preferences > Profiles > Terminal > Scrollback Buffer を選択し, 以下の項目にチェックを入れる。

  • Save lines to scrollback when an app status bar is present
  • Enable mouse reporting

また, 任意で Scroollback lines の値を変更する。

tmux

ターミナルマルチプレクサである tmux をインストールする。

$ brew install tmux
$ tmux -V
tmux 2.8

tmux の設定は ~/.tmux.conf に記述する。(以降は個人的な手順なので注意)
.tmux.conf を含めた dotfiles をインストールするため以下のリポジトリを clone しスクリプトを実行する。

$ git clone https://github.com/fisproject/dotfiles
$ cd dotfiles
$ ./install.sh

tmux のログインシェルは .tmux.conf の default-shell で指定する。

set -g default-shell /usr/local/bin/bash

tmux 2.6 未満の場合, reattach-to-user-namespace をインストールする。(tmux 2.6 以降の場合は不要)

$ brew install reattach-to-user-namespace

.tmux.conf に以下を追加。

# use macOSX pasteboard
set -g default-command "reattach-to-user-namespace -l ${SHELL}"

また, Finder で dot-files を表示する変更を行う。

$ defaults write com.apple.finder AppleShowAllFiles TRUE
$ killall Finder

[1] github.com/arks22/dotfiles
[2] github.com/ryuichi1208/dotfiles