Многозадачность в терминале Linux: 3 способа использовать несколько оболочек
- В терминале Linux можно параллельно работать с несколькими оболочками: виртуальные консоли, управление задачами в Bash и GNU Screen. Каждый метод подходит для разных сценариев: быстрые сессии, фоновые задачи в одной оболочке или полноценные «окна» в одном терминале.
- Выбор зависит от ваших целей: быстро временно свернуть задачу — Bash job control; долгое хранение сессии на сервере — Screen (или tmux/Byobu); переключение на локальной машине — виртуальные консоли.
Быстрые ссылки
- Виртуальные консоли
- Управление задачами в Bash
- GNU Screen
- Альтернативы и когда что выбрать
- Краткая шпаргалка команд и чек-листы
Что это даёт (цель статьи)
Эта статья показывает практические способы одновременной работы с несколькими оболочками в Linux, объясняет преимущества и ограничения каждого подхода и даёт краткие инструкции и шпаргалки для быстрого старта.
Виртуальные консоли
По умолчанию большинство дистрибутивов Linux поддерживают несколько виртуальных консольных терминалов (TTY). Переключаться между ними можно с помощью сочетания клавиш Ctrl-Alt и клавиш F1–F6. Обычно Ctrl-Alt-F7 возвращает вас к графическому окружению (X/Wayland), но это зависит от дистрибутива.
Переключение переводит вас к приглашению логина. Вы можете войти и запустить команду — она продолжит работать, даже если вы переключитесь на другую консоль. Это удобно для локальных машин, когда нужно держать отдельные сессии для разных задач.

Текст “tty1” означает терминал, доступный по Ctrl-Alt-F1; tty2 — по Ctrl-Alt-F2 и т.д. Количество доступных TTY и положение X-сервера могут отличаться в разных дистрибутивах.
Важно
- Виртуальные консоли полезны на физической машине. На удалённом сервере через SSH они не применимы.
- Сессии привязаны к локальной машине — при перезагрузке они закончатся.
Управление задачами в Bash
Bash предлагает встроенный механизм управления задачами (job control). Это позволяет запускать процессы в фоне, приостанавливать их и возвращать на передний план.
Чтобы запустить процесс в фоне, добавьте & в конце команды. Пример: чтобы открыть редактор Nano в фоне:
nano &После запуска вы увидите номер задания (job ID) в квадратных скобках и PID процесса. Например, [1] — это job ID, а 3751 — PID.
Команда jobs показывает список текущих фоновых заданий. Знак + указывает задание, связанное с оболочкой последним, знак - — предпоследнее.

Команда fg возвращает задание на передний план. Если не указывать номер, используется задание с +. Чтобы вернуть задание 1:
fg %1
Горячие клавиши
- Ctrl-Z — приостанавливает текущий процесс и переводит его в состояние приостановки (stopped). Затем можно использовать bg для продолжения в фоне или fg для возвращения.
- bg %N — возобновляет задание N в фоне.
- kill %N или kill PID — завершает задание.
Ограничения
- Задачи, запущенные в фоне через &, привязаны к оболочке. Если закрыть оболочку или потерять SSH-сессию, процессы могут завершиться (SIGHUP), если не использовать дополнительные обходы (nohup, disown).
- Для длительных задач на удалённых хостах лучше использовать Screen или tmux.
GNU Screen
GNU Screen — это «менеджер окон» внутри терминала. Он позволяет создавать несколько виртуальных «окон» (терминалов) в рамках одной сессии Screen, отсоединяться и затем повторно подключаться к той же сессии.
Screen может не быть установлен по умолчанию (например, в Ubuntu). Установить на Debian/Ubuntu можно так:
sudo apt-get install screenЗапустите команду screen и вы увидите приветственную информацию. Нажмите Space или Enter, чтобы попасть в нормальную оболочку — она будет работать внутри сессии Screen.

Основные приёмы работы со Screen
- Ctrl-a d — отсоединиться (detach) от сессии и вернуться в обычный терминал.
- screen -r — повторно подключиться (reattach) к отсоединённой сессии.
- Ctrl-a c — создать новое окно в текущей сессии.
- Ctrl-a Ctrl-a — быстро переключиться между окнами.
- Ctrl-a “ — показать список окон, выбрать нужное и нажать Enter.

