Состоялся (https://groups.google.com/forum/#!topic/tmux-users/iUI_Qlv4U0A) релиз консольного оконного менеджера tmux 2.3 (http://tmux.github.io/) ("terminal multiplexer"), разрабатываемого в рамках проекта OpenBSD в качестве распространяемой под лицензией BSD замены программы GNU Screen (http://www.gnu.org/software/screen/). Tmux позволяет организовать многооконный интерфейс в консоли, через мультиплексирование одного физического терминала на несколько виртуальных терминалов.
Основные изменения (https://raw.githubusercontent.com/tmux/tmux/master/CHANGES):
- Новая опция 'pane-border-status' для размещения текста на крае панели;
- Возможность подключения своих обработчиков, вызываемых до или после выполнения команд;
- В команду 'source-file' добавлена опуия '-q' для отключения вывода ошибок для несуществующих файлов;
- Многочисленные улучшения, связанные с поддержкой UTF8 и работой на платформе macOS;
- В команду 'window-status-separator' добавлена поддержка шаблонов "#[]";
- В команду 'split-window' добавлена опция '-f' для разбиения окна с сохранением исходной ширины;
- В 'display-panes' теперь можно применять команды запуска, а не только выбора панели.URL: https://groups.google.com/forum/#!topic/tmux-users/iUI_Qlv4U0A
Новость: https://www.opennet.ru/opennews/art.shtml?num=45249
Чем оно лучше screen?
как-то более юзерфрендли на мой взгляд. плюс в скрине не поддерживался вертикальный сплит очень долгое время, а в тмуксе был изначально. тем, кто привык к скрину, то может показаться лишним возможно, но при освоении тмукс легче + удобная справка.
А ещё оно обычно termcap не портит.
> А ещё оно обычно termcap не портит.А как screen портит termcap и как это проявляется? Как это можно увидеть? Или это происходит незаметно для пользователя не мешает работе?
Я вот пересел буквально пару недель назад.
Ради единственной фичи — мне нужно было находу переключаться между сессиями. У меня разные группы окон под разные задачи и я их по долгу не закрываю.
Без быстрого переключения между сессиями, я в screen'е жил с 15 окнами, что сильно бесило, в т.ч. из-за медленного переключения между ними.
Ctrl+A [0-9] не получалось ?
сессиями а не окнами же.
Интересно, а для чего сессии плодились? У меня например в .bash_login подключение к текущей сессии.
У меня (я х.з. как у предыдущего оратора) в разных сессиях tmux разные "окружения" ("по работе сейчас", "по работе на будущее", "подрабатываю", "дома файлы сортирую", "это меня подруга/друг просил(а) посмотреть", "это я новую железяку мучаю", "пара книжек, которые надо до конца недели прочесть" и "музло/клипы"). Довольно удобно (C-b s и выбираем сессию).
Всё равно, по большинству дел, которые сложнее, чем набить пару строк в конфиге в итоге откроется 1-3 окна по неск. панелей (навигация, если всё открыть в одной сессии, становится адской).
По факту открытых сессий, конечно, меньше, но принял за правило: новая задача - новая сессия и если за сутки ничего в сессии не поменялось (либо задача неактуальна, либо ещё что-то) - сессию закрыть (кроме плеера/книжек), иначе можно сильно перетрудиться при попытке разгрести неск. десятков сессий потом.
Так это ж надо Activities в Plasma юзать, а не сессии в tmux.
Ну или разные рабочие столы на худой конец, если Plasma не освоил.
> Так это ж надо Activities в Plasma юзать, а не сессии в
> tmux.
> Ну или разные рабочие столы на худой конец, если Plasma не освоил.Хм...
А если Plasma не установлена и не используется?
И, кстати, в чём такое принципиальное отличие Activities от сессий tmux?
Почему необходимо использовать именно Activities (или доп. рабочие столы)? Почему только их?По беглому описанию (https://blog.hanschen.org/2011/02/04/activities-a-change-in-.../ , https://www.linux.com/learn/how-use-kde-plasma-desktop-pro) - принципиального отличия от тех же сессий нет. Создаются т.н. workflows, которые при необходимости запускаются (ну и используются), вполне себе удобно для программиста, который совмещает работу журналиста (как во второй статье и описано).
Для ежедневных однотипных действий они вполне подходят. Т.е. например: вы пишете ежедневно код на C (в Atom, например), занимаетесь его отладкой (GDB, например, или DTrace), а в остальное время переводите и/или публикуете новости на opennet. При фиксированном выборе ПО всё хорошо, когда же ПО становится чуть больше и ваши ежедневные действия становятся разнообразнее, то тут возникает больше вопросов.
Разные рабочие столы это конечно хорошо (и они используются, при необходимости, - на отдельный рабочий стол "выбрасывается" эмулятор терминала развёрнутый на весь экран), но для консольного ПО это как-то не то. ПО с граф. интерфейсом используется не так активно, чтобы от доп. рабочих столов был (в данном случае) большой прок.
Почтовик - mutt, редактор - vim (если пишется дока для "обычных нормальных людей" - то asciidoc с экспортом в html или PDF), браузер - w3m (или FF-vimperator, или luakit, или midori если надо графику), для картинок - cacaview/img2txt (mirage с GUI), для книжек - fbless, antiword, pdftohtml-w3m, einfo-w3m, плееры - mpv, moc, mpd-ncmpcpp (vitunes на худой конец), cvlc.
Для специфического (та же графика, например - GIMP, Krita, Inkscape, MyPaint, Alchemy Sketch, Blender) - как раз используются доп. раб. столы.
Работать хочется и "на работе" и дома, и там и там, хочется это делать эффективно и однообразно - поэтому вариант с tmux в качестве "оконного менеджера" оказался более живуч. Ну и на работе не "рисую" (а, как ни странно, - работаю), ибо планшет носить нет ни смысла ни желания.
И да, я вполне отдаю себе отчёт, что в половине случаев такая организация рабочего пространства похожа на изврат, мне такой изврат вполне "пришёлся по душе".
> У меня (я х.з. как у предыдущего оратора) в разных сессиях tmux
> разные "окружения"А Ctrl-a * в screen - это не список сессий? Я-то больше одной сессии screen никогда не запускаю, если только не случайно по ошибке, поэтому быстро сам проверить свою догадку не могу.
>> У меня (я х.з. как у предыдущего оратора) в разных сессиях tmux
>> разные "окружения"
> А Ctrl-a * в screen - это не список сессий?Новость как-то связана со screen?
Человек выше предложил "нафиг" сессии в tmux и юзать везде Plasma (на десктопе, ноуте, сервере etc), т.к. по его мнению Plasma и "рабочие столы" - "для мужиков", а сессии в tmux никто не юзает (или не должен юзать).
Однако ж, отдельные личности юзают (я думаю что отдельные личности в т.ч. могут юзать и несколько сессий в screen).
Вы согласны с ним? Или же вы считаете, что в определённых ситуациях могут использоваться несколько сессий tmux/screen (или же рекурсивный запуск - screen в screen'e или tmux в tmux'e)> Я-то больше
> одной сессии screen никогда не запускаю, если только не случайно по
> ошибке, поэтому быстро сам проверить свою догадку не могу.Но это не значит, что "все" не запускают более одной сессии в tmux (благо возможность есть, а дело ваше, использовать или нет).
В tmux (опционально можно забиндить) в командном режиме (prefix+: - "C-b :" ) запускаем new-session (также опционально можно переименовать сессию и т.п.).
Можно скрин в скрине запустить, только надо разные escape использовать, например Ctrl-A в наружнем и ` во внутреннем. А можно Shift-1, ..., Shift-5 использовать для номеров больше 9, например, "bind % select 15".
> Можно скрин в скрине запустить,А как? Простой вызов /usr/local/bin/screen приводит к созданию нового окна в этой же сессии.
> только надо разные escape использовать, например Ctrl-A
Можно. Но необязательно. Для вызова внутренного Ctrl-a снаруже надо отдать команду Ctrl-a a
> в наружнем и ` во внутреннем. А можно Shift-1, ..., Shift-5
> использовать для номеров больше 9, например, "bind % select 15".При использовании окон больше десяти штук можно переключаться на них через дешёвое меню со списком окон Ctrl-a " или командой переключения на конкретный номер или название окна:
Ctrl-a ' номер_окна_или_начало_названия_окна
tmux не нужен tty
tmux меняет размер терминала, например:
на компьютере А с монитором разрешением 1920x1080 открыт tmux в эмуляторе терминала
на компьютере Б с монитором разрешением 1368x768 открыт tmux в эмуляторе терминала
в обоих случаях tmux будет корректно отображать ncurses приложения, irssi, например
чего не сделает screen
у tmux единственный на мой взгляд минус - он не умеет работать с последовательной консолью
> в обоих случаях tmux будет корректно отображать ncurses приложения, irssi, например
> чего не сделает screenЧто-то у вас не так настроено: у меня скрин прекрасно передает размеры терминала при их изменении.
screen -x сделай на 2 разных по размеру окошках
#>>>tmux будет корректно отображать ncurses приложения, irssi, например чего не сделает screen
> screen -x сделай на 2 разных по размеру окошках-x Attach to a not detached screen session. (Multi display mode).Ваша бздятина _два_ разных размера окон при одновоременном подключении "успешно решает"??Карантин, санитары!! Альцгеймер косит??
> #>>>tmux будет корректно отображать ncurses приложения, irssi, например чего не сделает
> screen
>> screen -x сделай на 2 разных по размеру окошках
>-x Attach to a not detachedВаша бздятина _два_ разных
> screen session. (Multi display mode).
> размера окон при одновоременном подключении "успешно решает"??а ты запусти и сравни. размеры там у окошек поменяй в процессе сравнения, уже приаттачившись, к примеру
святая борода не велит ставить софт под неугодной лицензией?;(
> Карантин, санитары!! Альцгеймер косит??судя по твоим сегодняшним комментам...
мне кажется, или по пятницам ты как-то по особому упорот, начиная с обеда, примерно. ась ?
>> #>>>tmux будет корректно отображать ncurses приложения, irssi, например чего не сделает
>> screen
>>> screen -x сделай на 2 разных по размеру окошках
>>-x Attach to a not detachedВаша бздятина _два_ разных
>> screen session. (Multi display mode).
>> размера окон при одновоременном подключении "успешно решает"??
> а ты запусти и сравни. размеры там у окошек поменяй в процессе
> сравнения, уже приаттачившись, к примерув скрине с -x? Ну, запустил. Даже нашёл кнопку своего i3-wm для float-режима окон, чтоб вручную их ресайзить. Подвигал одно окно, подвигал другое.
mc не ресайзится - размер его окна "замёрз" по состоянию на появление второго подключения. Отключил второй (любой из) -- оставшийся ресайзится.
Окэй, будем считать, что про два одновременных подключения к одному tmux я там наверху не разглядел.
> святая борода не велит ставить софт под неугодной лицензией?;(
>> Карантин, санитары!! Альцгеймер косит??Обмен прошёл на высоком дружественном уровне.
> судя по твоим сегодняшним комментам...
> мне кажется, или по пятницам ты как-то по особому упо рот, начиная с
> обеда, примерно. ась ?И даже сверЬх.
> mc не ресайзится - размер его окна "замёрз" по состоянию на появление
> второго подключения. Отключил второй (любой из) -- оставшийся ресайзится.вот. а теперь на том же mc попробуй с tmux. узрей разницу:)
>> mc не ресайзится - размер его окна "замёрз" по состоянию на появление
>> второго подключения. Отключил второй (любой из) -- оставшийся ресайзится.
> вот. а теперь на том же mc попробуй с tmux. узрей разницу:)Чего он там делает-то, неси свой свет.
fit до тек. окна при ресайзе в любом из них? ...при переключении в любое из них?//И передай анониму наверху, чтоб яснее писал.
---
При двух подключениях к одному mc кнопочка работает ->>>
C-a F (fit) Resize the window to the current region size.
[...]
fitChange the window size to the size of the current region. This command is needed
because screen doesn't adapt the window size automatically if the window is dis‐
played more than once.А при двух разных mc (из-под одного [мастер-а-]скрина) -- ресайзит обоих в разные размеры.
> #>>>tmux будет корректно отображать ncurses приложения, irssi, например чего не сделает
> screen
>> screen -x сделай на 2 разных по размеру окошках
>-x Attach to a not detachedВаша бздятина _два_ разных
> screen session. (Multi display mode).
> размера окон при одновоременном подключении "успешно решает"??
> Карантин, санитары!! Альцгеймер косит??Вот вы сначала реагируете на нейтральное сообщение с агрессией/ провокацией, а потом (ниже) требуете, чтобы с вами общались так, как вы хотите. Вы действительно такой наивный?
Неа. Зазвездил соколик. В приступах ЧСВ перестает замечать, что вокруг него живые люди, которые зачастую не глупее его.
Я бы поспорил. В ConEmu (MSYS2) он не запускается.
> Я бы поспорил. В ConEmu (MSYS2) он не запускается.Главное, чтоб в pussy.exe запускалось, и версия - последняя.
> Главное, чтоб в pussy.exe запускалось, и версия - последняя.А почему в тебе такая ненависть к putty, что ты даже не можешь название написать, не переврав его? Какой цели ты добиваешься своим ёрничанием, чтобы ещё одного линуксойда считали невменяемым?
> tmux не нужен tty
> tmux меняет размер терминала, например:
> на компьютере А с монитором разрешением 1920x1080 открыт tmux в эмуляторе терминала
> на компьютере Б с монитором разрешением 1368x768 открыт tmux в эмуляторе терминала
> в обоих случаях tmux будет корректно отображать ncurses приложения, irssi, например
> чего не сделает screenЭто как? На компьютере А тмукс будет работать с одним размером терминала, а на компьютере Б будет работать с другим размером того же терминала? А программа в этом терминале как отнесётся к тому, что она одновременно имеет 2 разных размера терминала вокруг себя? Или я что-то не так понял?
> у tmux единственный на мой взгляд минус - он не умеет работать
> с последовательной консольюЧто это такое? Как с этим работает скрин? Примерчик какой-нибудь?
>Чем оно лучше screen?В screen таки не сделана корректная обработка многобайтовых символов.
Никогда не замечал. В чем конкретно там некорректность?
Скорее всего когда с винды подключаешься то в putty что-то глючит. Видал такое и со скрином и просто с терминалами.
Мануалом.Когда созрел до мультипликаторов терминала(2009г) нашел информацию про screen и tmux
Поставил оба.
Открыл мануал и попробовал использовать.
Результат: tmux освоил минут за 5, а у screen даже не знаю аналога Ctrl+b
> Мануалом.
> Когда созрел до мультипликаторов терминала(2009г) нашел информацию про screen и tmux
> Поставил оба.
> Открыл мануал и попробовал использовать.
> Результат: tmux освоил минут за 5, а у screen даже не знаю
> аналога Ctrl+bCtrl-a ? :-)
Вот же негодяи разработчики скрина! Это же надо так сильно спрятать команду! :-)
Да.
Именно.
В 2009 я был нубом.
Сейчас такой же нуб.
Однако tmux+man tmux = 7 лет работы
screen + man screen = знаю что существуют.
> screen + man screen = знаю что существуют.У меня аналогично, но только в отношении тмукса. Лет 10 назад его запускал и даже получалось в нём работать. Но остался на скрине. Сейчас периодически вижу новости о том, что тмукс жив и вроде даже развивается. Надо на него посматривать. Только я не знаю чем он лучше скрина. Поэтому пока и нет необходимости работы в нём.
Для меня:
- не GNU
- не дохлятина
- нормально работает кнопка End
- адекватная нумерация окон с единицы
по сравнению с NetSarang - жалкая залепуха
> по сравнению с NetSarangА это что ещё за животинка?
Херня это ваш NetSarang Xshell, и свои 90 баксов он не стоит.
Забыл добавить - использую ZOC, за который заплатить US$ 79.99 не жалко, если из-под венды работать нужно.
> Забыл добавить - использую ZOC, за который заплатить US$ 79.99 не жалко,
> если из-под венды работать нужно.Думается это лишнее, достаточно в виртуалке запустить ОС с любимым терминалом и использовать его через putty.exe с включенным X11 Forwarding.
В mc все еще мышка не работает?
> В mc все еще мышка не работает?И не только в mc, НО МЫШКА НЕ НУЖНА!
Хотя у меня и mc-то нету...
> НО МЫШКА НЕ НУЖНА!А что вам нужно?
> А что вам нужно?Очевидно, что ему нужна новая исправная КЛАВИАТУРА!! Шучу, трактористы они такие, эмоциональные! ;)
> В mc все еще мышка не работает?В screen-е-то? В 4.8.17 всё https://www.opennet.ru/openforum/vsluhforumID3/90810.html#184 по-прежнему.
mc не использую, в vim'е работает
> В mc все еще мышка не работает?Прекрасно работает, но надо "mc -x" запускать.
> В mc все еще мышка не работает?Работает. И её даже можно было бы использовать, если бы эта работа с мышью не отключала возможность выделения текста терминала для копирования в буфер. Приходится отключать.
>> В mc все еще мышка не работает?
> Работает. И её даже можно было бы использовать, если бы эта работа
> с мышью не отключала возможность выделения текста терминала для копирования в
> буфер. Приходится отключать.Вспомнил ещё прикол про мышь. Включал я как-то раз "поддержку мыши" в скрине. Ну, там, можно переключаться между окнами в режиме разделения. Работает. Прикольно, конечно. Может быть даже и удобно. Но кажись в этом режиме никакой текст в терминале тоже не выделишь для копирования в буфер. Аналогично в редакторе joe. Тоже можно включить мышь, выделять блоки текста внутри редактора. Но выделение текста терминала для буфера обмена операционной системы отключается. Вот такая везде проблема с подключением мыши непосредственно к самим программам - копирование текста из терминала в буфер операционной системы становится невозможным, т.к. мышь начинает полностью контролироваться программой, к которой "поддержка мыши" подключена.
>> В mc все еще мышка
> Работает. И её даже можно было бы использовать, если бы эта работа
> с мышью не отключала возможность выделения текста терминала для копирования в
> буфер. Приходится отключать.Ж-) (плюс сейчас с Shift-Ctrl мышью выделял прямоугольные блоки для этой копипасты)
──────────────────────────────────── Помощь ─────────────
Поддержка мыши
Программа Midnight Commander обеспечивает поддержку мыши. [ - - 8< - - ]Если Commander запущен с поддержкой мыши, вы можете обойти Commander и добиться того, что мышь будет вести себя так же, как она ведет себя по умолчанию (обеспечивая вырезание и вставку текста), если будете удерживать клавишу Shift.
> Ж-) (плюс сейчас с Shift-Ctrl мышью выделял прямоугольные блоки для этой копипасты)Работает! :-) Прямоугольные, правда, не выделяются с Shift-Ctrl, но это во первых и не очень нужно, во вторых наверно немного зависит от настроек терминала.
Не удалось только заставить мышь работать в mc внутри screen. Даже запускал mc с аргументом
--oldmouse
Force a "normal tracking" mouse mode. Used when running on
xterm-capable terminals (tmux/screen).Спас только запуск mc с аргументом
--xterm
Force xterm mode. Used when running on xterm-capable terminals
(two screen modes, and able to send mouse escape sequences).
PS:
> ──────────────────────────────────── Помощь ─────────────
> Поддержка мыши
> Программа Midnight Commander обеспечивает поддержку мыши. [ - - 8< - -
>Где вы русский текст помощи дёрнули? У меня man только по басурмански. Приходится читать не по русски. Беда, конечно, не большая, но всё же... :-)
>> Ж-) (плюс сейчас с Shift-Ctrl мышью выделял прямоугольные блоки для этой копипасты)
> Где вы русский текст помощи дёрнули? У меня man только по басурмански.Они .hlp переводят: Alt-1 Tab Enter Tab Tab Tab Enter
Сейчас посмотрел, этот же текст есть и в man mc - и по-русски.В исходниках https://packages.debian.org/source/sid/mc и то и другое:
41537 mc-4.8.17/doc/hlp/ru/xnc.hlp
270907 mc-4.8.17/doc/man/ru/mc.1.inВ пакете https://packages.debian.org/sid/all/mc-data/filelist тоже присутствуют
/usr/share/man/ru/man1/mc.1.gz
/usr/share/mc/help/mc.hlp.ru
В tmux'е некоторые сочетания клавиш mc игнорятся. Например, переименовать наименование файла в mc через Shift+F6 не работает, если это делать сидя в tmux.
Это можно как-то настроить? Исправить?
> Это можно как-то настроить? Исправить?Да.
Как сделать, чтобы Shift+F6 заработал в mc через tmux?
tmux setw -g xterm-keys on
а чтоб каждый раз не вводитьecho "set-window-option -g xterm-keys on" > ~/.tmux.conf
>> ~/.tmux.conf
у меня его не было так как все устраивает по дефолту
Ctrl-A удобнее, чем Ctrl-B - можно одной рукой нажимать, не растягивая пальцы :)
Command: escape xyThe default is '^Aa', but '`' is recommended by one of the authors.
~/.screenrc:
escape `^`
` вместо Ctrl-A, ` Ctrl-` чтобы посылать `
> Command: escape xy
> The default is '^Aa', but '`' is recommended by one of the
> authors.
> ~/.screenrc:
> escape `^`
> ` вместо Ctrl-A, ` Ctrl-` чтобы посылать `ничё не понял
в screen по дефолту Ctrl-A
в tmux - Ctrl-B
Ctrl-A удобнее. Даже прямо в мане tmux написано, как на Ctrl-A перебить :)
Вместо двух кнопок (ctrl + A) надо использоать одну, например, `
> Ctrl-A удобнее, чем Ctrl-B - можно одной рукой нажимать, не растягивая пальцы
> :)Тоже подумал минут 10 назад про то, что Ctrl-A удобнее. Клавиша A находится с краю экрана. Рядом с регистровыми клавишами. Поэтому она в этом смысле тоже становится похожей на регистровую клавишу. Очень удобно её нажимать вслепую, даже если двумя руками (правый Ctrl, а слева - A). А для нажатия находящейся в самом центре клавиатуры клавиши B, придётся обязательно глазами смотреть на клавиатуру, что приведёт к уменьшению скорости работы.
А я еще помню тевремена как весь opennet возмущался что screen лучше tmex и последний под bsd и нужно пилить screen. А сейчас наоборот, распробовали?
> А я еще помню тевремена как весь opennet возмущалсяЧтоб "вась опенет" что-то единогласно, да ещё и "возмущался"?? С альцгеймером, не :/ поздравляю.
> Чтоб "вась опенет" что-то единогласно, да ещё и "возмущался"?? С альцгеймером, не
> :/ поздравляю.Болеете?
ни разу в жизни до этой темы не слышал, чтобы кто-то говорил, что screen лучше tmux. впрочем, и тут не вижу, кроме каких-то религиозных истерик
bce туда когда прикрутят?
за несколько лет пользования им так и не понял его положительных "плюшек".
Нормальной поддержки мыши как не было, так и нет.
> Нормальной поддержки мыши как не было, так и нет.Как научишь мышьку жать Ctr-B, кричи громче!
Пользовался в консоли, но есть баг, при котором начинает ехать вся верстка , а при перезапуске не восстанавливается сессия. так пару раз попробовал и забил.
> Пользовался в консоли, но есть баг, при котором начинает ехать вся верстка
> , а при перезапуске не восстанавливается сессия. так пару раз попробовал
> и забил.pussy.exe'шник должен страдать.