Tmux - что это и зачем? Обзор и урок tmux
Vložit
- čas přidán 23. 07. 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
Спасибо вам большое за отзыв! Будем продолжать!
Присоединяюсь! А главное позитивный контент!
@@nonombre6043 спасибо! Рады делиться позитивом и опытом - им делишься, у тебя не убавляется, а в мире становится больше, мэджик:)
Очень хорошее видео. Спасибо автору. Формат отличный. Все понятно.
Спасибо за отзыв и подписку! Будем продолжать
Подскажу еще одну полезную фишку которая очень выручает в 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, в разы удобнее особенно если еще плагины юзать.
Спасибо! Пользуюсь переименованием поиском по окнам:) Фишка с синхронизацией - не знал, круто!
Не знал про синхроннвй ввод на открытых сессиях. Спасибо!
Очень полезные видео! От души в душу
Спасибо огромное! Помогло аж через 4 года! :)
Спасибо, Бро! все по делу и доходчиво, не затянуто.
Очень полезная программа для сервера)
Благодарю!
Как раз задался этим вопросом, со screen не сложилось, нашёл tmux и радостно, что от вас есть видео о нём :)
Отлично! Tmux хорош
Отличный инструмент! Спасибо за видео!
Бомба, спасибо за отличный материал!!!
Спасибо! Будем продолжать
Прекрасно . Я просто охренел от увиденного. Вы гуру разработчик
Благодарю за видео!
мега крутой инструмент! раньше постоянно открывал кучу окон..
Спасибо)
Отлично, рад, что зашло:)
Спасибо! С тимаксом начал чувствовать себя настоящим айтишником, дааа
Круть. Спасибо за урок.
Смотрю ваши видео про Linux в 2022, и это не шутка) Спасибо большое!
Спасибо! Реально полезно !
Рад, что полезно!
Спасибо, ценим!
спасибо большое за полезности)))
Спасибо классное видео, открыл для себя крутой инструмент, до этого много времени пользовался терминатором, но совсем не то...
Даже ролик еще не посмотрел, но лайк сразу заочно за tmux. Мастхэв однозначно. Кстати не плохо было бы упомянуть и x2go и xpra
Большое спасибо за труд! Нужно было быстро понять что это за зверь и с чем его едят, ваше видео очень помогло
Спасибо за видео. Добавлю:
Ctrl+b ? - удобная шпаргалка.
man tmux - руководство по использованию.
На первое время пока осваиваешься очень полезно держать открытыми )
Спасибо!
Нашёл скрытый подвох - комбинация блочит консоль и переводит в замороженное состояние, а комбинация разблокировки не работает, потому что отлавливается tmux-ом с таким conf-файлом.
Формат- супер!
Спасибо за фидбек, скоро новые материалы!
Подписался. Особо к вебу отношения не имею, но вот к администрированию линукса - самое прямое.
Лучше не `tmux attach -t ...`, это долго. А просто `tmux a`, он тогда переходит в последнюю запущенную сессию. Всё это ес-но при условии, что сессий немного было запущено и нужна не какая-то конкретная
Нужен ещё один ролик про tmux там бы описал фишку с подключением к сессиям других пользователей, описал фишку с одновременным выполнением команд на нескольких серверах через setw synchronize-panes. И да я купил твой курс, буду проходить. Восполнить пробелы в знаниях Спасибо, за то, что ты делаешь)
Спасибо! 10 лет линуксоид, но только щас оценил. Благодарю!
в вим окна тоже классно сделаны ctrl-w s, ctrl-w v и переключение ctrl-w w
Клевая штуковина. Спасибо.
интересный и полезный формат.
Спасибо! Будем продолжать
ЛАЙК за бейсбольный мяч)
Рубрика просто 🔥
Спасибо!
В закладки. Не знал о таком инструменте, мне в работе очень пригодится
Моя жизнь делится на 2 части. До знакомстава с tmux и после
Жизнь делится по горизонтали или вертикали? ))
@@vid253 и так, и эдак и ещё на множество вкладок :)
Как же полезно! Гуглением не сразу это найдешь!
tmux - это 💪 😀 Очень удобно работать открытыми вкладками
правда, там иногда попадаешь на готовые конфиги на гитхабе и после этого немного прозреваешь))) а так вообще чудесная штука
mast have, одназначнА! небольшое дополнение: tmux ls - просмотр запущенных сессий
Спасибо
Эпичное начало.
При знакомстве с темой Vim'а частенько мелькал этот Tmux; рад узнать ентого зверя поближе; спасибо!
Много лет юзал для тех же целей утилиту screen. Годами жил один игровой сервер в детач сессии screen, тк сам сервер не умел работать в фоне.
благодарочка
Интересно, пойду думать. Пока screen с избытком.
Год прошел. "Думаю, давно не было видео, надо записать"))
Так и было :)
Столько лет пользуюсь ssh и впервые узнал про tmux! Огромнейшее спасибо!
Я взял себе за правило пет-проекты писать только в vim (для работы все-таки использую jetbrains без vim-плагина). У Soer вышло видео о grasp где он работает в vim с midnight commander, а под ним 2 терминала и все это в одном окне. Думаю, Диджитализируй! точно не мог обойти вопрос разбивки терминала стороной, и не ошибся. Теперь не только Соеру, но и мне удобненько, спасибо :)
Отлично! Без tmux как без рук:)
На винде msys2 не исполняются команды, пишет -bash: vim: command not found
Как исправить не подскажите??
Спаибо.
спасибо
Большое спасибо за видео! Не до конца понимал зачем использовать tmux если можно открыть несколько терминалов например на отдельном рабочем столе, но сейчас осознал все киллерфичи. Кстати очень круто вы сделали что при вводе команды висит красивая прозрачная строка, правда мне кажется лишним немного отображение зеленых кнопок. Хотя если там можно в настройках не показывать навигационные стрелки и всякие бекспейсы и пробел, то будет норм имхо
Спасибо! Отображение кнопок при нажатии - это не относится к tmux, это только для видео, чтобы было видно, какие команды на клавиатуре набираются
tmux это супервещь!!! 👍
Ctrl+b удобнее, потому что доступно с обоих рук! При слепом наборе это существенно!
Возможно. Мне неудобно
Вместо ввода команды exit в терминале, можно жать ^d для выхода.
привычка:)
Спасибо за видео!
Очень классный монтаж с терминалом поверх видео. Как это можно сделать?
Спасибо! Это режим наложения слоя в монтажке, здесь Add, если не ошибаюсь
Возможно ли в tmux в разных окнах переключаться /работать под разными пользователями? мне в одном надо работать под правами рута а в другом к примеру от имени www-data ? Или для этого надо изначально запустить tmux под правами рута ?
Можно открыть несколько окон/панелей и в каждом авторизоваться разными юзерами.
Привет, такой вопрос, я создаю именованую сессию, подключаюсь по ssh запускаю сервер, бегут логи запросы все ок. Могу подключаться отключаться, но после ребута моего компа или разрыва впн, когда я подключаюсь к той же сессии я вижу кусок логов которые были на момент разрыва соединения.
Сервер жив и крутится крутится где то то в фоне, вообще не понятно как до него достучаться.
--------
Т.е. это как бы не совсем та сессия, а просто терминал с куском текста до разрыва соединения
где его можно взять и как запустить в виртуальной машине?
tmux это screen на максималках :)
а что за программа для выводы нажатий клавиш используется?
Keycastr для мака
Ребята, вы не рубите фишку.
Какой к херам i3 к теме tmux и ему подобных (screen) ?
Вы как на vds собрались i3 ставить?
Безусловно можно изъебунться и поставить, потом по vnc подключаться.
Но проблема то в том, что графическая оболочка даже i3 грузит систему.
tmux нужен для нескольких сессий терминала без гуи.
Интересно
Видео супер. Мое мнение стоит в таком формате делать. У меня такой вопрос, что за прога которая вывод у вас нажатие клавишь в зелёных квадратах?
Keycastr
@@t0digital Благодарю
Как зафиксировать по умолчанию количество окон, их размер? Чтобы при следующем запуске не выставлять эти параметры заново.
Очень похож на Terminator, пользуюсь уже год очень нравится, точно так же можно делать много окон внутри одного терминала. Правда не пробовал его на серверах, но думаю надо попробовать).
Terminator это эмулятор терминала, tmux это терминальный мультиплексор, это разные штуки
@@t0digital согласен, разные штуки)
Здраво! Что думаешь о guake?
Посмотрел какой терминал сейчас у меня. Tilix. Тоже можно делить окна.
Tilix это эмулятор терминала, Tmux это терминальный мультиплексор, это разные инструменты
Использую screen. После видео задумался о переходе не tmux. Юзабилити на порядок удобнее.
tmux хорош, да:)
в маке iTerm тоже умеет делить экран. Это может быть заменой или это все таки не то?
tmux не замена/аналог iterm, это терминальный мультиплексор
@@t0digital поробовал в действии, классная штука, спасибо за совет ) Раньше держал несколько терминалов открытыми на нужных папках, где я чаще всего что-то делаю. Сейчас это сессии которые я могу востановить в любой момент, очень удобно.
Доброго времени суток. Как вы решили проблему с тем что, при перезагрузке компьютера все сессии удаляются?
Никак не решал. Но на канале есть видео про запуск tmux сессии с уже запущенными нужными табами и процессами
Не совсем понял, объясните пожалуйста. Разве в операционной системе в многооконном режиме нельзя все те же действия произвести в отдельных обычных терминальных окнах?
если задача просто открыть несколько терминалов - да. Терминальный мультиплекстор решает много другиз задач - сохранение сессий и состояния, их удобно запускать по SSH на серверах и тд.
Спасибо! Тоже люблю vim очень, а вот про эту тему как-то проскочил, сидел на терминаторе балбес..И вот теперь я вообще шива))
Отличнооо:)!
Я тоже на терминаторе сидел и пока еще сижу))) Но после этого видео возможно буду переходить на Tmux ))
@@sa29gsh07AAA переходи, ваще оч круто. Сейчас я к терминатору хрен вернусь.)
Спасибо за видео. 10500 раз видел его скрины, но реальной потребности чтобы разобратся - что это за тула или надстройка баша - небыло. Оказывается всё просто.
Да, tmux хорош :)
Вопрос - а какой инструмент более хорош из 3 - cmder, conemu, tmux ??? В контексте допустим винды и питона!
Это разные инструменты. Первые два эмуляторы консоли, тимакс консольный мультиплексор. Tmux может быть запущен внутри Cmder или conemu условно говоря, если зайти по ssh на Линукс и запустить тимакс там) хотя вроде и под Винду кто-то его запускал, но это изврат имхо m.habr.com/ru/post/196128/
@@t0digital вот оно как оказывается! Спасибо за информацию! Хм... тогда упрощённый вопрос - какой эмулятор консоли разумнее выбрать к комплекту из вин 7, питон, саблайм текст?
@@user-zt8fc9fg6t я помню conemu пользовался, когда надо было работать на винде. Винда свой какой-то родной мега-крутой терминал презентовала недавно, рекомендую его найти попробовать - czcams.com/video/8gw0rXPMMPE/video.html
Отличное видео! А что за книга на столе?
Спасибо! Книга - справочник по стандартной библиотеке Python 3
Что то пошло не так, vim в tmux открывает файлы но сохранить их и выйти из vim уже нет возможности, это только у меня так?
выход из терминала CTRL+D. Очистить экран CTRL+L
в контексте данного видео:
комбинация ctrl+d вместо команды exit
комбинация ctrl+l вместо команды clear
Еще один удобный терминал с делением окон - Terminator
Terminator это эмулятор терминала, Tmux это терминальный мультиплексор, это разные штуки
Есть вопрос - извините если offtopic. Я использую ssh от cygwin прямо из окна windows. Выглядит и работает по Unix'овому. Вообщем нормально. Но не знаю как из windows делать keyshort'ом copy/paste в окно. Cntrl-c/Cntr-v не работает. Может вы знаете?
Уверен, способ есть, но я его не помню. В putty тоже копирование работает как-то. Давно в виндоус не работал
@@t0digital не putty выбросил не оно. Ssh port отлично
Подписка не глядя за смех после "сейчас 4 утра, я сижу в офисе..."
Так и живём:)
Добрый день! Какой дистрибутив linux вы используете?
Здравствуйте, Debian
@@t0digital Спасибо:)
У меня локально tilix на серверах screen, тоже нормально
Стоит отметить, что к сессии может присоединиться другой человек - можно кодить вдвоём)
Да!
Консольный тайловый менеджер :D
Ага
Ну а вообще, это похоже на смесь emacs + vim (ака evil-mode). Есть комбинации как в vim "hjkl", кнопки alt нету, есть только "M", как в emacs.
Во общем, удобно.
Спасибо, очень доходчиво, а как вы сделали, что код так хорошо видно на видео?
Спасибо за отзыв!
Параллельно записи видео на ноутбуке пишется скринкаст с подобранным размером терминала и шрифта в нём, потом видео скринкаста обрезается и накладывается поверх картинки с режимом наложения Add в Final Cut
@@t0digital А какой программой вы отображаете нажимаемые клавиши в терминале?
@@dmi3mis keycastr
Круто, но где усы? Как мне с awk работать?
Круто с сессиями, но в целом вим же умеет бить терминал на окна. Я пока это только раскуриваю, и tmux скорее всего я буду тоже использовать, но пока я не знаю как мне настроить VIM чтобы он выглядел для меня как привычная IDE. Т.е. - слева эксплорер моего проекта, справа код, снизу терминал. Хотелось бы про это ролик, потому что вот лично для меня VIM удобнен для набора и работы с текстом но я пока не нашёл способы как мне его "прервратить" в привычную мне IDE.
...еще есть его вариации под андроид
...а еще можно туда проинсталить xfce4 и vnc и xrdp потом застартовав а потом через rdp попасть в его x сессию (только вот фаерфокса там иногда не хватает)
А тайлинговый менеджер не замена tmux'у? Как я понимаю, локально удобнее тайлинговый менеджер окон использовать, т.к. он более современный и гибкий, а по ssh только tmux доступен.
Нет, это разные инструменты. Например, вот czcams.com/video/P10cuGj-J8E/video.html
А можно ли в tmux использовать несколько рабочих столов как в i3?
Да, это называется окнами в терминологии tmux’а
можно как-то запустить новую сессию тимакса чтоб сразу окно разбилось на области и в каждой запустился свой скрипт, тот же редис целери и джанга?
Да, можно. Запускаем сессию 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 приведённый выше код как раз это и делает
Доброго времени суток, случилась проблема. Установил себе на Debian 11 tmux и не работают горячие клавиши (раскладка английская), при этом работают команды, подскажите пожалуйста, что делать.
Какие горячие клавиши на работают, о чем речь?
@@t0digital, когда я в сессии, отключиться могу только через команду tmux detach, при нажатии клавиш cnrl + b
+ d ничего не происходит
@@a.mayorovv может префикс перебиндили?
Какая у вас цветовая схема на терминале?
сейчас simple, в этом видео не помню что было
@@t0digital да, нужна та схема которую вы сейчас используете. Для одаренных (на мак недавно перешел), его можно скачать/установить?
Думал про вы про тему zsh:) в самом терминале тема Pro
как в 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, там есть пример с настройкой копирования, посмотрите. Под виндой не проверял, правда, но должно работать, думаю
А вы случайно mosh не используете? Интересен был бы кейс с удаленным tmux и поднятой к нему mosh сессией. Я частенько админю сервера и правлю код на ходу с ноутбука. И каждый раз восстанавливать сессии руками ну крайне неудобно.
Я использую mosh, да, хотя админы как правило против того, чтобы ставить mosh на свои сервера. А в чем вопрос? Я обычно запускаю mosh, на удалённом сервере tmux и в нем работаю
Как ты делаешь такой захват видео для терминала?
Просто запись с экрана, потом режим наложения слоя Add в final cut
Давно бы начал использовать эту утилиту, но почему ctrl+b, почему не ctrl+w+v 😊 , нужны хоткеи vim. Автору канала большооооое спасибо за такой полезный контент, молодчинка.
А кто в курсе как сделать чтобы нажатия клавиш отображались как в видео крупным планом???