I need to have my telnet and ssh users use byobu as their login shell. I would like to avoid using .login/.profile/.bashrc and the likes to spawn byobu. I'd like to have byobu as the shell defined in /etc/passwd. I've already done a few tests, but have been unable to have it working properly. Any idea?
Byobu is not a shell, per se. It's a program you run within your shell. The utilities, byobu-enable and byobu-disable, put a line at the end of your
Now, that said, I'll tell you how you could do what you're asking to do, but I strongly advise against it. You may well end up in some nasty recursion or infinite loop. Beware!
Before setting the shell, you should probably make sure whatever program you want will work as a shell. "Valid" shells are pre-configured in /etc/shells; if what you want to use as a shell isn't in that list, I would consider carefully whether you want to use it as a shell or not. You could try it with a test user first, to make sure you can login okay using it as a shell.
But on to how to change your default shell.
For individual users, you can change their login shell using the chsh command.
To change the default shell for all users, it will depend on how you add users. For example, if you use the
I'm using Byobu with tmux on various systems, but I just did a a fresh user test on Debian 8 before posting.
What seems to be working for me is:
set -g default-shell /usr/bin/fish set -g default-command /usr/bin/fish
I also have users starting Fish first and Byobu via fish.config, both work, but I thought that the login shell may as well be something more simple.