The OpenNET Project / Index page

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

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

Разработчики проекта 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 обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | 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 [^] [ответить]    [к модератору]  
  • +/
    Если говорить про глобальное значение в прикладном программировании.

    ЯВУ должен позволять программисту выражать свои мысли в явной, непротиворечивой форме.
    Вопрос с индексами наиболее удачно решен в Ada, где программист в явном виде может задать диапазон.

    примерно так
    subtype Latin_Alpha_Up is Character range 'A'..'Z';

    или так
    type Offset is mod 2**16;

    В зависимости от нужд программиста.

    Однако, если говорить про частности, то единственный аргумент _за_ индексы [1..max] в PASCAL и FORTRAN -- это привычка математиков. При чем, для _этой_ целевой аудитории решение удачное т.к. снижается вероятность ошибки, на пример при наборе формул.

    С другой стороны индексация [0..max) более удачна в повседневной программистской практике.
    К примеру преобразование индекса в смещение, или наоборот смещения в индекс выполняется с меньшим колличеством телодвижений. Как следствие снижается вероятность ошибок.

    >Это просто тупой фанатский холивор

    Да. Слишком много споров из-за такого пустяка.

     
  • 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' на линейке о-о-очень сложно Ж8-)

    PS. Автор док-ции на Питон похоже замучался объяснять понятие полу-открытого диапазона. Это как объяснять Декарту, что люди обычно читают сверху в низ, и соответственно 3-я строка ниже 2-ой.
    Прошу заметить, я неумаляю заслуги Декарта как ученого; и прекрасно понимаю, что без математиков не может появиться ни одна точная наука. Но вековые традиции...

    PPS.  А-а-а была ни была!

    // Range - полу открытый диапазон. т.е range.end на 1 больше чем последнее значение
    bool is_adjacent (const Range& previos, const Range& next)
    {
    return previos.end == next.begin;
    }

    length length_of_range (const Range& r)
    {
    return r.end - r.begin;
    }

    -- Range - закрытый диапазон т.е. range.Last является последним занчением
    function Is_Adjacent (Previos, Next : in Range) of Boolean
    begin
    return  Previos.Last + 1 = Next.First;
    end;

    funсtion Length_Of_Range (R : in Range) of Length
    begin
    return R.Last - R.First + 1;
    end;

    Товарищи идут правильно. Dixi

     
  • 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 [^] [ответить]     [к модератору]  
  • +/
    для кого лучше для пользователей dvorak раскладки C-w точно неудобная комбинаци... весь текст скрыт [показать]
     
     
  • 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 без возможности переназначения клавиш в copy mode В sc... весь текст скрыт [показать]
     
  • 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:
    Заголовок:
    Текст:


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