34

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?

57

Put the following in your $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.

| improve this answer | |
  • 3
    Thanks Dustin, I'm always super impressed that you hang around here! It's was the 'set -g default-command' bit I was missing in the end.. I didn't realise you needed the second configuration parameter for it to work. – Ashimema May 16 '13 at 19:21
  • 6
    No problem ;-) It's 1000x more useful when someone asks a good question like this, here in AskUbuntu or StackExchange, so that others can benefit from the answer :-) I just wish I could get all of the people who use IRC and Launchpad Questions over here... – Dustin Kirkland May 16 '13 at 19:47
  • I found that this loads two shells of the desired type, one clobbering the other. Setting just default-shell results in bash clobbering the shell I'm trying to set, but setting default-command results in exactly one of the desired shells being started. I guess having the same shell clobber itself is fine, but this could incur a bit of a start time hit as some shells take a while longer to start. – nedned May 17 '16 at 9:25
  • Is it possible to run a command instead? For example, will set -g default-shell sudo su work? – Dev Sep 12 '16 at 4:24
  • 1
    Why not the byobu-select-backend command? – Pablo Bianchi Feb 15 '17 at 13:19
1

For me, Dustin's solution didn't seem to take at first.
If anyone is in the same boat, you might want to read this.
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 whithin oh-my-zsh may have caused a fallback to bash (possibly within tmux?).

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.