О tmux#
Ваша мышь замедляет вас#
С момента своего появления, мышь создала новый способ взаимодействия людей с компьютером. Щелчком, двойным или даже тройным щелчком мыши можно открывать документы, переключаться между окнами и выделять текст. Мышь вместе с графическим интерфейсом сделали управление компьютером намного проще для обычного человека. Однако у использования мыши есть и обратная сторона, особенно для программистов.
Создавая программное обеспечение, программисты работают с несколькими программами в течение дня. Например, веб-разработчик может одновременно работать с консолью базы данных, веб-сервером и текстовым редактором. Переключение между ними с помощью мыши обычно замедляет работу. Может показаться, что это не так уж и важно, но перемещение руки с клавиатуры на мышь, поиск указателя и выполнение задач отнимает много времени и отвлекает. Кроме того, это может привести к нагрузке на запястье, руку и плечо. Повторяющиеся движения при работе с мышью могут вызвать серьезный дискомфорт.
tmux позволяет создать аналогичные среды в терминале, полностью управляемые без мыши. Например, можно легко управлять текстовым редактором, браузером и локальным веб-сервером в одном окне.
Кроме того, разделив окно tmux создав дополнительные окна, можно запускать несколько приложений одновременно и параллельно. Это позволяет запускать текстовый браузер, консоль базы данных, IRC-клиент и автоматические тесты (и много чего ещё) в том же окружении, что и основной редактор.
Но главное преимущество заключается в том, что появляется возможность быстро перемещаться между этими окнами и панелями, используя только клавиатуру. Поначалу сочетания клавиш кажутся сложными, но, по мере использования, они быстро становятся привычными, что значительно повышает концентрацию и производительность. С помощью tmux можно создать рабочую среду, в которой почти все необходимое всегда будет под рукой.
В этом руководстве описана настройка и использование tmux. Вы узнаете, как управлять несколькими программами одновременно, писать сценарии для создания пользовательских окружений и работать удаленно с другими пользователями используя tmux.
Что такое tmux?#
tmux — это терминальный мультиплексор (terminal multiplexer). Он позволяет запускать несколько терминалов или окон в одном сеансе, в каждом из которых запущен отдельный процесс или программа. Однако одновременный запуск нескольких программ — это лишь одна из функций tmux.
Окно терминала может быть разделено по горизонтали или вертикали на панели, так что две или более программы могут быть запущены бок о бок на одном экране. Другими словами, можно запускать две или более программы рядом на одном экране. Например, на рисунке 1 показано, как после запуска текстового редактора Vim, с помощью tmux создаются две новые панели. В первой панели запускается текстовый браузер, для просмотра результатов работы. Во второй — встроенный веб-сервер Flask. В процессе работы можно легко переключаться между этими панелями, закрывать ставшие ненужными и создавать новые.
Также можно отсоединиться (detach
) от сеанса, то есть оставить настроенное окружение работать в фоновом режиме.
Это делает tmux похожим на GNU-Screen.
Во многом tmux похож на GNUS-screen, но имеет множество дополнительных возможностей и гораздо проще в настройке.
Кроме того, tmux использует клиент-серверную модель, что означает, что окнами и панелями можно управлять централизованно
и переключаться между несколькими сеансами из одного окна терминала.
Модель клиент-сервер также позволяет создавать сценарии и управлять tmux из других окон и приложений.
В этом руководстве представлены все эти возможности.
Кому предназначено данное руководство#
Данное руководство предназначено, прежде всего, системным администраторам или разработчикам программного обеспечения, которые проводят большую часть своего времени используя инструменты терминала и командной строки. Это руководство поможет им выполнять свою работу быстрее.
Разработчики программного обеспечения узнают как можно использовать tmux для создания рабочего окружения, которое может упростить работу с несколькими сеансами терминала. Особенно это может оказаться полезно при использовании таких текстовых редакторов, как Vim или Emacs.
Системным администраторам, которым приходится работать с удаленными серверами, может быть интересно, как можно использовать tmux для создания постоянной панели управления или мониторинга серверов.