私は私のラップトップにログインするためにsamba4ドメインアカウントを使用します。 zsh
を試してみたかったのですが、ユーザーが/etc/passwd
に住んでいないため、chsh
がユーザーを見つけられないことがわかりました。誰かがlogin_Shell
を変更する方法をアドバイスできますか?
私のldap.conf
、nssswitch.conf
、または/etc/pam.d
の何も助けにならなかった...
ドメインコントローラーを見ると、おそらくsamba-toolを使用できると思いましたが、正しい方向に向ける助けが何も見当たりませんでした...
Freenodeの#suseチャネルでこれについて尋ねると、MiukuはArulと同じことを提案しましたが、Windowsドメインを使用している場合は、loginShell属性を設定できるという2つのことを述べました。
悲しいことに、私はSambaドメインにいるので、それは役に立ちませんでした。しかし、彼の最終的な提案は完璧でした。
getent passwd USERNAME
これにより、/ etc/passwdにユーザーと同等の有効なエントリが作成されます。これを取得して、/ etc/passwdに貼り付け、使用するシェルの有効なパスの最後のシェルを更新します。この方法では、すべてのユーザーの設定が変更されることはありません。変更を行う前に、シェルを構成しているマシン上にシェルがあることを確認できます。
私はまったく同じ問題を抱えていました。ドメイン内のすべてのマシンにzshがインストールされているわけではなく、すべてのユーザーに影響を与えたくなかったため、結局.bashrcに入れました。
if [ -x /usr/bin/zsh ]; then
echo 'starting zsh'
# export Shell=/bin/zsh #edit: this is probably not what you want, see the comment.
exec /usr/bin/zsh
fi
これは洗練されていないかもしれませんが、少なくとも仕事は完了です。
Sambaドメインコントローラーの構成を編集するアクセス権がある場合は、次のプロパティを設定して、シェルを smb.conf に設定できます。
template Shell = /bin/zsh
Zshがインストールされていないマシンにログインするとどうなるかわかりません(すべてのディストリビューションにデフォルトでzshがインストールされているわけではありません)。ディストリビューションのデフォルトシェルが呼び出されると思います。
単に試してみたい場合は、zshと入力してサブシェルを取得します。サブシェルはすでに知っているはずです。