ログインシェルの変更
実行環境
Ubuntu
ほかは覚えてない、すまん
ログインシェルの変更
chsh -s [shell]
を使う。
あらかじめ,実行ファイル位置を確認する.
$ which zsh
/usr/bin/zsh
$ chsh -s /usr/bin/zsh
パスワード: ***
chsh: /usr/bin/zsh はシェルに指定できません
chshでシェルが指定できないとき
解決案: /etc/shells
にzshを追記
ログインシェルに指定できるのは/etc/shells
に記載されているシェルだけだ、ということ。なので追記。
# /etc/shells: valid login shells /bin/sh /bin/dash /bin/bash /bin/rbash /usr/bin/zsh
$ chsh -s /usr/bin/zsh パスワード: *** chsh: ユーザ konafx は /etc/passwd に存在しません
ユーザが/etc/passwdに存在しないとき
解決案: /etc/passwd
に追記
UNIXで、ユーザの管理をつかさどっているのは、/etc/passwd という名前のファイルです。このファイルは、大変に重要なファイルで、これが無くなると、誰もUNIXにログインできなくなります。 このファイルには、ユーザがログインする際に必要なユーザ名や、ホームディレクトリなど、各種の設定が書かれています。
(略)
/etc/passwd ファイルは、1行が1人のユーザに対応しており、このファイルの1行は、:(コロン)で区切られた、次のようなフィールドからなります。 第1フィールド: ユーザ名(ログイン名) 第2フィールド: (暗号化パスワード) 第3フィールド: ユーザ番号(UID) 第4フィールド: グループ番号(GID) 第5フィールド: コメントフィールド(名前など) 第6フィールド: ホームディレクトリーのパス 第7フィールド: ログイン・シェル
ということなので、こいつに新たに書き込んでいく。 必要な情報は
を見ればわかる。または$ id
で出てくる.なお暗号化パスワードは"x"でいいらしい。
(略) konafx:x:ユーザ番号:グループ番号:konafx,,,:ホームディレクトリ:/usr/bin/zsh
書き換えたらおわり。
上記のように直接ログインシェルを変えたいものにしてもいいし、あとでchshしてもいい。 どちらにせよ要再起動