.bash_profileにXセッションの開始を要求するスクリプトがあります。 tmuxを起動すると、TTYログインのみを使用しているというメッセージが表示されます。
.bash_profileがtmuxの一部である場合、bashを実行しているエントリをそこに置くことはできますか?つまり、bashを使用してtmuxから.bash_profileを読み取ったことを確認できますか?
答え1
$TMUX
tmuxは、使用しているソケットの位置を保持していると考えられるtmuxという環境変数を設定します。どちらのプログラムでも、これを使用して.bash_profile
tmuxで呼び出されたかどうかをテストできます。
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
テストに使用します。デフォルトでは「画面」に設定しますscreen
。tmux
答え3
TMUX
export
直接置き換えることができます。この機能は、ユーザーが複数のユーザー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