web-dev-qa-db-ja.com

tmuxにデフォルトのシェルを使用させるにはどうすればいいですか?

新しいセットアップでは、tmuxは私のデフォルト(zsh)の代わりにbashを使用しています。

どうやってzshを使わせることができますか?

145
re5et
set-option -g default-Shell /bin/zsh

~/.tmux.confまたは/etc/tmux.confにあります。 Fedoraで動作します。

killall tmux; tmuxでtmuxを再起動する必要があるかもしれません

187
Alex Hammel

まず、コマンドラインでこれを実行して、デフォルトのシェルがzshに正しく設定されていることを確認します。

chsh -s $(`which zsh`) $USER

あなたの〜/ .tmux.confに次のようなものを追加するのは、どのシェルにとってもより堅牢なオプションです。

set-option -g default-Shell $Shell
39
DebugXYZ

この行をあなたの~/.tmux.confの下に落としてください

set-option -g default-command "reattach-to-user-namespace -l zsh"

それを追加した後、あなたのtmuxサーバを殺して再起動すればすべてうまくいくはずです。

20
wyattdanger

あなたの環境変数で指定されているのと同じシェルをtmuxに使わせるには、次のようにします。

# force Shell ENV variable as Shell
set-option -g default-Shell ${Shell}

あなたの~/.tmux.confまたは/etc/tmux.confに。

変更を実際に有効にするには、tmux kill-server、次にtmuxを使用してtmuxを再起動する必要があります。

4
mareoraft

chsh(1)を使う:

chsh -s /bin/zsh $USER
2
amphetamachine

ログアウトしてから再度ログインすると、問題が解決しました。 $Shellとエコーされたときはまだ/bin/bashでしたが、ログアウト後は/usr/bin/zshに変更されました

2
Patrick Cho

受け入れられた答えは私のために働かなかった。

私は両方を書かなければなりませんでした

set -g default-Shell "/bin/bash"

そして

set -g default-commanmd "/bin/bash"

私の~/.tmux.confに - tmux.confをリロードするために、tmux kill-server; tmuxを忘れないでください


Gnome-ShellエミュレータのUbuntu 18でtmux -V 2.6を使っています。

私はまた https://github.com/samoshkin/tmux-config でtmuxを強化しました。それをチェックしてください、それは本当にクールです。

1
anarchist912

これをあなたの~/.tmux.confに追加してください

set -g default-command /usr/local/bin/fish
1
IanVaughan

tmuxはShell環境変数を使用しているように見えるので、次のように動作します。

Shell=/usr/bin/zsh tmux

または

env Shell=/usr/bin/zsh tmux
1
blueyed