cygwinのログインシェルをzshにする
cygwin上のzshのプロンプトがおかしいのでカスタマイズしてみるの続きです。
せっかくzshを入れたのは良いものの、このままではbashが起動してからzshを毎回起動しなければなりません。
大概こういうときは、chshコマンドを使うのですが、どうやらcygwinには含まれないようです。
/etc/passwdがない…!
では直接/etc/passwdファイルを弄ろうとなる訳ですが、実はこのファイルが存在しないわけです。
コマンドのファイルもない…詰んだ状態ですが、無ければ作りましょう。
$ man mkpasswd
としてマニュアルを読んでみると、
Don't use this command to generate a local /etc/passwd file, unless you really need one. See the Cygwin User's Guide for more information.
と、このコマンドを使うなと書かれていますね。
しかし、See the Cygwin User’s Guideってことで見てみましたが、他の方法が見当たらない。
ググってみると以下のページがヒットしました。
Set Default Shell in Cygwin – Stack Overflow
/etc/nsswitch.confを編集するのが良さそうです。
$ vim /etc/nsswitch.conf db_shell: /bin/zsh
このような感じで設定すれば、無事ログインシェルが変わります。
最近のコメント