On all my computers I use the Zsh Shell with the Oh My Zsh framework.
I find it much more efficient than Bash or others, especially the ability to add a bunch of plugins!
Installation
1. Zsh installation
Log in with the admin user
$ sudo apt-get install zsh
Open Zsh for the first time and choose option 2
$ zsh
2. Oh My Zsh installation
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
3. Set Zsh as default shell for LDAP users
By default YunoHost create an admin user in LDAP. To modify the LDAP users default shell you have to modify the nslcd.conf config file like this :
$ sudo cp /etc/nslcd.conf /etc/nslcd.conf.bak
# Edit the config file
$ sudo nano /etc/nslcd.conf
# Add at the end of the file
[...]
map passwd loginShell "/usr/bin/zsh"
[...]
4. Test
Logout and login again, normally you will have to fall directly on Oh My Zsh.
$ sudo cp /etc/nslcd.conf /etc/nslcd.conf.bak
# Edit the config file
$ sudo nano /etc/nslcd.conf
# Add at the end of the file
[...]
map passwd loginShell "/usr/bin/zsh"
[...]
Hello,
I installed Oh My Zsh on my server some time ago and found this topic explaining how to make it my default shell (chsh does not work as my user is not in passwd file)
Sadly, this does not work
(I’m connecting via ssh and I still have to start zsh manually, or start it via .bashrc)
Note : I do not use the admin user to connect via ssh, I only use a created user (created via YunoHost)