Screen даёт устойчивую среду для долгоживущих задач: даже если соединение прервётся, сессия останется активной на сервере, и вы сможете вернуться к ней позже.
Альтернативы и когда что выбрать
Краткая подсказка по выбору метода:
- Нужна сидячая локальная многозадачность — виртуальные консоли.
- Нужно временно свернуть задачу внутри одной оболочки — Bash job control (&, bg, fg, Ctrl-Z).
- Нужна надёжная удалённая сессия с окнами/панелями и доступом после разрыва соединения — Screen или tmux.
- Нужен готовый пользовательский набор и улучшенная обёртка — Byobu (надстройка над Screen/tmux).
Альтернативы
- tmux — современная альтернатива Screen с удобной конфигурацией и раздельными панелями. Рекомендуется для новых проектов.
- Byobu — упрощает работу с Screen/tmux за счёт удобных горячих клавиш и панели состояния.
Когда этот подход может не подойти
- Если вы запускаете процессы, которые должны пережить перезагрузку хоста — используйте systemd unit или cron @reboot.
- Если нужна распределённая оркестрация задач — применяйте инструменты уровня кластера (Kubernetes, systemd-хелперы).
Краткая шпаргалка (cheat sheet)
- Запустить в фоне: command &
- Посмотреть задания: jobs
- Приостановить текущую: Ctrl-Z
- Продолжить в фоне: bg %N
- Вернуть на передний план: fg %N
- Отсоединиться от screen: Ctrl-a d
- Повторно подключиться к screen: screen -r
- Установить screen на Debian/Ubuntu: sudo apt-get install screen
Быстрый план выбора (decision tree)
flowchart TD
A[Нужна сессия после разрыва SSH?] -->|Да| B[Использовать Screen или tmux]
A -->|Нет| C[Работа на локальной машине]
C -->|Нужно быстро переключаться между полноэкранными терминалами| D[Виртуальные консоли]
C -->|Нужно просто запустить фоновую задачу| E[Bash '&, bg, fg']
B --> F{Нужны панели и гибкие скрипты?}
F -->|Да| G[tmux]
F -->|Нет| H[Screen или Byobu]Ролевые чек‑листы
Для администратора сервера
- Установить screen или tmux.
- Создать отдельного пользователя или использовать sudo при необходимости.
- Настроить автозапуск важных сервисов через systemd.
- Обучить пользователей detach/reattach и проверке журналов.
Для разработчика локальной машины
- Использовать виртуальные консоли для разделения задач.
- Применять bg/fg для фоновых сборок и тестов.
- Для длительных тестов на удалённом хосте — использовать tmux/screen.
Ментальные модели и эвристики
- Если сессия должна существовать независимо от терминала — думайте Screen/tmux.
- Если нужно просто не блокировать текущую оболочку — ставьте в фон (&) или приостанавливайте Ctrl-Z.
- Если работаете локально и хотите несколько полноэкранных терминалов — переключайтесь по Ctrl-Alt-F*.
Мини‑методология: как внедрить в рабочий процесс
- Оцените длительность и важность задачи.
- Для коротких задач используйте фон (&). Для долгих — tmux/screen.
- Настройте привычные сочетания клавиш и alias-ы (например, alias s=’screen -r’).
- Обучите коллег и добавьте инструкции в README команды.
1‑строчный глоссарий
- TTY: виртуальная консоль на локальной машине.
- job: задание в Bash с собственным job ID.
- PID: идентификатор процесса.
- detach/reattach: отсоединиться/подключиться к сессии Screen/tmux.
Критерии приёмки
- Можете отсоединяться от сессии и повторно подключаться без потери запущенных процессов.
- Можете восстановить фоновую задачу в передний план через fg.
- Есть документированная рекомендация для команды: когда использовать виртуальные консоли, Bash jobs и screen/tmux.
Часто задаваемые вопросы
В чём разница между Screen и tmux?
Screen — старый и надёжный инструмент; tmux чаще предпочитают за гибкость, удобную конфигурацию и более активное сообщество.
Как безопасно запустить задачу, если я могу потерять SSH-соединение?
Используйте screen/tmux или запуск через nohup и disown, либо настройте systemd unit для важной задачи.
Можно ли использовать виртуальные консоли на сервере по SSH?
Нет — виртуальные консоли привязаны к физическому терминалу машины. По SSH используйте screen или tmux.
Мы уже писали более подробно о GNU Screen и рассматривали Byobu — удобную надстройку, которая упрощает работу с Screen/tmux.
Похожие материалы
Показать папку Library на macOS
Управление комнатами в Google Home
Как уменьшить объём данных и трафика потоковых сервисов
LinkedIn Learning — полное руководство
Просмотр раздела Linux из Windows — Ext2explore