Katakanlah Anda terhubung ke server jauh melalui ssh dengan Terminal.app. Ketika Anda "tmux attach" dengan monitor resolusi yang lebih besar dari yang lebih kecil yang sebelumnya Anda mulai tmux, ia menarik titik-titik di sekitar konsol. Itu tidak sesuai dengan ukuran jendela baru. Apakah ada cara untuk menggambar ulang dan membersihkan jendela? CTRL+ Latau CTRL- B+ Rtidak membantu. Saya tidak dapat menemukan perintah yang tepat pada manusia.
% tmux -V
tmux 1.5
Jawaban:
tmux membatasi dimensi jendela hingga yang terkecil dari setiap dimensi di semua sesi yang dilampirkan jendela. Jika tidak melakukan ini tidak akan ada cara yang masuk akal untuk menampilkan seluruh area jendela untuk semua klien yang dilampirkan.
Hal termudah untuk dilakukan adalah melepaskan klien lain dari sesi saat Anda melampirkan:
Sebagai alternatif, Anda dapat memindahkan klien lain ke sesi yang berbeda sebelum melampirkan ke sesi:
Layar akan menyusut lagi jika klien yang lebih kecil beralih ke sesi.
Ada juga variasi di mana Anda hanya "mengambil alih" jendela (menautkan jendela ke sesi baru, mengatur
aggressive-resize
, dan mengganti sesi lain yang memiliki jendela itu aktif ke jendela lain), tetapi lebih sulit untuk skrip pada umumnya huruf besar-kecil (dan berbeda dengan “keluar” karena Anda ingin membatalkan tautan jendela atau membunuh sesi alih-alih hanya melepaskan dari sesi).sumber
$(tmux display-message -p '#S')
, lihat: superuser.com/questions/410017/… .Ctrl-b + D
untuk kemudahan penggunaan (dan mengingat).set-option... set-remain-on-exit on
. Lihat tmux # 787 . Sekarang, gunakan:tmux set-hook -t "$tmp" window-linked 'set remain-on-exit on
.new-window
argumen terakhir dari sesuatu seperti'echo "Use Prefix + L (i.e. ^B L) to return to session.'; while(true); do read; done"
atau Anda tidak akan melihat pesannya. (Dalam beberapa keadaan, Anda akan melihatnya jika Anda menggulir ke atas, atau jika terminal lebih tinggi.) Jika Anda menggunakan ini, Anda mungkin lebih baik tanpa komentar saya "(1)" atau pengaturan apa punremain-on-exit
.Anda selalu dapat menekan CTRL- B+ SHIFT- Duntuk memilih klien mana yang ingin Anda lepaskan dari sesi.
tmux akan mencantumkan semua sesi dengan dimensi mereka saat ini. Maka Anda cukup melepaskan diri dari semua sesi berukuran lebih kecil.
sumber
CTRL-B
jika itu awalan Anda. MilikCTRL-A
saya sejak saya beralih dari layar.tmux list-sessions
yang menampilkan nama sesi, ukuran dan info grup, kemudiantmux kill-session -t <session_name>
untuk membunuh sesi dari grup yang sama.Solusi yang lebih sederhana pada versi terbaru tmux (diuji pada 1.9) sekarang dapat Anda lakukan:
-a
untuk semua klien lain pada sesi ini kecuali yang sekarangAnda dapat menambahkannya di rc. [Bash | zsh] Anda
Alur Kerja: Anda dapat terhubung ke sesi Anda secara normal, dan jika Anda terganggu oleh sesi lain yang memaksa turun ukuran jendela tmux Anda, Anda dapat menelepon
takeover
.sumber
:detach -a
tmux detach -a
di baris perintah shell di dalam Tmux.Jawaban lain tidak membantu saya karena saya hanya punya klien terlampir (yang sebelumnya memulai sesi sudah terlepas).
Untuk memperbaikinya saya mengikuti jawabannya di sini (saya tidak menggunakan xterm).
Yang hanya mengatakan:
resize
perintah linuxsumber
Saya hanya mengalami masalah ini dan menemukan situasi yang berbeda. Meskipun itu mungkin hanya unicorn, saya pikir saya akan mengeluarkannya.
Saya memiliki satu sesi yang lebih kecil, dan saya perhatikan bahwa ukuran font berbeda: sesi yang lebih kecil memiliki font yang lebih kecil. Rupanya, saya telah mengubah ukuran font jendela untuk beberapa alasan.
Jadi di OS X, saya hanya melakukan
Cmd-+
pada sesi berukuran lebih kecil, dan itu kembali ke tempatnya.sumber
cmd-+
atau-
memperbaikinya.bunuh yang lain.
sumber
Ini masih posting teratas saat mencari, tetapi tidak lagi valid. Jawaban terbaik ada di sini , tetapi TLDR ada
<c-b>:resize-window -A
sumber
Saya menggunakan Ctrl- b+ qyang membuatnya nomor flash untuk setiap panel, menggambar ulang mereka di jalan.
sumber