окно изменения размера tmux

19

Я обычно подключаюсь к удаленным серверам Linux с определенного сервера Windows (W1). На стороне windows я использую putty, а на стороне linux - tmux.

Иногда мне приходится использовать другой сервер Windows (W2) и подключаться к одним и тем же сеансам tmux.

Проблема: Если я установил размер для окон замазки на W1, то я не могу превысить этот размер на W2. Когда я максимизирую окно замазки, лишнее пространство становится непригодным для использования, заполненное символами ~.

Есть ли способ принудительно изменить размер на W2, даже если это означает, что W1 будет показывать только частичный вывод? Или способ заставить W1 отключиться от сессии tmux?

Prem
источник

Ответы:

39

С помощью tmux list-clientвы можете получить список всех клиентов, подключенных к сеансам tmux. Например:

$ tmux list-client
/dev/pts/6: 0 [25x80 xterm] (utf8)
/dev/pts/8: 0 [25x80 xterm] (utf8)

С этого момента вы можете отключить указанный клиент или всех клиентов указанного сеанса. Скажем, я хочу отключить всех подключенных к сеансу 0:

$ tmux detach-client -s 0

Затем вы можете прикрепить сеанс так, чтобы размер был вашим.

Фактически, все, что может быть сделано с tmux attach -d( -dопция заставляет всех других клиентов отсоединяться).

apaul
источник
1
Здорово !! "-d" это именно то, что я хотел !!
Прем
2
Спасибо, в моем случае это tmux detach-client -t /dev/pts/Xя искал.
Буф
1
ярлык «список клиентов» - это:tmux ls
Матиас Элгарт
2
Матиас, на самом деле «tmux ls» - это сокращение от «list-
Мэтт,
6

если вы уже находитесь в tmux, вы можете отключить все остальные соединения, используя :detach-client -a. Это оставляет только вашу текущую сессию. Следовательно, у вас не будет лишних пробелов, непригодных для использования, заполненных ~символами.

Максим Суслов
источник
+1! Таким образом, нам не нужно выходить и подключаться снова!
Прем