Terminal.appを使ってssh経由でリモートサーバーに接続しているとしましょう。あなたが以前にtmuxを始めたより小さなものからより大きな解像度のモニターで「tmux attach」するとき、それはコンソールの周りに点を描画します。新しいウィンドウサイズには合いません。ウィンドウを再描画してきれいにする方法はありますか? CTRL+L または CTRL - B + R 助けにはならない。私は人に適切な命令を見つけることができませんでした。
% tmux -V
tmux 1.5
tmuxウィンドウが接続されているすべてのセッションで、ウィンドウのサイズを各サイズの最小値に制限します。そうしなければ、接続されているすべてのクライアントのウィンドウ領域全体を表示するための賢明な方法はありません。
アタッチするときに最も簡単なことは、セッションから他のクライアントを切り離すことです。
tmux attach -d
あるいは、セッションにアタッチする前に他のクライアントを別のセッションに移動することもできます。
takeover() {
# create a temporary session that displays the "how to go back" message
tmp='takeover temp session'
if ! tmux has-session -t "$tmp"; then
tmux new-session -d -s "$tmp"
tmux set-option -t "$tmp" set-remain-on-exit on
tmux new-window -kt "$tmp":0 \
'echo "Use Prefix + L (i.e. ^B L) to return to session."'
fi
# switch any clients attached to the target session to the temp session
session="$1"
for client in $(tmux list-clients -t "$session" | cut -f 1 -d :); do
tmux switch-client -c "$client" -t "$tmp"
done
# attach to the target session
tmux attach -t "$session"
}
takeover 'original session' # or the session number if you do not name sessions
小さなクライアントがセッションに切り替えると、画面は再び縮小します。
ウィンドウを「引き継ぐ」(ウィンドウを新しいセッションにリンクし、aggressive-resize
を設定し、そのウィンドウがアクティブになっている他のセッションを他のウィンドウに切り替える)だけのバリエーションもあります。一般的な場合(そして単にセッションから切り離すのではなく、ウィンドウのリンクを解除したりセッションを終了したりする必要があるため、「終了」とは異なります)。
あなたはいつでも押すことができます CTRL - B + SHIFT - D セッションから切り離すクライアントを選択します。
tmuxはすべてのセッションを現在のディメンションとともにリストします。それからあなたは単にすべての小さいサイズのセッションから切り離します。
最近のバージョンのtmux(1.9でテスト済み)をより簡単に解決する方法は次のとおりです。
tmux detach -a
-a
は、現在のセッションを除く、このセッションの他のすべてのクライアント用です。
あなたはあなたの中でそれを別名にすることができます。[bash | zsh] rc
alias takeover="tmux detach -a"
ワークフロー:あなたは普通にあなたのセッションに接続することができます、そしてあなたがあなたのtmuxウィンドウサイズを押し下げた別のセッションによって悩まされるならばあなたは単にtakeover
を呼ぶことができます。
私はちょうどこの問題に遭遇し、異なる状況に出くわしました。それはおそらく単なるユニコーンですが、私はそれをレイアウトすると思いました。
私は小さいセッションを1つ持っていました、そして私はフォントサイズが異なることに気付きました:小さいセッションはより小さいフォントを持っていました。どうやら私はウィンドウのフォントサイズを何らかの理由で変更しました。
それで、OS Xでは、私は小さいサイズのセッションでCmd-+
をしただけでした、そしてそれは元の位置に戻りました。
私はクライアントを接続していただけなので、他の答えは役に立ちませんでした(前のセッションを開始したものは既に分離されていました)。
それを修正するために、私は答えに従いました ここ (私はxtermを使っていませんでした)。
単純に言った:
resize
linuxコマンドを実行します。