YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

Mac OSのデフォルトシェルをMacPorts経由でのzshにした

はじめに

こんばんは!今日、zshデビューしちゃったときに、zshのバージョンが低いのでMacPorts経由のものをデフォルトにしようと思ったらはまりました!というわけで変更します。

ログ

$ sudo port install zsh-devel
...
---> Attempting to fetch zsh-4.3.11.tar.bz2 from ftp://ftp.iij.ad.jp/pub/misc/zsh/
...
If you want MacPorts' zsh as login shell, you should run:
 % sudo sh -c "echo '/opt/local/bin/zsh' >> /etc/shells"
 % chsh -s /opt/local/bin/zsh
...

言われたとおりにしますよ。

$ sudo sh -c "echo '/opt/local/bin/zsh' >> /etc/shells"
$ chsh -s /opt/local/bin/zsh

これでやってみてもどうもうまくいかないと思ったら、.zshrcでPATH通してなかった。

export PATH=.:~/bin:/opt/local/bin:$PATH

みたいな感じに書いておけば /opt/local/bin/zsh がデフォルトシェルになるはず。ちなみに/etc/shellsには利用出来るshellの一覧が書いてある。

# 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
/opt/local/bin/zsh

ちゃんとコマンド打ったので追加されてますね。

GUIでやる方法

でもだるいって人はシステム環境設定から設定できます。まず「アカウント」に入って、変更できるように下の南京錠アイコンを開いておく。そして自分のユーザ名(左ペイン)を右クリックし「詳細オプション」をクリック。
f:id:ymotongpoo:20110119022954p:image
ここでログインシェルの項目を変更しておけば大丈夫。おそらくここの設定は/etc/shellsを見てるので、それは先に追加しておくこと。