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
และสลับเซสชันอื่น ๆ ที่มีหน้าต่างนั้นเปิดใช้งานไปยังหน้าต่างอื่นบางแห่ง) แต่สคริปต์ในทั่วไปนั้นยากกว่า กรณี (และแตกต่างจาก "exit" เนื่องจากคุณต้องการยกเลิกการเชื่อมโยงหน้าต่างหรือฆ่าเซสชันแทนที่จะแยกออกจากเซสชัน)