The OpenNET Project / Index page

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

В базовую систему OpenBSD включен консольный оконный менеджер Tmux

10.07.2009 09:19

Разработчики проекта OpenBSD объявили о включении в состав базовой системы программы Tmux ("terminal multiplexer"), позволяющей организовать многооконный интерфейс в консоли, через мультиплексирование одного физического терминала на несколько виртуальных терминалов. Tmux совместим на уровне клавиатурных комбинаций и опций командной строки с популярным консольным оконным менеджером GNU Screen, за исключением главной управляющей последовательности (Ctrl+B вместо Ctrl+A), измененной для предотвращения пересечений при запуске tmux внутри screen и наоборот.

Основные достоинства и отличия Tmux от GNU Screen:

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

Руководитель проекта OpenBSD, Theo de Raadt отметил, что причиной включения Tmux в базовый состав, кроме приемлемой лицензии, послужило высокое качество кода - в ходе аудита было выявлено лишь несколько незначительных проблем.

Дополнение: опубликовано интервью с автором проекта tmux.

  1. Главная ссылка к новости (http://www.undeadly.org/cgi?ac...)
Лицензия: CC-BY
Тип: Программы
Ключевые слова: Tmux, scren, console, window
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (28) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 10:39, 10/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Theo de Radt отметил так же факт очень качественного исходного кода. Именно по этой причине данный менеджер был включен в базовую часть
     
  • 1.2, аноним (?), 11:08, 10/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И что, можно без костылей сделать чтобы табы начинались с единицы, а не нуля?
     
     
  • 2.3, sceptic (?), 11:20, 10/07/2009 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ещё одна жертва Pascal...
     
     
  • 3.4, аноним (?), 11:32, 10/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    подумай какими кнопками переключаются табы, посмотри где цифры, а где ноль.
     
     
  • 4.7, sceptic (?), 12:54, 10/07/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У меня ноль в правильном месте ;) Перед единицей.
     
     
  • 5.24, аноним (?), 14:23, 13/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Пруфпик.
     
  • 3.5, Аноним (-), 11:42, 10/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    в SmallTalk тоже с 1 ну и что?
     
     
  • 4.6, аноним (?), 11:46, 10/07/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да не, массивы с 1 в ЯП это как раз полное ублюдство. Коим smalltalk и является.
     
     
  • 5.9, belkin (ok), 13:00, 10/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Да не, массивы с 1 в ЯП это как раз полное ублюдство.

    Почему? Нумерация элементов множества с единицы - математика множеств. Все формулы работы с множествами исходят из этого. А с нуля какого лешего вдруг удобней? Типа целых 256 возможных значений индекса одним байтом, а не 255?


     
     
  • 6.10, Tim (??), 13:56, 10/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Программирование и математика это несколько разные вещи.

    Индексы начинающиеся с нуля гораздо удобней в программировании.

    Пример:
    таблица 10x10 одна цифра задает строку вторая столбец.
    расчет линейного смещения это Y * Width + X

    >Типа целых 256 возможных значений индекса одним байтом, а не 255?

    Вот из-за подобных ошибок "...массивы с 1 в ЯП это как раз полное ублюдство." (c)

    в программировании гораздо удобней полу-открытые диапазоны.
    Left <= X < Right

    расчет длинны диапазона: Right - Left

    диапазон с 0: 256 - 0 = 256
    диапазон с 1: 256 - 1 + 1 = 256

     
     
  • 7.14, ABC (??), 16:14, 10/07/2009 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вполне очевидно, что в прикладном программировании на языках высокого уровня это не имеет никакого глобального значения. Это просто тупой фанатский холивор
     
     
  • 8.16, Tim (??), 18:43, 10/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Если говорить про глобальное значение в прикладном программировании ЯВУ должен ... текст свёрнут, показать
     
  • 7.17, belkin (ok), 20:54, 10/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Индексы начинающиеся с нуля гораздо удобней в программировании.

    Чем дальше от системного и ближе к прикладному программированию, тем больше расхождений между компьютерными странностями и реальным миром, в котором первый элемент имеет номер 1 а не ноль.

    >расчет длинны диапазона: Right - Left
    >диапазон с 0: 256 - 0 = 256
    >диапазон с 1: 256 - 1 + 1 = 256

    значение n-го элемента: ar[n-1]
    и то же при естественном исчислении: ar[n]

    разность между значениями n-го и m-го элементов: ar[n-1] - ar[m-1]
    и то же самое при нормальном подходе ar[n] - ar[m]

    диапазоны с n-го по m-го включительно
    [(n-1)..(m-1)]
    [n..m]

    диапазоны с n-го по m-го не включая
    [(n)..(m-2)] // вообще задница!
    [(n+1)..(m-1)]

    Видно же, что первые варианты заставляют ломать голову, а вторые, наоборот, сами себя описывают без комментариев. Математику не дураки придумали, а програмисты просто просто привыкли к странностям, история которых начинается с системного программирования, где ноль и 255 имеют одинаково важное применение.

    В какой-то док-ции по Питону автор умудрился объяснить границы среза: индексы указывают не на граничные элементы, а на промежутки между. Типа индекс 3 указывает на промежуток между вторым и третьим элементом. "Правильной" дорогой идёте, товарищи. ;)

     
     
  • 8.20, Tim (??), 22:22, 10/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Сдаюсь - Действительно, объяснить математику сакральный смысл числа 0 на лин... текст свёрнут, показать
     

  • 1.8, Serega (??), 12:55, 10/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    глупо, Ctrl+B - это совсем другое сочетание клавиш, его уже очень неудобно нажимать пальцами одной руки (как Ctr+A). лучше уж что-нибудь вроде Ctrl+X или Ctrl+W, что думаете, господа? Надо бы написать им в список рассылки.
     
     
  • 2.11, odus (ok), 14:13, 10/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >глупо, Ctrl+B - это совсем другое сочетание клавиш, его уже очень неудобно
    >нажимать пальцами одной руки (как Ctr+A). лучше уж что-нибудь вроде Ctrl+X
    >или Ctrl+W, что думаете, господа? Надо бы написать им в список
    >рассылки.

    Да - пусть сделают Ctrl-C ! ;)

     
  • 2.12, Аноним (-), 15:35, 10/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    > лучше уж что-нибудь вроде Ctrl+X или Ctrl+W

    для кого лучше? для пользователей dvorak раскладки C-w точно неудобная комбинация. Кроме того, C-w в имаксе и шеллах по умолчанию вырезает регион текста (kill-region), операция частая, но не чаще чем перемещение в начало строки по C-a.

    Вот C-q не часто используется в текстовых приложениях. И одинаково в удобном месте находится как для пользователей qwerty, так и dvorak (на месте клавиши 'X' в qwerty).

     
     
  • 3.18, Гость_0 (?), 20:57, 10/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    не трож C-q !
     
  • 2.19, ximaera (?), 21:33, 10/07/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы в Vi документы двумя руками листаете? :))
     
  • 2.25, аноним (?), 14:26, 13/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >глупо, Ctrl+B - это совсем другое сочетание клавиш, его уже очень неудобно
    >нажимать пальцами одной руки (как Ctr+A). лучше уж что-нибудь вроде Ctrl+X
    >или Ctrl+W, что думаете, господа? Надо бы написать им в список
    >рассылки.

    Да идиоты они. screen отлично работает со вложенностью, так как Ctrl+A A посылает Ctrl+A вложенному скрину. Сделали бы так же - была бы абсолютная 100% совместимость с скрином в обе стороны, а тут придется путаться с левыми сочетаниями клавиш.

     

  • 1.13, Аноним (-), 16:03, 10/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >    * Наличие нескольких независимых буферов обмена.

    есть в screen, registers

    > Поддержка выбора раскладки клавиатуры в стиле vi или emacs;

    без возможности переназначения клавиш в copy mode. В screen хотя бы эмуляцию emacs'а на vi-сочетаниях можно сделать.

    >    * Более гибкие возможности по разбиению окон на части (поддержка вертикального разделения);

    есть в screen

    :split -v
    :layout new default

    >    * Более ясный синтаксис для формирования содержимого строки статуса.

    и более ущербные возможности. Может кто знает как поменять цвета статуса окна в зависимости активное оно или нет?

    >    * Более экономное расходование оперативной памяти;

    и менее экомичное расходование процессорного времени. Попробуйте поскроллить большой файл в less и понадбулюдайте расходование CPU у screen'а и tmux'а.

    >    * Улучшенная поддержка UTF-8.

    kanji или кирилица в статусе это конечно интересно

     
  • 1.15, FrBrGeorge (ok), 17:16, 10/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Кошерно. Пойду соберу пакет.
     
  • 1.21, DmA (??), 22:14, 11/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    странные люди -сами освобождаються от пакетов с лицензией ГНУ и всё переделывают на BSD и зачем то портируют  свою утилиту под линукс...
    С другой стороны необходимо переделать софт написанный 20-30 лет назад в том числе и ОС с точки зрения прошлых ошибок и  давно нужных инноваций . ещё лет пять пройдёт и если  Timux лучше получиться(хотя лет через 20 он тоже будет кушать побольше памяти!)  , то и screen перепишут с нуля  под ГНУ лицензией под другим именем.


     
  • 1.23, BlackHawk (ok), 00:11, 13/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    чет UTF-8 не пашет в нем.... а говорили, что улучшенная поддержка...
    поменять на C-a не проблема: в Makefile/GNUMakefile META=\002 заменить на META=\001

    во фре 7.2 у меня утф-локаль - в скринах намана все, а в этом tmux фигу...


     
     
  • 2.26, FrBrGeorge (ok), 00:28, 17/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    В доках написано, как его включить. И в ФАКе написано тоже, для удобства тех, кто не читает нудные доки :)
     

  • 1.27, aim (ok), 05:52, 17/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    tmux включён в грядующий релиз ubuntu 9.10 и в Debian "Unstable"
     
  • 1.28, nuclight (??), 16:05, 21/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В составе базовой системы много лет есть window, который, хоть и не умеет детачить терминал (в силу возраста), позволяет очень удобно иметь на экране одновременно несколько окон произвольного размера, одно поверх других, и т.д. А tmux так умеет?
     
     
  • 2.29, FrBrGeorge (ok), 00:06, 27/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >В составе базовой системы много лет есть window, который, хоть и не
    >умеет детачить терминал (в силу возраста), позволяет очень удобно иметь на
    >экране одновременно несколько окон произвольного размера, одно поверх других, и т.д.
    >А tmux так умеет?

    RTFM^WУмеет

     

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



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

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