41

I've become addicted to Byobu and I've recently shifted from bash to zsh; Now I want to combine the two, however I have a one initial pre-requisite:

I cannot make zsh the default shell for my user as it's a shared account and the rest of the team aren't as zsh happy as I am - That rules out the 'chsh -s /bin/zsh' option.

So, I discovered you can set a default-shell for tmux (which should follow across to byobu right?). That would be perfect as I'm also the only one really using Byobu on the server.

Problem is, I can't work out where to enable this option in the confusion of config files that's created in the tmux/byobu mix.

Any hints?

Ashimema
  • 2,075

2 Answers2

71

Put the following in your $BYOBU_CONFIG_DIR/.tmux.conf (usually ~/.config/byobu/.tmux.conf or $HOME/.byobu/.tmux.conf):

set -g default-shell /usr/bin/zsh
set -g default-command /usr/bin/zsh

Full disclosure: I'm the author and maintainer of Byobu.

1

For me, Dustin's solution didn't seem to take at first.

I used to have a working setup where gnome-terminal launched zsh as a login shell, which then launched byobu with my window (split) setup and a couple of zsh instances in there. After a distro reinstall, the shell instances in the splits were suddenly bash, for whatever reason, even with the above fix.

Whenever I launched zsh in those splits I'd get a message from oh-my-zsh that a plugin was missing.

I installed the missing package for the plugin and configured it correctly, and now all stages of the setup execute correctly. I suspect that the error message from the sourcing process within oh-my-zsh may have caused a fallback to bash (possibly within tmux?).

Pablo Bianchi
  • 17,371