回答:
set-option -g default-shell /bin/zsh
中~/.tmux.confまたは/etc/tmux.conf。Fedoraで動作します。
tmuxの再起動が必要になる場合があります killall tmux; tmux
tmux。当たり前のように思えますが、理解するのに十分な時間がかかりました!
killall tmux; tmux。理解するのにかなり時間がかかった。
bind R source-file ~/.tmux.conf \; display-message " Config reloaded..".
tmux source-file ~/.tmux.confコマンドラインから実行します。
tmux kill-server代わりに推奨します。
まず、コマンドラインで次のコマンドを実行して、デフォルトシェルがzshに正しく設定されていることを確認します。
chsh -s $(`which zsh`) $USER
〜/ .tmux.confに以下を配置することは、シェルにとってより堅牢なオプションです。
set-option -g default-shell $SHELL
chsh -stmux にはそれとは独立したオプションが用意されているため、ユーザーシェル()を設定する必要はありません。
この行を下にドロップします ~/.tmux.conf
set-option -g default-command "reattach-to-user-namespace -l zsh"
それを追加した後、tmuxサーバーを強制終了して再起動すると、すべてが機能するはずです。
tmux kill-serverすべてのtmuxサーバーを終了するコマンドです
set-option -g default-shell か?上記はFishシェルでは機能しないようです。
tmuxはSHELL環境変数を使用しているように見えるため、次のように機能します。
SHELL=/usr/bin/zsh tmux
または
env SHELL=/usr/bin/zsh tmux
/bin/bash、非対話型の中断がないようにすることです。iTermは$SHELL新しいシェル名に設定せず(理由は不明)、起動時に設定を解除すると、bashの初期化によってログインシェルに設定されます。tmuxは、default-shell明示的に設定されていない場合、この値を使用します。
env SHELL=/usr/bin/zsh tmux良いですか?(答えを更新しました)。
受け入れられた答えは私にはうまくいきませんでした。
私は両方を書かなければなりませんでした
set -g default-shell "/bin/bash"
そして
set -g default-commanmd "/bin/bash"
in ~/.tmux.conf—忘れずにtmux kill-server; tmuxtmux.confをリロードします
私はtmux -Vgnome-shellエミュレーターのUbuntu 18で2.6 を使用しています。
また、https://github.com/samoshkin/tmux-configで tmuxを強化しました。それを確認してください、それは本当にクールです。
私にとっては、交換する必要がありました:
default-command "/usr/local/bin/fish"
default-shell "/usr/local/bin/fish"
と
set-option -g default-command "/usr/local/bin/fish"
set-option -g default-shell "/usr/local/bin/fish"
で.tmux.conf
、コマンドを実行しますtmux kill-server; tmux
set-option -g代わりに使用しましたset -g。おそらくtmuxの異なるバージョン
setはのエイリアスですset-option。