[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-rabota-v-cli-bash-chto-takoe-multipleksory-terminala-screen-i-tmux":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":19,"progress":20,"seo":21},176,"chto-takoe-multipleksory-terminala-screen-i-tmux",4,"rabota-v-cli-bash","Работа в CLI (Bash)","💻","Что такое мультиплексоры терминала screen и tmux?","**Мультиплексоры терминала** — программы, позволяющие в одном терминале создавать несколько виртуальных сессий, переключаться между ними и, главное, отсоединяться от сессии с возможностью вернуться позже. Процессы в сессии мультиплексора продолжают работать даже после закрытия терминала или обрыва SSH-соединения.\n\nАналогия: мультиплексор — это рабочий стол с несколькими мониторами, где каждый монитор можно включить\u002Fвыключить, а программы на них продолжают работать. Даже если вы уйдёте из кабинета (закроете SSH), вернувшись, найдёте всё в том же состоянии.\n\n### screen — классический мультиплексор\n\n```bash\n# Создать новую сессию\nscreen\nscreen -S mysession              # С именем\n\n# Управление сессиями\nscreen -ls                       # Список сессий\nscreen -r mysession              # Подключиться к сессии\nscreen -d -r mysession           # Отсоединить от другого терминала и подключить здесь\n```\n\nОсновные горячие клавиши (префикс `Ctrl+a`):\n\n| Комбинация | Действие |\n|---|---|\n| `Ctrl+a c` | Создать новое окно |\n| `Ctrl+a n` \u002F `Ctrl+a p` | Следующее \u002F предыдущее окно |\n| `Ctrl+a \"` | Список окон |\n| `Ctrl+a 0-9` | Перейти к окну по номеру |\n| `Ctrl+a d` | Отсоединиться (detach) |\n| `Ctrl+a k` | Закрыть окно (kill) |\n\n### tmux — современный мультиплексор (рекомендуется)\n\ntmux использует иерархию: **сессия** -> **окна** -> **панели (panes)**.\n\n```bash\n# Управление сессиями\ntmux                             # Новая сессия\ntmux new -s dev                  # Новая сессия с именем \"dev\"\ntmux ls                          # Список сессий\ntmux attach -t dev               # Подключиться к сессии\ntmux kill-session -t dev         # Удалить сессию\n```\n\n### Горячие клавиши tmux (префикс Ctrl+b)\n\n| Комбинация | Действие |\n|---|---|\n| `Ctrl+b d` | Отсоединиться от сессии (detach) |\n| `Ctrl+b c` | Создать новое окно |\n| `Ctrl+b n` \u002F `Ctrl+b p` | Следующее \u002F предыдущее окно |\n| `Ctrl+b 0-9` | Перейти к окну по номеру |\n| `Ctrl+b ,` | Переименовать окно |\n| `Ctrl+b %` | Разделить панель вертикально |\n| `Ctrl+b \"` | Разделить панель горизонтально |\n| `Ctrl+b стрелки` | Переключение между панелями |\n| `Ctrl+b z` | Развернуть\u002Fсвернуть панель (zoom) |\n| `Ctrl+b x` | Закрыть текущую панель |\n| `Ctrl+b [` | Режим прокрутки (q для выхода) |\n\n### Сравнение screen и tmux\n\n| Характеристика | screen | tmux |\n|---|---|---|\n| Разделение на панели | Ограниченное | Полноценное |\n| Скриптовость | Слабая | Отличная (tmux send-keys и др.) |\n| Статусная строка | Базовая | Гибко настраиваемая |\n| Копирование\u002Fвставка | Неудобное | Режим vi\u002Femacs |\n| Активная разработка | Практически нет | Активная |\n\n### Типичный workflow Java-разработчика с tmux\n\n```bash\n# Создать сессию для проекта\ntmux new -s myproject\n\n# Окно 0: редактор (vim\u002Fnano)\n# Ctrl+b c — новое окно\n# Окно 1: сборка и запуск (mvn spring-boot:run)\n# Ctrl+b c — новое окно\n# Окно 2: логи (tail -f app.log)\n# Ctrl+b c — новое окно\n# Окно 3: git, тесты\n\n# Разделить окно на панели для удобства\n# Ctrl+b % — слева код, справа логи\n```\n\n### Пример конфигурации ~\u002F.tmux.conf\n\n```bash\n# Сменить префикс на Ctrl+a (как в screen)\nset -g prefix C-a\nunbind C-b\n\n# Нумерация окон с 1\nset -g base-index 1\n\n# Включить мышь\nset -g mouse on\n\n# Разделение панелей более интуитивными клавишами\nbind | split-window -h\nbind - split-window -v\n```\n\n> **На собеседовании:** ключевой use case — запуск долгих процессов на сервере по SSH: `tmux new -s deploy`, запустили деплой, `Ctrl+b d` — отсоединились, SSH-соединение можно закрыть, процесс продолжает работать. Вернулись: `tmux attach -t deploy`. Это показывает практический опыт работы с серверами.\n\n---","","middle",[15,16,17,18],"devops","linux","bash","tmux",[],null,{"title":22,"description":23,"ogTitle":22,"ogDescription":24,"keywords":25,"schemaAnswer":32,"featuredSnippetReady":33},"screen и tmux: мультиплексоры терминала -- Gymterview","Что такое мультиплексоры терминала screen и tmux? Сессии, окна, панели. Горячие клавиши, конфигурация ~\u002F.tmux.conf, workflow Java-разработчика с tmux.","Разбор мультиплексоров screen и tmux: управление сессиями, окнами и панелями, конфигурация и workflow для Java-разработчиков.",[18,26,27,28,29,30,31],"screen","мультиплексор терминала","tmux горячие клавиши","tmux сессии","tmux конфигурация","терминал Linux","Мультиплексоры терминала позволяют создавать несколько виртуальных сессий в одном терминале, отсоединяться и возвращаться позже -- процессы продолжат работать даже при обрыве SSH. screen -- классический мультиплексор (префикс Ctrl+a). tmux -- современная альтернатива (рекомендуется), использует иерархию сессия-окна-панели с префиксом Ctrl+b. Основные команды tmux: new -s name (создать сессию), attach -t name (подключиться), ls (список). Панели: Ctrl+b % (вертикальное разделение), Ctrl+b \" (горизонтальное), Ctrl+b z (zoom). Конфигурация через ~\u002F.tmux.conf.",true]