ログインシェルを変更する方法
作業環境
- MacBook Pro Retina15 OSX 10.9.5
手順
- システム環境設定 >> ユーザとグループを開く。
- 左下の鍵アイコンをクリックして、ロックを解除する。
- ユーザを選択して二本指タップして、詳細オプションを開く。
- 二本指タップ = 右クリック = control-クリック
- ログインシェルを選択する。リストにない場合はパスを手入力する。OKボタンをクリックして完了。
- ターミナルを再起動して、$SHELLが指定したパスになっていればOK。
$ echo $SHELL /usr/local/bin/bash あるいは... $ dscl localhost -read Local/Default/Users/$USER UserShell UserShell: /usr/local/bin/bash
コマンド操作不要
上記のようにシステム環境設定から設定すれば、以下のコマンドラインでの操作は不要である。
- /etc/shellsに新しいシェルのパスを追加して、
- chpassコマンドでそのシェルパスを指定とか。
$ sudo sh -c "echo /usr/local/bin/bash >> /etc/shells" $ chpass -s /usr/local/bin/bash
ターミナル起動時に開くシェル
- ターミナルでタブやウィンドウを開く時に起動するシェルを設定できる。
- 通常はログインシェルが起動する設定になっているのだけど、
- ターミナル >> 環境設定 >> 起動 >> 開くシェル: コマンド(完全パス)を設定しておくことで、ログインシェル以外も指定できる。
但し、ログインシェルと、ターミナルでコマンド指定して起動したシェルは、若干の違いがある。
- sshでリモートログインした時は、必ずログインシェルが起動する。
- suでユーザーを切り替えた時も、必ずログインシェルが起動する。
- 上記設定でターミナルのタブやウィンドウを閉じる時、
- ログインシェルは、起動していても確認なしで閉じる設定になっている。
- ターミナルが開くシェルは、確認なしで閉じる設定に追加しておかないと、閉じる前に確認される。
-
-
- 参考ページ(感謝です!)bashのログインシェルとインタラクティブシェル | kanonjiのブログ
-