The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Выпуск консольного оконного менеджера tmux 2.0

07.05.2015 22:47

После более года разработки представлен релиз консольного оконного менеджера tmux 2.0 ("terminal multiplexer"), разрабатываемого в рамках проекта OpenBSD в качестве распространяемой под лицензией BSD замены программы GNU Screen. Tmux позволяет организовать многооконный интерфейс в консоли, через мультиплексирование одного физического терминала на несколько виртуальных терминалов.

Наиболее заметные изменения в tmux 2.0:

  • Обеспечено отражение сеансов в базе utmp (работает, если на этапе сборки в системе присутствовала библиотека utempter);
  • Прекращена поддержка команды 'choose-list'. Удалены опции 'monitor-content' и 'pane_start_path'. Из категории сессионных в серверные переведены опции 'terminal-overrides' и 'message-limit';
  • В команду "set-buffer" добавлен режим дополнения ("-a"). В режиме копирования (copy-mode) представлена команда 'append-selection';
  • В режиме выбора (choose-mode) реализованы команды, которые могут привязываться к другим командам: start-of-list, end-of-list, top-line, bottom-line;
  • В команде choose-buffer реализована поддержка UTF-8;
  • Применён комбинированный способ навигации по панелям: если есть только один возможный вариант выбора панели, то выбирается она, в противном случае осуществляется переход к последней используемой панели;
  • В команды 'new-session', 'new-window', 'split-window' и 'respawn-pane' добавлена возможность использования нескольких аргументов и корректной обработки данных в кавычках;
  • В команду 'capture-pane' добавлены опции '-S-' и '-E-' , подразумевающие начало и конец панели;
  • Изменена поддержка привязки функциональных клавиш с номерами выше F12: номера F13-F24 теперь эквивалентны Shift+F1-F12, F25-F36 - Ctrl+F1-F12, F37-F48 - Ctrl+Shift+F1-F12, F49-F60 - Menu+F1-F12, F61-F63 - Menu+Shift+F1-F3;
  • Возможность использования идентификатора панели внутри спецификатора сеанса или окна (session-of-%1 или window-of-%1), а также идентификатора окна в спецификаторе сеансе (session-of-@1);
  • Поддержка определения формата (-F) для команд 'copy-pipe' и 'if-shell';
  • В команды 'split-window' и 'join-window' добавлена опция "-b" для создания панели слева или выше целевой панели.



