はじめに
この記事は,初心者が,MacOSでVPSにSSH接続する前準備として,頑張って色々調べて,巡り回った結果,TerminalにzshとPretzoを導入したときの過程を見直せるようにメモしたものです.SSH接続にzshやpreztoは関係ありません.
全体的にこちらの記事を大いに参考にさせていただきました.ありがとうございます.
シェルの変更
シェルをbashからzshに変更しました.
まずは,以下のコマンドで,zshをインストールします.
# Homebrew
$ brew update
$ brew install zsh
# yum
sudo yum -y install zsh
ちなみに,Homebrewって初めから入ってたのか忘れました...
使ったことない方は,もしかしたらHomebrewのインストールから始める必要があるかもしれません.
次にターミナルを開いた時に起動するシェル(ログインシェル)をzshに変更します.
zshをログインシェルにするには,パスを/etc/shells
に書く必要があるため,
初めに,以下のコマンドで,/etc/shells
で編集します.
$ sudo vim /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/zsh
を追加します.
ちなみに,sudo
をつけずに編集しようとすると,読み込み専用となるため,編集できません.
2018/10/06更新
cat /etc/shells
で/bin/zsh
があれば,インストールせずchsh
するだけで変更可能かもしれません.
近々,更新します.
次に以下のコマンドでログインシェルを変更します.
$ chsh -s /usr/local/bin/zsh
chsh
は,change shellの略で,ログインシェルを変更するコマンドです.
オプション-s
でシェルを指定します.
以上で,zshへの変更は終わりです.次回以降,ターミナルを起動した時,zshが起動するようになります.
Preztoの導入
Preztoというシェルのフレームワーク(?)を導入します.ただ,この節で扱うコマンドやスクリプトに関しては,個人的な要勉強事項です.
まず,以下のコマンドで,gitHubからcloneしてきます.
$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
次に以下のシェルスクリプトを実行します.
$ setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
再起動すると,Preztoの設定が反映され,導入が完了です.
後は,テーマやプラグインを編集して,自分仕様にしましょう.
疑問
テーマの一つであるpureを使用した状態だとたまにzshが二重で起動することがあります.ps
コマンドでプロセスを表示すると,zshプロセスが二つある状態です.
ただ,テーマを別のに変更すると,その現象が起きないのです.
これに関して原因がわかる方,よろしければコメントお願いします.
終わりに
Qiita投稿も初めてで,この記事を自身のメモ,備忘録として書きましたが,これが何かの形で,どなたかのお役に立てば幸いです.