zshとXcodeToolsとMacPortsと
macでログインシェルをzshに変更したいと思い立ち、やってみた。
ついでにというか必要になるのでXcode ToolsとMacPortsもインストールしました。
MacPorts
MacPorts とは?
MacPortsは MacOSX 上で利用可能なパッケージシステムの一つで、主に UNIX 向けに開発されたオープンソース・ソフトウェアを手軽にインストールすることができます。
ということでインストールしておきましょう。
ここから「MacPorts-1.7.0-10.5-Leopard.dmg」をダウンロードしてインストール。
zsh
とりあえず現状のzshのバージョンを確認してみる。
ターミナルを立ち上げて、
$ zsh --version zsh 4.3.4 (i386-apple-darwin9.0)
デフォルトで入っているのは4.3.4らしい。
$ port search zsh ctags @5.7 (devel) Reimplementation of ctags(1) lesspipe @1.53 (textproc) lesspipe is an input filter for the pager less. zsh @4.2.7 (shells) Zsh is a UNIX command interpreter (shell) zsh-devel @4.3.9 (shells) Zsh is a UNIX command interpreter (shell) Found 4 ports.
4.3.9がありました。
$sudo port install zsh-devel
-
-
- > Fetching gdbm
- > Attempting to fetch gdbm-1.8.3.tar.gz from ftp://ftp.dti.ad.jp/pub/GNU/gdbm
- > Verifying checksum(s) for gdbm
- > Extracting gdbm
- > Applying patches to gdbm
- > Configuring gdbm
- > Building gdbm
- > Staging gdbm into destroot
- > Installing gdbm @1.8.3_1
- > Activating gdbm @1.8.3_1
- > Cleaning gdbm
- > Fetching gperf
- > Attempting to fetch gperf-3.0.3.tar.gz from ftp://ftp.dti.ad.jp/pub/GNU/gperf
- > Verifying checksum(s) for gperf
- > Extracting gperf
- > Configuring gperf
- > Building gperf
- > Staging gperf into destroot
- > Installing gperf @3.0.3_0
- > Activating gperf @3.0.3_0
- > Cleaning gperf
- > Fetching libiconv
- > Attempting to fetch libiconv-1.12.tar.gz from ftp://ftp.dti.ad.jp/pub/GNU/libiconv
- > Verifying checksum(s) for libiconv
- > Extracting libiconv
- > Applying patches to libiconv
- > Configuring libiconv
- > Building libiconv
- > Staging libiconv into destroot
- > Installing libiconv @1.12_2
- > Activating libiconv @1.12_2
- > Cleaning libiconv
- > Fetching ncursesw
- > Attempting to fetch ncurses-5.7.tar.gz from ftp://ftp.dti.ad.jp/pub/GNU/ncurses
- > Verifying checksum(s) for ncursesw
- > Extracting ncursesw
- > Configuring ncursesw
- > Building ncursesw
- > Staging ncursesw into destroot
- > Installing ncursesw @5.7_0
- > Activating ncursesw @5.7_0
- > Cleaning ncursesw
- > Fetching zsh-devel
- > Attempting to fetch zsh-4.3.9.tar.bz2 from ftp://ftp.iij.ad.jp/pub/misc/zsh/
- > Attempting to fetch zsh-4.3.9.tar.bz2 from http://www.zsh.org/pub/
- > Verifying checksum(s) for zsh-devel
- > Extracting zsh-devel
- > Configuring zsh-devel
- > Building zsh-devel
- > Staging zsh-devel into destroot
- > Installing zsh-devel @4.3.9_0
- > Activating zsh-devel @4.3.9_0
- > Cleaning zsh-devel
-
なんかzsh以外にも色々入ったみたい。。
MacPortsを使ってインストールしたものは、/opt/local/以下にはいります。確認してみます。
$ls /opt/local/bin | grep zsh zsh zsh-4.3.9
ちゃんとインストールされていました。
/etc/shellsファイルにMacPortsでインストールしたzshのパスを追加します。
$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 /opt/local/bin/zsh #追加
追加したらシェルを変更します。
chsh -s /opt/local/bin/zsh
ターミナルを再起動するとzshに変更されています。
%echo $SHELL /opt/local/bin/zsh
出来ました^^
追記
MacPortsを使うためのパスを通してませんでした。。。
現状のパスを確認。
$ echo $PATH /usr/bin:/bin:/usr/sbin:/sbin
このままだとMacPortsを使うときにフルパスで指定しなければいけないのでパスを追加します。
export PATH=$PATH:/opt/local/bin:/opt/local/sbin/ export MANPATH=$MANPATH:/opt/local/man
上記2行を ~/.zshrc に追加します。
で、設定ファイルを再読み込みします。
$ source .zshrc
パスが通っているか確認します。
$ echo $PATH /opt/local/bin:/opt/local/sbin/:/usr/bin:/bin:/usr/sbin:/sbin
通りました^^