![]() | |
![]() tmux з трьома панелями | |
Тип | мультиплексор для віртуальних консолей |
---|---|
Розробник | Ніколас Марріотт (Nicholas Marriott) |
Перший випуск | 20 вересня 2009 року |
Операційна система | UNIX-подібні |
GNU фреймворк | Ncurses[1] ![]() |
Мова програмування | C |
Ліцензія | BSD |
Репозиторій | github.com/tmux/tmux |
Вебсайт | tmux.sourceforge.net |
tmux — це програма мултиплексорвіртуальних консолей, дозволяє легко перемикатись між кількома програмами в одному терміналі, від'єднуватись від програм, залишаючи їх у фоні, і приєднувати їх до іншого терміналу і багато іншого. Він є зручним інструментом для одночасного керування багатьма програмами зінтерфейсом командного рядка. tmux є альтернативоюGNU Screen, проте розробляється активніше і використовуєліцензію BSD на відміну відGNU GPL v3 у GNU screen. При запуску tmux створює нову сесію з одним вікном і відображає його на екрані. Внизу екрану відображається лінія статусу з інформацією про поточну сесію, вона також використовується для введення інтерактивних команд.
Сесія tmux — це сукупність «псевдо-терміналів» під управлінням tmux, кожна сесія має одне або кілька «вікон» приєднаних до неї, вікно може бути розділене на кілька прямокутних «панелей», у кожній з яких міститься псевдо-термінал. Будь-яка кількість екземплярів tmux може приєднатись до однієї сесії і будь-яка кількість вікон може знаходитись у ній. tmux виходить при завершення всіх сесій.
Сесії tmux є стійкими і можуть пережити випадкові роз'єднання (наприклад роз'єднанняssh) або навмисне від'єднання (за допомогою комбінації клавіш CTRL+b d). Знову приєднатись до сесії можна за допомогою командиtmux attach
.
tmux відображає сесії за допомогоюклієнта і всі сесії управляються за допомогою єдиногосервера, клієнт і сервер є окремими процесами, комунікація яких відбувається черезсокет, що міститься в директорії/tmp
.
tmux може керуватись з підєднаного клієнта, використовуючи комбінації клавіш, що починаються з префікса, стандартний префікс C+b (Ctrl+b), після якого натискається командна клавіша, клавіша-модифікатор (переважно Alt) позначенаM
Комбінація | Опис |
---|---|
C-b | Надіслати клієнтові команду-префікс |
C-o | Перемкнутись на наступну панель у поточному вікні |
C-z | Призупинити tmux |
! | Винести панель у окреме вікно |
" | Розділити поточну панель горизонтально навпіл |
# | Перелічити всі буфери вставлення |
$ | Перейменувати поточну сесію |
% | Розділити поточну панель вертикально навпіл |
& | Знищити поточне вікно |
' | Вибрати вікно, ввівши його індекс |
, | Перейменувати поточне вікно |
- | Видалити останній скопійований у буфер текст |
. | Перенести поточне вікно, інтерактивно вказавши індекс |
0 — 9 | Вибрати вікно з вказаним індексом |
: | Викликати командний рядок tmux |
; | Повернутись до попередньої панелі |
= | Інтерактивно вибрати, який буфер вставити |
? | Показати всі поєднання клавіш |
D | Інтерактивно обрати, який клієнт від'єднати |
[ | Перейти у режим копіювання, щоб копіювати текст або переглядати історію |
] | Вставити останній скопійований буфер |
c | Створити нове вікно |
d | Відєднати поточний клієнт |
f | Ввести текст для пошуку в поточному вікні |
i | Показати інформацію про поточне вікно |
l | Перейти до попередньо відкритого вікна |
n | Перейти до наступного вікна |
o | Перейти до наступної панелі в поточному вікні |
p | перейти до попереднього вікна |
q | Тимчасово показати індекси панелей |
r | Примусово оновити поточний клієнт |
s | Інтерактивно обрати нову сесію для клієнта |
L | Повернутись до попередньої підєднаної сесії |
t | Показати час у поточній панелі |
w | Інтерактивно обрати вікно |
x | Знищити поточну панель |
{ | Поміняти місцями поточну панель з попередньою |
} | Поміняти місцями поточну панель з наступною |
~ | Показати попередні повідомлення від tmux |
Page Up | Увійти в режим копіювання і піднятись на один екран вверх |
Клавіші «Вверх», «Вниз», «Вліво», «Вправо» | Переміщення між панелями |
M-n | Переміститись до наступного вікна з сигналом або маркером активності |
M-p | Переміститись до попереднього вікна з сигналом або маркером активності |
M-o | Поміняти місцями панелі поточного вікна у зворотньому напрямку |
C + «Вверх», «Вниз», «Вліво», «Вправо» | Змінити розмір поточної панелі з кроком розміром 1 клітинка |
M + «Вверх», «Вниз», «Вліво», «Вправо» | Змінити розмір поточної панелі з кроком розміром 5 клітинок |
Всі комбінації клавіш можна змінити за допомогю командbind-key
іunbind-key
. Щоб зробити зміни постійними, їх можна зберегти у конфігураційному файлі.tmux.conf
у домашній директорії користувача.
tmux володіє тим самим функціоналом що і GNU Screen, проте має багато додаткових можливостей, серед них можна виділити наступні: