tmux .bash_profile 動作の変更

tmux .bash_profile 動作の変更

.bash_profileにXセッションの開始を要求するスクリプトがあります。 tmuxを起動すると、TTYログインのみを使用しているというメッセージが表示されます。

.bash_profileがtmuxの一部である場合、bashを実行しているエントリをそこに置くことはできますか?つまり、bashを使用してtmuxから.bash_profileを読み取ったことを確認できますか?

答え1

$TMUXtmuxは、使用しているソケットの位置を保持していると考えられるtmuxという環境変数を設定します。どちらのプログラムでも、これを使用して.bash_profiletmuxで呼び出されたかどうかをテストできます。

if [ -z "$TMUX" ]; then
    # not in tmux, do non-tmux things
fi

または

if [ -n "$TMUX" ]; then
    # called inside tmux session, do tmux things
fi

答え2

私は通常$TERMテストに使用します。デフォルトでは「画面」に設定しますscreentmux

答え3

TMUXexport直接置き換えることができます。この機能は、ユーザーが複数のユーザーtmuxであり、自分だけを使用したい場合に便利ですsource

に次の行を追加します~/.tmux.conf

if-shell shell-command export SOMEONE_USING_TMUX=1

そして次の行を~/.bash_profile

if [[ ! -z "$SOMEONE_USING_TMUX" ]]; then
    # source for yourself
fi

関連情報