Основные отличия tmux от GNU Screen:

  • Исходные тексты распространяются в рамках лицензии BSD. Более современная и упрощенная кодовая база (коду screen 20 лет);
  • Предусмотрена возможность подключения расширений от сторонних разработчиков;
  • Четко формализованная клиент-серверная модель, при которой окна выступают в роли независимых объектов, которые могут сопоставляться и перераспределяться между разными сессиями. При этом поддерживается назначение одного окна нескольким разным клиентам и передача окон от одного клиента другому;
  • Наличие механизма автоматизации выполнения типовых действий, через подключение внешних скриптов. Полноценный интерфейс управления из командной строки, позволяющий управлять всеми операциями tmux из скриптов;
  • Наличие нескольких независимых буферов обмена;
  • Поддержка опции для ограничения размера окна. Более гибкие возможности по разбиению окон на части (поддержка вертикального разделения);
  • Более ясный синтаксис для формирования содержимого строки статуса. Возможность отображения в строке статуса первой строки вывода определенной команды;
  • Более экономное расходование оперативной памяти;
  • Улучшенная поддержка UTF-8.


  1. Главная ссылка к новости (http://sourceforge.net/p/tmux/...)
  2. OpenNews: Первый выпуск abduco, легковесной альтернативы tmux и screen
  3. OpenNews: Выпуск консольного оконного менеджера GNU screen 4.2.0
  4. OpenNews: Выпуск Xpra 0.10, аналога утилиты screen для графических программ
  5. OpenNews: Выпуск консольного оконного менеджера tmux 1.9
  6. OpenNews: Для tmux реализована поддержка сохранения сеанса между перезагрузками
Лицензия: CC-BY
Тип: Программы
Ключевые слова: tmux, screen
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (24) Ajax | 1 уровень | Линейный | Раскрыть всё | RSS
  • 1.1, A.Stahl (ok), 22:57, 07/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >F61-F63 - Menu+Shift+F1-F12

    Что-то я не уловил зависмость... А как ввести, например, F-90?

     
     
  • 2.2, Аноним (-), 23:54, 07/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну вообщем это просто промизведение видимо F12*F10=F120
     
  • 2.3, Spoofing (?), 02:03, 08/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    действительно, с этими F1-120 намудрили.
    для vim'еров следовало бы сделать бинд Ctrl + b, Shift + f, ввести число от 1 до 120 и жмякнуть Enter. пусть tmux сам отправит введенное F<число>.
    ну а для emacs'еров да, оставить такую вот крутую распальцовку через всю клавиатуру.
     

  • 1.4, бедный буратино (ok), 04:06, 08/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    в снапах есть вже?
     
  • 1.5, Аноним (-), 05:14, 08/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Я уже пару лет как скрин совсем не юзаю, сижу на тмуксе :)
     
  • 1.6, anono (?), 05:49, 08/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Вот каждый раз пишут про это вертикальное разделение в отличиях...
    Почему у меня это вертикальное разделение как минимум несколько лет как есть в screen?
     
     
  • 2.7, pkdr (ok), 08:08, 08/05/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Значит вы не разбираетесь в современном маркетинге.
     
  • 2.9, Аноним (-), 14:19, 08/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    официально vsplit в screen добавили только в 4.2.0, который вышел год назад. до этого только со сторонними патчами
     

  • 1.8, Аноним (-), 13:23, 08/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    минoщина
     
  • 1.10, manster (ok), 14:38, 08/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    хотелось про сохранение сессий
     
     
  • 2.11, Аноним (-), 18:14, 08/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Основные отличия tmux от GNU Screen:
    >    Предусмотрена возможность подключения расширений от сторонних разработчиков;

    https://github.com/tmux-plugins/tmux-resurrect

     
     
  • 3.12, manster (ok), 00:04, 09/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    о, отлично! благодарю
     

  • 1.13, GotF (ok), 09:56, 09/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Более современная и упрощенная кодовая база (коду screen 20 лет);

    Над кодом GNU Screen уже давно начаты работы по приведению оного в порядок.

    Кстати, проблему с зависанием tmux на больших объёмах вывода уже исправили, или всё так же предлагается прикрывать архитектурную проблему костылями?

     
     
  • 2.17, Lettuce (?), 12:49, 10/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Кстати, проблему с зависанием tmux на больших объёмах вывода уже исправили, или всё так же предлагается прикрывать архитектурную проблему костылями?

    Я даже костылями прикрыть не могу. c0-change-* параметры не дают результата, всё равно виснет.

     
  • 2.18, SpiritOfStallman (ok), 13:44, 10/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    В некоторых ситуациях и прикрыть костылями нельзя.
     
  • 2.20, Kroz (ok), 22:58, 10/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Можно поподробней: в чем проблема?
     
     
  • 3.21, GotF (ok), 08:05, 11/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Можно поподробней: в чем проблема?

    tmux намертво виснет при достаточно большом объёме вывода.

     
     
  • 4.22, Atam (?), 09:09, 11/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Хм, а я наоборот наблюдаю - screen виснет время от времени по этой же причине. Может собака в другом месте порылась и они оба по одной причине виснут?
     
     
  • 5.23, GotF (ok), 09:46, 11/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Хм, а я наоборот наблюдаю - screen виснет время от времени по
    > этой же причине. Может собака в другом месте порылась и они
    > оба по одной причине виснут?

    Вообще не видел жалоб на screen, зато на tmux — полон интернет. http://superuser.com/questions/417556/is-there-any-way-to-prevent-tmux-freezi например.

    Сейчас попробовал запускать [code]cat /dev/zero|hd -v[/code]. Ни screen, ни tmux не виснет. Разница только в том, что в терминале на VTE tmux ещё долго выводит текст после ^c (но процессы завершились). В urxvt разницы нет. Это наталкивает на мысль о том, что эмуляторы терминала могут быть причастны к проблеме.

     
  • 4.24, Kroz (ok), 17:53, 11/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > tmux намертво виснет при достаточно большом объёме вывода.

    Только что попробовал. cat файла на 300Мб. Все отлично работало. tmux 2.0.

     
  • 2.25, Аноним (-), 20:35, 11/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Кстати, проблему с зависанием tmux на больших объёмах вывода уже исправили, или всё так же предлагается прикрывать архитектурную проблему костылями?

    В бытность мою инженером службы поддержки одного программного продукта мы таких вот нежно называли «уголками» за любовь к «corner cases» и шутили, мол, хорошо, что делопроизводство у нас на английском, а то пришлось бы от «вырожденного случая» разговорные идентификаторы наследовать.

     

  • 1.19, ALex_hha (ok), 21:43, 10/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Кстати, проблему с зависанием tmux на больших объёмах вывода уже исправили

    а что есть большой объем? Просто пользуюсь сабжем около года, пока ни разу проблем не было. Но может конечно так везет

     
  • 1.26, Аноним (-), 08:19, 12/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    В screen скучные обои?!
     
     
  • 2.27, Аноним (-), 18:35, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Скучный GPL!!!
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру