О tmux#

Ваша мышь замедляет вас#

С момента своего появления, мышь создала новый способ взаимодействия людей с компьютером. Щелчком, двойным или даже тройным щелчком мыши можно открывать документы, переключаться между окнами и выделять текст. Мышь вместе с графическим интерфейсом сделали управление компьютером намного проще для обычного человека. Однако у использования мыши есть и обратная сторона, особенно для программистов.

Создавая программное обеспечение, программисты работают с несколькими программами в течение дня. Например, веб-разработчик может одновременно работать с консолью базы данных, веб-сервером и текстовым редактором. Переключение между ними с помощью мыши обычно замедляет работу. Может показаться, что это не так уж и важно, но перемещение руки с клавиатуры на мышь, поиск указателя и выполнение задач отнимает много времени и отвлекает. Кроме того, это может привести к нагрузке на запястье, руку и плечо. Повторяющиеся движения при работе с мышью могут вызвать серьезный дискомфорт.

tmux позволяет создать аналогичные среды в терминале, полностью управляемые без мыши. Например, можно легко управлять текстовым редактором, браузером и локальным веб-сервером в одном окне.

Работа tmux с несколькими панелями

Рис. 1 Работа 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 для создания постоянной панели управления или мониторинга серверов.