小さなモニターをより大きなモニターに切り替えるときに、TMUXウィンドウを再描画する方法はありますか?
-
26-10-2019 - |
質問
SSHを介してTerminal.Appを介してリモートサーバーに接続しているとしましょう。以前にTMUXを開始した小さな解像度モニターから「TMUXアタッチ」を「アタッチ」すると、コンソールの周りにドットを描画します。新しいウィンドウサイズには適合しません。窓を再描画して掃除する方法はありますか? 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 + シフト-d セッションから切り離したいクライアントを選択します。
TMUXは、現在の次元ですべてのセッションをリストします。次に、すべての小さなサイズのセッションから切り離すだけです。
TMUXの最近のバージョン(1.9でテストされた)のより簡単なソリューションは、次のことができます。
tmux detach -a
-a
現在のセッションを除いて、このセッションの他のすべてのクライアントのためです
あなたはそれをあなたにエイリアスすることができます。[bash | zsh] rc
alias takeover="tmux detach -a"
ワークフロー:通常、セッションに接続できます。TMUXウィンドウサイズを強制した別のセッションに悩まされている場合は、単に呼び出すことができます takeover
.
他の答えは、私がクライアントを添付していたので、私を助けませんでした(セッションを開始した前のものはすでに切り離されていました)。
それを修正するために、私は答えに従いました ここ (私はXtermを使用していませんでした)。
単に言った:
- TMUXセッションから取り外します
- 走る
resize
Linuxコマンド - Reattach to tmuxセッション
私はこの問題に遭遇し、別の状況に出くわしました。おそらく単なるユニコーンですが、私はそれをレイアウトすると思いました。
小さいセッションが1つありましたが、フォントサイズが異なることに気付きました。セッションが小さいため、フォントが小さいことがありました。どうやら、何らかの理由でウィンドウフォントサイズを変更したようです。
だからOS Xでは、私はちょうどそうしました Cmd-+
小さいサイズのセッションで、それは元の位置に戻ってきました。
ps ax | grep tmux
17685 pts/22 S+ 0:00 tmux a -t 13g2
17920 pts/11 S+ 0:00 tmux a -t 13g2
18065 pts/19 S+ 0:00 grep tmux
もう一方を殺します。