Представлен (http://sourceforge.net/mailarchive/forum.php?thread_name=201...) релиз консольного оконного менеджера tmux (http://tmux.sourceforge.net/) ("terminal multiplexer"), разрабатываемого в рамках проекта OpenBSD с целью создания распространяемой под лицензией BSD замены GNU Screen (http://www.gnu.org/software/screen/). Tmux позволяет организовать многооконный интерфейс в консоли, через мультиплексирование одного физического терминала на несколько виртуальных терминалов.
Из изменений (http://sourceforge.net/projects/tmux/files/tmux/tmux-1.8/) можно отметить появление клавиатурных комбинаций для перемещения по полстраницы в режиме копирования, поддержку работы с неотсоединёнными сессиями, поддержку вставки из буфера через клик средней кнопкой мыши, реализована команда copy-pipe для передачи выделенной области во внешнюю программу, добавлены новые форматы (client_session, client_last_session) и опции.Основные отличия (http://tmux.cvs.sourceforge.net/viewvc/*checkout*/tmux/tmux/FAQ) tmux от GNU Screen:
- Исходные тексты распространяются в рамках лицензии BSD. Более современная и упрощенная кодовая база (коду screen 20 лет);- Предусмотрена возможность подключения расширений от сторонних разработчиков;
- Четко формализованная клиент-серверная модель, при которой окна выступают в роли независимых объектов, которые могут сопоставляться и перераспределяться между разными сессиями. При этом поддерживается назначение одного окна нескольким разным клиентам и передача окон от одного клиента другому;
- Наличие механизма автоматизации выполнения типовых действий, через подключение внешних скриптов. Полноценный интерфейс управления из командной строки, позволяющий управлять всеми операциями tmux из скриптов;
- Наличие нескольких независимых буферов обмена;
- Поддержка опции для ограничения размера окна. Более гибкие возможности по разбиению окон на части (поддержка вертикального разделения);
- Более ясный синтаксис для формирования содержимого строки статуса. Возможность отображения в строке статуса первой строки вывода определенной команды;
- Более экономное расходование оперативной памяти;
- Улучшенная поддержка UTF-8.URL: http://sourceforge.net/mailarchive/forum.php?thread_name=201...
Новость: http://www.opennet.me/opennews/art.shtml?num=36511
Обожаю его, пользуюсь везде, где только можно
сфоткай пока он спит
ты что, он же не накрашеный
openbsd уже анонсировала столько всего нового за неделю: openssh, tmux, ещё пара смежных проектов. А ещё вышла новая ПОТРЯСАЮЩАЯ песенка к релизу 5.3! Скоро уж и сам 5.3 подтянется.А tmux - это прелесть. Одна проблема - всё никак на память не могу взять, как Ctrl-B на Ctrl-A заменять, поэтому приходится искать где-то старые конфиги, in-place редактирования не получается. :( Надо будет выучить, как таблицу умножения. Жаль, что не по дефолту.
> Надо будет выучить,
> как таблицу умножения. Жаль, что не по дефолту.Так man же, там есть пример.
>> Надо будет выучить,
>> как таблицу умножения. Жаль, что не по дефолту.
> Так man же, там есть пример.Читать, отвлекаться, переписывать. Задумываешься об одном, а другое из головы вылетает. По хорошему, если не будет дефолта, в голове должна срабатывать автоматика, чтобы мысли вообще не переключались - те же хоткеи в mc или ключи во wget я не знаю, я их просто пишу, спроси, что пишу - остановлюсь, задумаюсь и не отвечу. Потому что не думаю, а знаю.
Но все проблемы решил бы дефолт на ctrl-a. Или на что-то другое, но уж больно неудобно до ctrl-b тянуться.
Ну дык конфиги в Git и на GitHub куда-нибудь, нет?
Педаль! Педаль приделай!
> Педаль! Педаль приделай!Я трезвый в педалях путаюсь.
С Ctrl-A не будут работать хоткеи minicom'a.
почему нет?
А как же потом в начало строки перемещаться?
ctrl+a, a
ссылку на песенку забыл добавить:
> А tmux — это прелесть.но overkill, по-моему. как и screen. один терминал с табами + dtach — и радости немеряно, а жирного софта не надо. я разве что добавил к dtach маленький патчик, дабы можно было список сессий получать и по именам к ним обращаться, а не задавать каждый раз руками путь к сокету.
Интересно. А dtach разве позволяет вернуться к отвязанной от терминала программе?
Вот отвязал я rtorrent, а потом magnet-ссылку ему захочу скормить. Как мне делать прикажете?
прикажу читать man dtach. он (dtach), кагбэ как раз и был придуман для того, чтобы можно было возвращаться.ты когда сессию создаёшь, ты зачем адрес сокета указываешь? правильно, именно для того, чтобы потом к ней можно было сделать attach, запустив dtach -a. вот так и делать. почитав документацию.
Всё замечательно, но непонятно накой сделали Ctrl+B вместо Ctrl+A. Про коллизии со screen - сущий бред, потому что есть Ctrl+A A.
И вам тот же вопрос: а как же тогда перемещаться в начало строки?
> И вам тот же вопрос: а как же тогда перемещаться в начало строки?Home. А вообще, для неучей - Ctrl+A посылается как Ctrl+A, A. Поэтому сделать в tmux другую велосипедную комбинацию было в весшей степени идиотично.
>> И вам тот же вопрос: а как же тогда перемещаться в начало строки?
> Home. А вообще, для неучей - Ctrl+A посылается как Ctrl+A, A. Поэтому
> сделать в tmux другую велосипедную комбинацию было в весшей степени идиотично.Какие жаркие споры вокруг Ctrl-B/Ctrl-A... Я вот на F12 повесил и не испытываю никакого дискомфорта. Или я чего-то не знаю?
> Или я чего-то не знаю?таки да. f12 для этого ничем не лучше, нежели рекомендованое тут home для перемещения в начало строки.
А по-моему гораздо большим идиотизмом было вешать изначально переключение в режим команд на Ctrl+A в screen
>> И вам тот же вопрос: а как же тогда перемещаться в начало строки?
> Home.неудобно. до него тянуться надо, а ^a уже под рукой.
> А вообще, для неучей — Ctrl+A посылается как Ctrl+A, A.
что? O_O
Боже мой, еще один, бляха-муха. Ты хоть документацию почитай что ли, а? ctrl+a используется для перехода в начало строки в sh/csh/tsch и возможно в вашем bash/dash, не знаю чем вы там пользуетесь.
В sh/csh/tcsh и вообще всех шеллах что я видел для перехода в начало строки используется Home. При чём тут Ctrl+A не представляю.
А я не представляю причем тут Home. Всегда было так: ctrl+a - в начало строки, ctrl+e - в конец строки, ctrl+w стереть одно слово перед курсором, esc+f - перейти на слово вперед, esc+b - перейти на слово назад и т.д.. Хотя если вы UNIX-like изучали по http://www.opennet.me/opennews/art.shtml?num=36508, то понятно почему вы такой элементарщины не знаете.
> В sh/csh/tcsh и вообще всех шеллах что я видел для перехода в
> начало строки используется Home. При чём тут Ctrl+A не представляю.при том, что ты не умеешь эффективно клавиатуру использовать. ты бы ещё сказал, что «мышью клацнуть» — по удобству и скорости не сильно отличается.
Очень классная вещь, странно что еще во многих дистрибутивах по дефолту идет screen
> Очень классная вещь, странно что еще во многих дистрибутивах по дефолту идет screenЭто у каких дистрибутивов такой "дефолт"?
В openbsd и netbsd - tmux в базовой системе.
К счастью, у openbsd и netbsd нет "многих дистрибутивов" ;)
> К счастью, у openbsd и netbsd нет "многих дистрибутивов" ;)Зато они сами есть. Одна умная, другая красивая. Влюбился, самым непосредственным образом влюбился. В обоих, и даже не знаю, что делать.
> влюбился. В обоихобеих? :)
обоях?
> обеих? :)Как пели у нас в деревне "я б женился на обоих". :)
Вот так надо писать хорошие кроссплатформенные программы, а не как Wayland.
кстати, в тмуксе поддержку вейланда собираются делать или опять 20 лет ждать будут?
tmux КОНСОЛЬНЫЙ, какой к черту Wayland?
> tmux КОНСОЛЬНЫЙ, какой к черту Wayland?а разве вейланд консольные шрифты поддерживать не будет?
- В какой цвет покрашен этот стол?- Утюг
- А разве в цветовой палитре нету розетки?
> кстати, в тмуксе поддержку вейланда собираются делать или опять 20 лет ждать
> будут?тебя ещё не отпустило, что ли?
>> кстати, в тмуксе поддержку вейланда собираются делать или опять 20 лет ждать
>> будут?
> тебя ещё не отпустило, что ли?в тредике про офисы вон пару человек еще и не так вставляет. тоже имею право поглумиться ггг.
старею, старею…
> в тредике про офисы вон пару человек еще и не так вставляет.
> тоже имею право поглумиться ггг.Есть разница между "поглумиться" и "выставить себя идиотом".
Пусть вначале терминал нормальный под Wayland запилят без зависимостей от GTK или Qt.
> Пусть вначале терминал нормальный под Wayland запилят без зависимостей от GTK или
> Qt.а зачем? вообще-то написание хорошего терминала — задача весьма непростая. то есть, простая — на первый взгляд. а потом оказывается, что проще взять ту же библиотеку от gtk и не заниматься ерундой.
>> Пусть вначале терминал нормальный под Wayland запилят без зависимостей от GTK или
>> Qt.
> а зачем? вообще-то написание хорошего терминала — задача весьма непростая. то есть,
> простая — на первый взгляд. а потом оказывается, что проще взять
> ту же библиотеку от gtk и не заниматься ерундой.а чочо я пропустил что-то, в gtk запилили виджет терминала? полезно было бы кстати
> а чочо я пропустил что-то, в gtk запилили виджет терминала? полезно было
> бы кстатину этот, как его. vte же.
> ну этот, как его. vte же.о. да, действительно. век живи век учись.
"Улучшенная поддержка UTF-8. "Вискас стал еще вкусней! Теперь попробуйте и вы ;)
Кто использует, расскажите зачем оно? Для работе в ssh по удалёнке? Серьёзно, не слишком понимаю, нафига он нужен.
> Кто использует, расскажите зачем оно? Для работе в ssh по удалёнке? Серьёзно,
> не слишком понимаю, нафига он нужен.Ты в зоопарке был? Там верблюд, то есть, оконный менеджер, видел?
> Кто использует, расскажите зачем оно? Для работе в ssh по удалёнке? Серьёзно,
> не слишком понимаю, нафига он нужен.Когда запускаешь что-то долгое, но при этом периодически требующее действий пользователя. Например, если хочешь поставить софтину не бинарным пакетом, а скомпилённую со своими параметрами. Оно может подтягивать зависимости, которые тоже могут начинать установку с "make config" и ждать действий юзера. "nohup make >& make.out &" тут не годится.
> Когда запускаешь что-то долгое, но при этом периодически требующее действий пользователя.dtach?
нее, таки tmux.
Использую для работы на удаленном сервере. Обычно открыто 2-3 сессии с несколькими окнами. Которые в свою очередь тоже могут быть поделены на фреймы. Сказать что это удобно, значит ничего не сказать. Например, в одном окне пишу код, в другом запускаю, в третьем тестирую, в четвертом произвожу операции с гитом и т.д.Тмукс также удобно использовать и локально. Не боишься случайно закрыть окно. И переключение между окнами можно организовать так, как захочется.
Ага, такая же фигня. У меня tmux + vim как среда разработки. Постоянно висят на рабочей машине к которой подключен программатор и железяка. Очень удобно, то что из любой точки мира можно подрубиться с любой машины, был бы ssh клиент.
> Кто использует, расскажите зачем оно?если кому-то кажется, что терминал с табами и dtach — это нетехнологично, то берётся терминал без табов, dtach заменяется на tmux (или screen, но tmux всё-таки лучше).
фактически, это такой tiling workspace manager для текстового режима. не обязательно «удалёнка», в нём и локальный консольный софт можно гонять.
dvtm+dtach более юниксвейно
> dvtmне знал.
Комбайн, заменяющий dtach и dvtm, но не такой древний, как screen
Более гибкие возможности по разбиению окон на части (поддержка вертикального разделения) - ??? так вроде как screen тоже по вертикали разделять окно может. Так и не понял чем он лучше screen-а.
> Более гибкие возможности по разбиению окон на части (поддержка вертикального разделения)
> - ??? так вроде как screen тоже по вертикали разделять окно
> может. Так и не понял чем он лучше screen-а.Памяти столько не жрет и с хоткеями удобнее
Давай померямся, просто интересно стоит ли менять:root@srv-statistic:~# pstree
init─┬─acpid
├─atd
├─cron
├─dbus-daemon
├─dhclient3
├─flow-capture
├─6*[getty]
├─rsyslogd───3*[{rsyslogd}]
├─sshd───sshd───sshd───bash───screen───screen─┬─bash───sudo───bash───mc───bash
│ ├─bash───sudo───bash───pstree
│ └─bash───sudo───bash───watch
├─udevd───2*[udevd]
├─upstart-socket-
├─upstart-udev-br
├─vsftpd
└─whoopsie───{whoopsie}root@srv-statistic:~# free
total used free shared buffers cached
Mem: 508232 320700 187532 0 42880 214596
-/+ buffers/cache: 63224 445008
Swap: 524284 664 523620USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
des 1363 0.0 0.1 5408 984 pts/1 S+ Mar27 0:00 screen
Только вот почему-то на shellbox'ах tmux в top по CPU usage всегда выше screen на порядок-два, несмотря на примерно одинаковый usecase.
Всем кто мучается с Ctrl A и Ctrl B могу предложить свой вариант - backtick "`":
unbind C-b
set -g prefix `
bind ` send-keys `Единственная проблема копирование скриптов, содержащих "`", решается командой:
unbind `
Неа, не решается (
> Единственная проблема копирование скриптов, содержащих "`", решается командой:
> unbind `Есть ещё вариант для prefix - набирать небольшой стишок или текст песенки, тогда точно проблем не будет.
У меня Ctrl+S. В bash/zsh это вроде обратный поиск по истории, но я все равно Ctrl+R использую. И пальцам удобно.
> У меня Ctrl+S. В bash/zsh это вроде обратный поиск по истории, но
> я все равно Ctrl+R использую. И пальцам удобно.Ctrl+S - это же suspend терминала.
>> У меня Ctrl+S. В bash/zsh это вроде обратный поиск по истории, но
>> я все равно Ctrl+R использую. И пальцам удобно.
> Ctrl+S - это же suspend терминала.чочо?
про XOFF/XON почитай. ну и так, поржать, ctrl+q тогда как расшифровать? Если вывод о suspend был сделан оттого, что "залипает" и "начинается на S"
> ну и так, поржать, ctrl+q тогда как расшифровать?qontinue :]
А ещё можно вспомнить изначальное предназначение клавиши Scroll Lock.