bashrcでスクリプトを実行すると、tmuxウィンドウがネストされます。

bashrcでスクリプトを実行すると、tmuxウィンドウがネストされます。

スクリプトファイルで次のtmuxコードを使用し、tmux-dev.sh次を使用してbashに追加していますbash /home/rohit/tmux-dev.sh

tmux new-session -d
tmux split-window -h
tmux split-window -v
tmux -2 attach-session -d

このスクリプトはtmuxウィンドウをネストし、次のエラーを発生させます。ウィンドウが小さすぎます。驚いたことに、GNOMEターミナルボックス bash tmux-dev.shに入れたときに完璧に動作し、次の画面が表示されました。title and commandスクリーンショット

この問題を解決するのに役立ちます。 Ubuntu 14.10を使用しています。

PS--どのツールも提案しないでください。私はこの動作と元のシェルスクリプトソリューションを説明するために来ました。

答え1

@fiximanが提案したようにtmuxセッションが存在するかどうかをテストした後、いくつかのコードを実行し、最後にいくつかの調整で必要なレイアウトを得ることができました。これが私が私のアイテムに追加したものです.bashrc

test -z "$TMUX" && (tmux new-session -d && tmux split-window -h && tmux split-window -v && tmux -2 attach-session -d)

上記の内容を分解して説明します。

  1. test -z "$TMUX" ->これは、すでに実行されているtmuxセッションがあるかどうかをテストし、tmuxセッションのネストを防ぎます。
  2. tmux new-session -d ->新しいセッションの作成
  3. tmux split-window -h ->ウィンドウを縦に分割
  4. tmux split-window -v ->ウィンドウを水平に分割
  5. tmux -2 attach-session -d->会話の添付

ノート -演算子が短絡される可能性があるため、&&演算子の代わりに演算子を使用しました。||

関連情報