Допустим, вы подключаетесь к удаленному серверу через ssh с помощью Terminal.app. Когда вы подключаете tmux к монитору с большим разрешением от меньшего, чем вы ранее запускали tmux, он рисует точки вокруг консоли. Это не соответствует новому размеру окна. Есть ли способ перерисовать и почистить окно? CTRL+ Lили CTRL- B+ Rне помогает. Я не мог найти правильную команду на человека.
% tmux -V
tmux 1.5
Ответы:
tmux ограничивает размеры окна наименьшим из каждого измерения во всех сеансах, к которым присоединено окно. Если бы он этого не делал, не было бы разумного способа отобразить всю область окна для всех подключенных клиентов.
Самое простое, что можно сделать, это отключить других клиентов от сеансов, когда вы присоединяете:
Кроме того, вы можете переместить любые другие клиенты в другой сеанс перед подключением к сеансу:
Экран снова уменьшится, если меньший клиент переключится на сеанс.
Существует также вариант, при котором вы только «захватываете» окно (связываете окно с новым сеансом, устанавливаете
aggressive-resize
и переключаете любые другие сеансы, в которых это окно активно, на какое-то другое окно), но в общем случае сценарий сложнее case (и отличается от «exit», так как вы хотите отсоединить окно или убить сеанс, а не просто отсоединяться от сеанса).источник
$(tmux display-message -p '#S')
, см .: superuser.com/questions/410017/… .Ctrl-b + D
для простоты использования (и запоминания).set-option... set-remain-on-exit on
. Смотрите tmux # 787 . Теперь, используя:tmux set-hook -t "$tmp" window-linked 'set remain-on-exit on
.new-window
последний аргумент чего-то вроде,'echo "Use Prefix + L (i.e. ^B L) to return to session.'; while(true); do read; done"
иначе вы не увидите сообщение. (В некоторых случаях вы увидите это, если прокрутите вверх или если терминал выше.) Если вы используете это, вам, вероятно, будет лучше без моего комментария "(1)" или каких-либо настроекremain-on-exit
.Вы всегда можете нажать CTRL- B+ SHIFT-, Dчтобы выбрать, какого клиента вы хотите отключить от сеанса.
tmux перечислит все сессии с их текущим измерением. Тогда вы просто отсоединяетесь от всех сессий меньшего размера.
источник
CTRL-B
если это ваш префикс. Мой былCTRL-A
с тех пор, как я перешел с экрана.tmux list-sessions
которая показывает имя сеанса, размер и информацию о группе, а затемtmux kill-session -t <session_name>
убить сеансы той же группы.Более простое решение для последних версий tmux (протестировано на 1.9) теперь можно сделать:
-a
для всех других клиентов в этом сеансе, кроме текущегоВы можете использовать псевдоним в вашем. [Bash | zsh] rc
Рабочий процесс: вы можете подключиться к своему сеансу в обычном режиме, и, если вам мешает другой сеанс, который ограничил размер окна tmux, вы можете просто позвонить
takeover
.источник
:detach -a
tmux detach -a
в командной строке оболочки внутри Tmux.Другие ответы мне не помогли, так как у меня был только подключенный клиент (предыдущий, который начал сеанс, был уже отсоединен).
Чтобы исправить это, я последовал за ответом здесь (я не использовал xterm).
Который просто сказал:
resize
команду Linuxисточник
Я просто столкнулся с этой проблемой и наткнулся на другую ситуацию. Хотя это, вероятно, просто единорог, я думал, что выложу это.
У меня был один сеанс, который был меньше, и я заметил, что размеры шрифтов были разными: меньший сеанс имел меньшие шрифты. Видимо, я почему-то изменил размеры шрифта окна.
Так что в OS X я только что провел
Cmd-+
сеанс меньшего размера, и он вернулся на свое место.источник
cmd-+
или-
исправляет.убей другого.
источник
Это по-прежнему главное сообщение при поиске, но оно больше не действует. Лучший ответ здесь , но TLDR
<c-b>:resize-window -A
источник
Я использую Ctrl- b+, qчто делает номер вспышки для каждой панели, перерисовывая их по пути.
источник