Термінальний віконний менеджер tmux, блог боші

Останнім часом screen завоював собі досить велику популярність. Майже кожен поважаючий себе linux 'ОІД, знайомий з цією чудовою утилітою, але багато хто чомусь забуває що у неї теж є альтернатива зі своїми плюсами, і мінусами. Ще дуже давно, коли я тільки почав знайомитися зі screen, то натикався на згадку утиліти - tmux. Пару днів назад я вирішив ближче познайомитися з нею, і описати її в блозі :)

Отже. Tmux - це термінальний віконний менеджер, і мультиплексор. Тобто дозволяє використовувати кілька терміналів в одному. Tmux так само як і screen можна легко відвести в фон, і так само легко повернутися до нього.

Перша версія tmux вийшла разом з OpenBSD 4.6, де замінює собою screen. Відмінними рисами являеются:

Після запуску, tmux виглядає приблизно так:

Термінальний віконний менеджер tmux, блог боші

Відразу ж видно перша відмінність: рядок статусу (в screen вона називається hardstatus) включена за замовчуванням, і працює без зайвих "рухів". Наступне що стане помітно, це інша комбінація клавіш за замовчуванням - Ctrl-B. яка при бажанні змінюється вкрай просто.

На мій погляд основне, і головна перевага tmux перед screen - це "фрейми". Робота з ними схожа на роботу в tiled wm. Звичайно, в screen теж є, але не настільки зручне на мій погляд. До того ж, відсутня можливість вертикального розбиття вікна (патч який додає такий функціонал, ще не в стабільній гілці, і коли буде невідомо). В кожному вікні незалежні фрейми. У кожному фреймі незалежна програма, яка не є ще одним вікном як наприклад screen. Наприклад запустимо в вікні top. Потім розділимо вікно вертикально на два фрейми (Ctrl- "). У першому фреймі все так же залишається top, і є другий фрейм з шеллом, але вікно і раніше одне! Можна так його і залишити, а можна приєднати вже існуюче вікно. Це до речі , теж одне з гідних переваг tmux перед screen: більш продуманим клієнт-серверна архітектура. Усередині вікна фрейми можна вирівнювати за допомогою чотирьох різних верств (Ctrl-b Space).

Тепер трохи про стандартні комбінації клавіш. Як я вже писав, стандартна комбінація - ctrl-b. яка легко змінюється, але про це трохи нижче;) Команди слід вводити після префікса (в даному випадку Ctrl-b):