Tmux - что это и зачем? Обзор и урок tmux
Вставка
- Опубліковано 1 чер 2024
- Мой курс «Хардкорная веб-разработка» - course.to.digital
Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: botanim.to.digital/
Telegram: t0digital.t.me
Сказать спасибо за это видео можно здесь - boosty.to/digitalize.team
Обзор и урок tmux - это терминальный мультиплексор, позволяющий запускать в одном окне сразу несколько терминалов, удобно между ними переключаться, сохранять запущенные в нём процессы, всю историю и контекст. Крутейшая штука как для процесса разработки на локальной машине, так и для работы на удалённом сервере.
Изучаем Vim - • Изучаем Vim, команды и...
Менеджер процессов htop - • Htop - менеджер процес...
0:00 3 ночи, всем привет!
0:59 Что такое tmux и терминальный мультиплексор?
2:00 Сессии tmux
3:22 Про установку tmux
3:43 Запуск сессии tmux, работа с панелями и окнами в нём
6:10 Отсоединение от сессии и возврат в неё
7:30 Настройка tmux
9:05 Выводы
/****************** about ******************/
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
- Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
- Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
Если у вас есть проект на разработку, пишите нам на hi@digitalize.team.
С другими предложениями, а также если вам нужна одна или несколько индивидуальных консультаций/уроков по разработке (3000 руб/час), пишите мне на alexey@salesbeat.pro.
Telegram канал - t.me/t0digital
ВК - digitalize.team
RuTube - rutube.ru/channel/24802975/ab...
Дзен - dzen.ru/id/6235d32cb64df01e6e...
Мой курс «Хардкорная веб-разработка» - course.to.digital
Вжух!
Подскажу еще одну полезную фишку которая очень выручает в tmux
добавьте в конфиг вот эти строчки
# Sync panes!
bind o setw synchronize-panes on
bind O setw synchronize-panes off
В итоге при нажатии на ctrl+b o вы в одной панели будете вводить команды и все что вы ввели или нажали будет повторяться в другой панели. Где это можно юзать например подключились вы к 4 разным серверам и вам необходимо запустить одинаковые команды одновременно. вернуться обратно в нормальный режим можно ctrl+b O
еще пару полезных фич
ctrl + b w покажет список окон можно между ними переключаться так же поиск работает
ctrl+b s - тоже самое но по сессиям
ctrl+b , - можете переименовать текущее окно...
Еще много всего могу написать по tmux использую его больше 5 лет... после screen, в разы удобнее особенно если еще плагины юзать.
Спасибо! Пользуюсь переименованием поиском по окнам:) Фишка с синхронизацией - не знал, круто!
Не знал про синхроннвй ввод на открытых сессиях. Спасибо!
Спасибо, мало каналов которые делают такой полезный и интересный контент, пожалуйста продолжайте в том же духе! Успехов вам. и спасибо за знакомство с tmux
Спасибо вам большое за отзыв! Будем продолжать!
Присоединяюсь! А главное позитивный контент!
@@nonombre6043 спасибо! Рады делиться позитивом и опытом - им делишься, у тебя не убавляется, а в мире становится больше, мэджик:)
Лучше не `tmux attach -t ...`, это долго. А просто `tmux a`, он тогда переходит в последнюю запущенную сессию. Всё это ес-но при условии, что сессий немного было запущено и нужна не какая-то конкретная
Нашёл скрытый подвох - комбинация блочит консоль и переводит в замороженное состояние, а комбинация разблокировки не работает, потому что отлавливается tmux-ом с таким conf-файлом.
Кратко, доступно, практично!
Замечательное видео
Огромное спасибо за создание действительно полезных видео!
Очень полезные видео! От души в душу
Отличный инструмент! Спасибо за видео!
Очень полезная программа для сервера)
Благодарю!
Спасибо огромное! Помогло аж через 4 года! :)
Спасибо, Бро! все по делу и доходчиво, не затянуто.
Большое спасибо за труд! Нужно было быстро понять что это за зверь и с чем его едят, ваше видео очень помогло
Очень хорошее видео. Спасибо автору. Формат отличный. Все понятно.
Спасибо за отзыв и подписку! Будем продолжать
Как раз задался этим вопросом, со screen не сложилось, нашёл tmux и радостно, что от вас есть видео о нём :)
Отлично! Tmux хорош
Спасибо за видео. Добавлю:
Ctrl+b ? - удобная шпаргалка.
man tmux - руководство по использованию.
На первое время пока осваиваешься очень полезно держать открытыми )
Спасибо!
Смотрю ваши видео про Linux в 2022, и это не шутка) Спасибо большое!
Прекрасно . Я просто охренел от увиденного. Вы гуру разработчик
Нужен ещё один ролик про tmux там бы описал фишку с подключением к сессиям других пользователей, описал фишку с одновременным выполнением команд на нескольких серверах через setw synchronize-panes. И да я купил твой курс, буду проходить. Восполнить пробелы в знаниях Спасибо, за то, что ты делаешь)
Благодарю за видео!
Круть. Спасибо за урок.
Бомба, спасибо за отличный материал!!!
Спасибо! Будем продолжать
мега крутой инструмент! раньше постоянно открывал кучу окон..
Спасибо)
Отлично, рад, что зашло:)
Спасибо классное видео, открыл для себя крутой инструмент, до этого много времени пользовался терминатором, но совсем не то...
спасибо большое за полезности)))
Даже ролик еще не посмотрел, но лайк сразу заочно за tmux. Мастхэв однозначно. Кстати не плохо было бы упомянуть и x2go и xpra
Спасибо! Реально полезно !
Рад, что полезно!
в вим окна тоже классно сделаны ctrl-w s, ctrl-w v и переключение ctrl-w w
Спасибо! С тимаксом начал чувствовать себя настоящим айтишником, дааа
Моя жизнь делится на 2 части. До знакомстава с tmux и после
Жизнь делится по горизонтали или вертикали? ))
@@vid253 и так, и эдак и ещё на множество вкладок :)
Спасибо, ценим!
Подписался. Особо к вебу отношения не имею, но вот к администрированию линукса - самое прямое.
Клевая штуковина. Спасибо.
Спасибо! 10 лет линуксоид, но только щас оценил. Благодарю!
ЛАЙК за бейсбольный мяч)
Как же полезно! Гуглением не сразу это найдешь!
В закладки. Не знал о таком инструменте, мне в работе очень пригодится
интересный и полезный формат.
Спасибо! Будем продолжать
Столько лет пользуюсь ssh и впервые узнал про tmux! Огромнейшее спасибо!
Много лет юзал для тех же целей утилиту screen. Годами жил один игровой сервер в детач сессии screen, тк сам сервер не умел работать в фоне.
mast have, одназначнА! небольшое дополнение: tmux ls - просмотр запущенных сессий
Спасибо
Рубрика просто 🔥
Спасибо!
Формат- супер!
Спасибо за фидбек, скоро новые материалы!
tmux - это 💪 😀 Очень удобно работать открытыми вкладками
правда, там иногда попадаешь на готовые конфиги на гитхабе и после этого немного прозреваешь))) а так вообще чудесная штука
Эпичное начало.
Я взял себе за правило пет-проекты писать только в vim (для работы все-таки использую jetbrains без vim-плагина). У Soer вышло видео о grasp где он работает в vim с midnight commander, а под ним 2 терминала и все это в одном окне. Думаю, Диджитализируй! точно не мог обойти вопрос разбивки терминала стороной, и не ошибся. Теперь не только Соеру, но и мне удобненько, спасибо :)
Отлично! Без tmux как без рук:)
При знакомстве с темой Vim'а частенько мелькал этот Tmux; рад узнать ентого зверя поближе; спасибо!
благодарочка
Видео супер. Мое мнение стоит в таком формате делать. У меня такой вопрос, что за прога которая вывод у вас нажатие клавишь в зелёных квадратах?
Keycastr
@@t0digital Благодарю
Спаибо.
tmux это супервещь!!! 👍
Большое спасибо за видео! Не до конца понимал зачем использовать tmux если можно открыть несколько терминалов например на отдельном рабочем столе, но сейчас осознал все киллерфичи. Кстати очень круто вы сделали что при вводе команды висит красивая прозрачная строка, правда мне кажется лишним немного отображение зеленых кнопок. Хотя если там можно в настройках не показывать навигационные стрелки и всякие бекспейсы и пробел, то будет норм имхо
Спасибо! Отображение кнопок при нажатии - это не относится к tmux, это только для видео, чтобы было видно, какие команды на клавиатуре набираются
Как зафиксировать по умолчанию количество окон, их размер? Чтобы при следующем запуске не выставлять эти параметры заново.
Интересно, пойду думать. Пока screen с избытком.
Спасибо за видео!
Очень классный монтаж с терминалом поверх видео. Как это можно сделать?
Спасибо! Это режим наложения слоя в монтажке, здесь Add, если не ошибаюсь
Ctrl+b удобнее, потому что доступно с обоих рук! При слепом наборе это существенно!
Возможно. Мне неудобно
спасибо
Возможно ли в tmux в разных окнах переключаться /работать под разными пользователями? мне в одном надо работать под правами рута а в другом к примеру от имени www-data ? Или для этого надо изначально запустить tmux под правами рута ?
Можно открыть несколько окон/панелей и в каждом авторизоваться разными юзерами.
Привет, такой вопрос, я создаю именованую сессию, подключаюсь по ssh запускаю сервер, бегут логи запросы все ок. Могу подключаться отключаться, но после ребута моего компа или разрыва впн, когда я подключаюсь к той же сессии я вижу кусок логов которые были на момент разрыва соединения.
Сервер жив и крутится крутится где то то в фоне, вообще не понятно как до него достучаться.
--------
Т.е. это как бы не совсем та сессия, а просто терминал с куском текста до разрыва соединения
Ребята, вы не рубите фишку.
Какой к херам i3 к теме tmux и ему подобных (screen) ?
Вы как на vds собрались i3 ставить?
Безусловно можно изъебунться и поставить, потом по vnc подключаться.
Но проблема то в том, что графическая оболочка даже i3 грузит систему.
tmux нужен для нескольких сессий терминала без гуи.
На винде msys2 не исполняются команды, пишет -bash: vim: command not found
Как исправить не подскажите??
в маке iTerm тоже умеет делить экран. Это может быть заменой или это все таки не то?
tmux не замена/аналог iterm, это терминальный мультиплексор
@@t0digital поробовал в действии, классная штука, спасибо за совет ) Раньше держал несколько терминалов открытыми на нужных папках, где я чаще всего что-то делаю. Сейчас это сессии которые я могу востановить в любой момент, очень удобно.
Интересно
Вопрос - а какой инструмент более хорош из 3 - cmder, conemu, tmux ??? В контексте допустим винды и питона!
Это разные инструменты. Первые два эмуляторы консоли, тимакс консольный мультиплексор. Tmux может быть запущен внутри Cmder или conemu условно говоря, если зайти по ssh на Линукс и запустить тимакс там) хотя вроде и под Винду кто-то его запускал, но это изврат имхо m.habr.com/ru/post/196128/
@@t0digital вот оно как оказывается! Спасибо за информацию! Хм... тогда упрощённый вопрос - какой эмулятор консоли разумнее выбрать к комплекту из вин 7, питон, саблайм текст?
@@user-zt8fc9fg6t я помню conemu пользовался, когда надо было работать на винде. Винда свой какой-то родной мега-крутой терминал презентовала недавно, рекомендую его найти попробовать - ua-cam.com/video/8gw0rXPMMPE/v-deo.html
Отличное видео! А что за книга на столе?
Спасибо! Книга - справочник по стандартной библиотеке Python 3
Очень похож на Terminator, пользуюсь уже год очень нравится, точно так же можно делать много окон внутри одного терминала. Правда не пробовал его на серверах, но думаю надо попробовать).
Terminator это эмулятор терминала, tmux это терминальный мультиплексор, это разные штуки
@@t0digital согласен, разные штуки)
Здраво! Что думаешь о guake?
Год прошел. "Думаю, давно не было видео, надо записать"))
Так и было :)
tmux это screen на максималках :)
а что за программа для выводы нажатий клавиш используется?
Keycastr для мака
где его можно взять и как запустить в виртуальной машине?
Спасибо, очень доходчиво, а как вы сделали, что код так хорошо видно на видео?
Спасибо за отзыв!
Параллельно записи видео на ноутбуке пишется скринкаст с подобранным размером терминала и шрифта в нём, потом видео скринкаста обрезается и накладывается поверх картинки с режимом наложения Add в Final Cut
@@t0digital А какой программой вы отображаете нажимаемые клавиши в терминале?
@@dmi3mis keycastr
Есть вопрос - извините если offtopic. Я использую ssh от cygwin прямо из окна windows. Выглядит и работает по Unix'овому. Вообщем нормально. Но не знаю как из windows делать keyshort'ом copy/paste в окно. Cntrl-c/Cntr-v не работает. Может вы знаете?
Уверен, способ есть, но я его не помню. В putty тоже копирование работает как-то. Давно в виндоус не работал
@@t0digital не putty выбросил не оно. Ssh port отлично
Спасибо за видео. 10500 раз видел его скрины, но реальной потребности чтобы разобратся - что это за тула или надстройка баша - небыло. Оказывается всё просто.
Да, tmux хорош :)
Круто с сессиями, но в целом вим же умеет бить терминал на окна. Я пока это только раскуриваю, и tmux скорее всего я буду тоже использовать, но пока я не знаю как мне настроить VIM чтобы он выглядел для меня как привычная IDE. Т.е. - слева эксплорер моего проекта, справа код, снизу терминал. Хотелось бы про это ролик, потому что вот лично для меня VIM удобнен для набора и работы с текстом но я пока не нашёл способы как мне его "прервратить" в привычную мне IDE.
Не совсем понял, объясните пожалуйста. Разве в операционной системе в многооконном режиме нельзя все те же действия произвести в отдельных обычных терминальных окнах?
если задача просто открыть несколько терминалов - да. Терминальный мультиплекстор решает много другиз задач - сохранение сессий и состояния, их удобно запускать по SSH на серверах и тд.
Добрый день! Какой дистрибутив linux вы используете?
Здравствуйте, Debian
@@t0digital Спасибо:)
Вместо ввода команды exit в терминале, можно жать ^d для выхода.
привычка:)
...еще есть его вариации под андроид
...а еще можно туда проинсталить xfce4 и vnc и xrdp потом застартовав а потом через rdp попасть в его x сессию (только вот фаерфокса там иногда не хватает)
Использую screen. После видео задумался о переходе не tmux. Юзабилити на порядок удобнее.
tmux хорош, да:)
Доброго времени суток. Как вы решили проблему с тем что, при перезагрузке компьютера все сессии удаляются?
Никак не решал. Но на канале есть видео про запуск tmux сессии с уже запущенными нужными табами и процессами
Спасибо! Тоже люблю vim очень, а вот про эту тему как-то проскочил, сидел на терминаторе балбес..И вот теперь я вообще шива))
Отличнооо:)!
Я тоже на терминаторе сидел и пока еще сижу))) Но после этого видео возможно буду переходить на Tmux ))
@@sa29gsh07AAA переходи, ваще оч круто. Сейчас я к терминатору хрен вернусь.)
У меня локально tilix на серверах screen, тоже нормально
Что то пошло не так, vim в tmux открывает файлы но сохранить их и выйти из vim уже нет возможности, это только у меня так?
А тайлинговый менеджер не замена tmux'у? Как я понимаю, локально удобнее тайлинговый менеджер окон использовать, т.к. он более современный и гибкий, а по ssh только tmux доступен.
Нет, это разные инструменты. Например, вот ua-cam.com/video/P10cuGj-J8E/v-deo.html
Давно бы начал использовать эту утилиту, но почему ctrl+b, почему не ctrl+w+v 😊 , нужны хоткеи vim. Автору канала большооооое спасибо за такой полезный контент, молодчинка.
Посмотрел какой терминал сейчас у меня. Tilix. Тоже можно делить окна.
Tilix это эмулятор терминала, Tmux это терминальный мультиплексор, это разные инструменты
Доброго времени суток, случилась проблема. Установил себе на Debian 11 tmux и не работают горячие клавиши (раскладка английская), при этом работают команды, подскажите пожалуйста, что делать.
Какие горячие клавиши на работают, о чем речь?
@@t0digital, когда я в сессии, отключиться могу только через команду tmux detach, при нажатии клавиш cnrl + b
+ d ничего не происходит
@@a.mayorovv может префикс перебиндили?
Круто, но где усы? Как мне с awk работать?
Воу, воу!
А как же screen?!!!
Интересно, можно ли сравнить screen с tmux как vim c emax?
;)
Разработчики tmux говорят, что это усовершенствованный screen, замена ему:)
@@t0digital Да, слышал. По функциональности вопросов нет. Tmux щднозначно функциональнее. Есть одно но - он не установлен "из коробки" на многих OS.
@@sergeyturivnyi2538 это да
Стоит отметить, что к сессии может присоединиться другой человек - можно кодить вдвоём)
Да!
можно как-то запустить новую сессию тимакса чтоб сразу окно разбилось на области и в каждой запустился свой скрипт, тот же редис целери и джанга?
Да, можно. Запускаем сессию dev в фоне (-d):
tmux new -s dev -d
В соседнем терминале можно подцепиться к этой сессии, чтобы наблюдать, что происходит:
tmux attach -t dev
В предыдущем терминале, где создавали сессию, шлем в tmux команду и разбиваем нулевое окно (dev:0), нулевую его панель (.0) на 2 вертикальные панели (-v):
tmux split-window -v -t dev:0.0
Разбиваем на 2 горизонтальные панели верхнюю и нижнюю части:
tmux split-window -h -t dev:0.0
tmux split-window -h -t dev:0.2
Получается в 0 window 4 панели с нумерами 0, 1, 2, 3. В каждой панели можно запустить свой код:
tmux send-keys -t dev:0.0 '0 window' Enter
tmux send-keys -t dev:0.1 '1 window' Enter
tmux send-keys -t dev:0.2 '2 window' Enter
tmux send-keys -t dev:0.3 '3 window' Enter
Вот хорошая книжка по Tmux - github.com/threerocks/studyFiles/raw/master/%E5%90%8E%E7%AB%AF/tmux%20Productive%20Mouse-Free%20Development.pdf
@@t0digital , нет именно НОВУЮ сессию, которая сама все запустит, допустим при перезагрузке сервера
@@majiq3233 приведённый выше код как раз это и делает
А вы случайно mosh не используете? Интересен был бы кейс с удаленным tmux и поднятой к нему mosh сессией. Я частенько админю сервера и правлю код на ходу с ноутбука. И каждый раз восстанавливать сессии руками ну крайне неудобно.
Я использую mosh, да, хотя админы как правило против того, чтобы ставить mosh на свои сервера. А в чем вопрос? Я обычно запускаю mosh, на удалённом сервере tmux и в нем работаю
Какая у вас цветовая схема на терминале?
сейчас simple, в этом видео не помню что было
@@t0digital да, нужна та схема которую вы сейчас используете. Для одаренных (на мак недавно перешел), его можно скачать/установить?
Думал про вы про тему zsh:) в самом терминале тема Pro
Спасибо за урок. А кто автор книги на столе?), позвольте полюбопытствовать).
Д. Хеллман)
Да, Даг Хеллман, хорошая книга, мне лучше Лутца зашла
@@t0digital согласен, книга отличная. но содержание немного отличается, если в книге Лутца описываются методы программирования на пайтон, то в книге Хеллмана - описываются модули и библиотеки пайтон). Тоже радуюсь, что купил)
@@t0digital Благодарю за информацию), ознакомлюсь)
как в putty на red hat послать cntrl+b и " как ни пробую не получается двойные кавычки послать, чтобы разделить экран?
Нет винды под рукой, чтобы посмотреть, что особенного в путти. Обычно ничего дополнительно не надо делать, в стандартной поставке tmux работает его стандартный префикс ctrl-b и разделение по кавычкам
@@t0digital
Там в конфигах оказывается куча перенастроек сделана. Подскажите пожалуйста еще вопрос нашел на счет копирования. Стоят такие бинды
# Pane copy/pasting
set-option -g mode-keys emacs
bind-key -t emacs-copy M-w copy-pipe "xsel -i -p -b"
bind-key C-v run "xsel -o | tmux load-buffer - ; tmux paste-buffer"
bind : command-prompt
понял что скопировать внутри tmux можно cntrl+b потом cntrl v для вставить и для скопировать cntrl+b потом cntrl w. А как сделать так, чтобы можно было скопировать что-то извне, например с файла на рабочем столе. Обычный функционал позволяет просто cntl с и ПКМ и вставляет или с линуккса вообще просто выделил часть и нажал ПКМ. При такой настройке из вне tmux ничего нельзя скопировать. Как скопировать из вне, чтобы не повредить и эту настройку?
Есть на канале ещё видосы по tmux, там есть пример с настройкой копирования, посмотрите. Под виндой не проверял, правда, но должно работать, думаю
Пропадает возможность скроллить мышью и по шифт+стрелки или шифт+ PgUp/Down, а чтобы, к примеру, скопипастить мышью с окна, разделенного вертикальной полосой, нужно познать кунг-фу.
В целом, весьма нетривиальный экспириенс, на который нужно потратить времечко.
Консольный тайловый менеджер :D
Ага
Ну а вообще, это похоже на смесь emacs + vim (ака evil-mode). Есть комбинации как в vim "hjkl", кнопки alt нету, есть только "M", как в emacs.
Во общем, удобно.
Вот он красавчик 0:26
Што не так)?
Как ты делаешь такой захват видео для терминала?
Просто запись с экрана, потом режим наложения слоя Add в final cut
А можно поинтересоваться, что за книжка лежит рядом?)
to.digital/python-stdlib
@@t0digital Спасибо большое!