14. Терминальный мультиплексор#
Введение#
Недостаток текстового терминала в том, что экран одновременно принадлежит только одному консольному приложению.
В процессе работы пользователь взаимодействует с несколькими приложениями: редактирует файлы, запускает утилиты из командной строки, следит за состоянием удаленного сервера.
Чтобы не завершать текущее приложение, чтобы переключаться на другое, используют терминальный мультиплексор, например tmux.
Утилита позволяет разбить терминальное окно на вложенные окна, называемые панелями. Каждая панель выглядит как самостоятельный терминал и имеет свою историю команд.
С помощью tmux можно держать открытыми одновременно текстовый редактор и интерпретатор команд.
Вы можете редактировать текст программы, собирать и запускать программу, просматривать результаты работы.
Команды tmux принимает после комбинации клавиш ctrl-b.
Управление панелями#
Команды % и " разбивают текущую панель поплам по вертикали и горизонтали, соответственно.
Панель закрывается по команде exit, после чего остальные границы остальных панели расширяются, замещая пустую область.
Если закрывается последняя панель, то происходит выход из tmux в командную оболочку.
Переключение между панелями происходит по командам →, ←, ↑, ↓.
Размер текущей панели настраивается клавишами перемещения (→, ←, ↑, ↓) при набранном ctrl-b, но еще не отпущенном ctrl.
Note
Команда Ctrl-b t показывает цифровые часы с текущим временем на активной панели.
Управление окнами#
Управление сессиями#
tmux new-session [-s session-name]
tmux detach
tmux attach-session [-d] [-t session-name]
tmux list-sessions
tmux kill-session [-t session-name]
Заключение#
Использованные источники#
Вопросы для самоконтроля#
Разделите окно tmux на панели способом, показанным ниже на рисунке. Запустите в панелях следующие команды:
интерактивные часы от
tmux;htop;vim main.c;man 3 getline.
Начните новую сессию
tmux, подготовьте в ней рабочее пространство и подключитесь с другого терминала к этой сессии.Откройте окно с эмулятором терминала и выполните команду
tty. Она выведет имя файла, с которым связан ваш терминал. Присоединитесь к сессииtmux. Выведите список клиентовtmuxи попробуйте определить, который из них вы.