はじめに
まあbashでもいいけど,zshのほうが何かと見栄えもいいし,なんかいいじゃないですか
gitのブランチとかも見れるし
環境
- Ubuntu 16.04
- なんか特殊(自分の所属独特の環境です......が誰かの役に立てば.)
ログインシェルもzshに変更するのに微妙に手間取ったので,その際のメモを残します.
ちょっと特殊な環境向けなので /etc/passwd
を編集するのが怖い人はその部分を適宜読み替えてください.
やらかすとこうなります.気をつけて.
手順
1. インストール
入ってたらしなくていいです
% sudo apt install zsh
2. 確認
% zsh
これでzshが起動したらOK
% which zsh
これで
/usr/bin/zsh
みたいなのが出てきたらOK
3. ログインシェルの変更
うちの環境では以下はダメでした
% chsh
/etc/passwd
にお前はいないぞと言われます.
というわけで/etc/passwd
に追記しましょう.
自分の環境ではuseradd
などがうまく機能しないため,/etc/passwd
を直接編集するという危険な行為を行いました.
くれぐれもバックアップを忘れずに...... $\tiny{バックアップしても無駄かも}$
以下のコマンドで追記できます.(-a
を忘れると地獄を見ます!!!)
zsh実行してる端末でやらないとエラー出るかも.
% echo "${USER}:x:${UID}:${GID}:${USER}:${HOME}:$(which zsh)" | sudo tee -a /etc/passwd
怖い人はsudo nano /etc/passwd
などで最終行に追記しましょう.
(useradd,usermodが何故かうまく使えない環境で他に危険じゃない方法を知っている方がいたら教えて欲しいです)
あとは再起動(というかログアウト)すればログイン時に自動でzshでログインできているはずです.
4. zshの設定とか
bashでは.bashrc
を編集することでエイリアスなどを設定しますが,zshでは.zshrc
を編集して行います.
ところで.zshrc
は有志の方が作成してくれた素晴らしい設定が既にあります.
これを使うことで現在のディレクトリや環境,gitのブランチもよくわかるようになります.
またディレクトリとコマンドを2行に分けて表示するため,pwd
コマンドを二度と使わなくてよくなります.
こんな感じです.(見せられない部分が多くてすみません)
py36
が環境名,@
以外消されてるところが[ユーザ名@マシン名]
,
/git/
以外が隠されているところが現在のディレクトリ,(git)-[master]
って書いてあるところがブランチです.
少し凝った zshrcをお借りして,適当なテキストエディタで.zshrc
に貼り付けておきましょう.
.bashrc
から移行したい設定がある人はそれも追記しておきましょう.(とくにAnacondaとか入れてる人)
編集したあとは source ~/.zshrc
とかすればリロードされそうです.
うまくいかなければ再起動.
終わりに
便利ですよね.
くれぐれも/etc/passwd
やらかしちゃダメだからな!絶対だぞ!
こうなるぞ