Как стать автором
Обновить

Комментарии 38

"… А в том регионе, что справа, запустим наше тестовое приложение."
А как перейти в тот регион, что справа, вы не сказали.

Добрый день.


Спасибо, поправил.

Здравствуйте, благодаря вашей первой статье узнал о терминальных менеджерах и начал использовать tmux.
Хотелось узнать момент, который я не нашёл нигде — есть ли возможность сохранить пресет сессии при выключении компьютера? Допустим, мне не важно чтобы в каждой вкладке были уже запущены процессы, хочется именно восстановить после выключения компьютера такие вещи как количество вкладок, их лэйауты и пути — например в первой вкладке у меня home, во второй — папки репозитория и деплоя определённого проекта разделённые по вертикали, в третьей — папка логов.

Добрый день, Владимир!


Спасибо за вопрос. Довольно интересная задача. Читал в одной статье про решение вашего вопроса. Ссылку на статью не могу найти. Но вот решения я себе сохранил. Есть два инстумента: раз, два. Для старта, попробуйте их. Плюс, вот здесь было живое обсуждение такой же проблемы. Есть примеры простых скриптов. Отпишитесь про результаты )

Спасибо, по ссылочкам погулял, странно что не наткнулся раньше) Постараюсь отписаться сюда, как протестирую)
Изучил немного tmuxinator, достаточно удобный инструмент. Вкупе с небольшими хаками в .bashrc теперь у меня в любой момент при запуске консоли запускается уже проинициализированная сессия tmux, в конфиг tmuxinator можно прописывать любые команды на выполнение для каждого окна, так что не проблема даже настроить чтобы автоматом подключался по ssh при первом запуске, или даже очередь команд, например подключиться по ssh + перейти в нужную директорию + открыть лог.

Ухты, крутяк!


Поздравляю )

Я использую retmux (https://github.com/sk1418/retmux, https://aur.archlinux.org/packages/retmux/)
Очень рекомендую посмотреть.
С недавних пор использую tmux-resurrect. Он как раз сохраняет такие вещи как количество вкладок, их названия, области и пути.
В Ubuntu есть удобная оболочка для screen и tmux — byobu

Добрый день, Алексей!


Да, вы правы, есть такая. Но если у пользователя нет опыта работы ни со screen'ом ни с tmux'ом, то я бы советовал не пробовать никакие оболочки. А начать с "голого" screen'а или tmux'a. А то и так будет много магии, а с оболочками ее будет еще больше. Все, что происходит внутри будет понять сложно.

не согласен. Если пользователю надо «работать» сейчас, а не «изучать» — то byobu отличный выбор. пару минут посмотреть и можно спокойно работать. А потом, если будет нужно — можно и глубже лезть.

Добрый день.


А что вы подразумеваете под «изучать»? Если пользователь знает про screen или tmux, то он как минимум, понимает зачем они и прочитал пару статтей. В свою очередь, чтобы пользоваться byobu, то о нем нужно: знать, что это и зачем; выполнить отдельную установку; запомнить все сочетания клавиш, которые в корне отличаются от сочетаний для screen и tmux. Плюс ко всему, любая обертка накладывает свои ограничения, как в пользовании так и в производительности. Это тоже нужно учитывать. И что самое важное, у вас могут быть права на устрановку screen или tmux, а на установку byobu могут обрезать.

под изучать я понимаю «как минимум прочитал пару статтей»
для бюобу достаточно нажать ф1, не надо запоминать все — что надо само отложится

Или guake — это написанный на python эмулятор терминала
с возможностями tilda (quake-style)
и консолями-вкладками.

отличная штука, кстати, и под венду есть аналог — ConEmu
лучше cmder
это ConEmu + clink (автодополнение/автозавершение)
+настройки
Добрый день Алексей,

не подскажите как можно организовать прокрутку в окне tmux, никак не могу победить данный вопрос.
Спасибо
Очень плохая идея. C-b сделано специально, что бы не пересекалось с C-a у screen. Я вот использую у себя на точке откуда делаю ssh к клиентам tmux и там C-b, а на клиентских серверах порой screen, где C-a, что бы не путаться.
И C-b вполне удобен.

C-b сделано что бы не пересекаться с C-a у bash.


А точнее у всех приложений основанных на libreadline.

Но в bash есть и C-b.


В tmux можно нажать C-a дважды, чтобы послать одиночный C-a программе. Со screen конечно неудобно будет, но в bash'е — приемлемо.

Ого, круто, не знал: ни про C-b в bash (однако, не так оно востребовано как C-a или meta-b например) ни про C-a дважды.

Оба плохи. В стандартном емакс-подобном режиме, т.е. в дефолтном режиме оболочек (как bash, так и zsh) `ctrl+a` — переход в начало строки, а `ctrl+b` — на один символ назад.
20 лет администрирую никсы, 20 лет не использую в bash/zsh и ко ctrl+a или ctrl+b. В начало строки я возвращаюсь чудесным образом кнопкой Home, на один символ назад я думаю угадаете как.
Использование emacs-режима может быть интересно только существам с 17 щупальцами, которые могут использовать и сам emacs, а я — классический гуманоид, у меня две руки на которых по пять пальцев.

А вот непересечение со screen для меня критично, потому как использую screen внутри tmux'а ежедневно.
> 20 лет администрирую никсы, 20 лет не использую в bash/zsh и ко ctrl+a или ctrl+b. В начало строки я возвращаюсь чудесным образом кнопкой Home, на один символ назад я думаю угадаете как.
Искренне за Вас рад.
> Использование emacs-режима может быть интересно только существам с 17 щупальцами, которые могут использовать и сам emacs, а я — классический гуманоид, у меня две руки на которых по пять пальцев.
Т.е. Вы ничего не знаете о emacs.
> Т.е. Вы ничего не знаете о emacs.

Вы смешное, не знаете стандартных шуток об операционной среде Emacs, в которой нет текстового редактора.
я всегда думал, что переход на светлую сторону сопряжён с уходом от кривущей, богомерзкой ubuntu… холивар хэс бин стартед…
Мышь перестала работать в mc если запускать под tmux. Можно как-то поправить?
Возможно:
set-option -g mouse on в ~/.tmux.conf
Вам поможет?
не, не помогает. Я как и автор использую Putty в качестве клиента. Все мышиные действия перестают работать, копипаст и т.д…

Подскажите, никто не задавался вопросом запуска tmux на удаленно сервере, когда локально уже запущен tmux. Собственно интересен вопрос как выставить приоритет клавиш, или просто нужно делать биндинг на разные сочетания?

Просто на скрине в начале статьи, как мне кажется так и сделано, интересно как правильно это настроить?

Добрый день.


На ваш вопрос, dronmaxman ответил в своем комментарии.

Вот уже 5 лет юзаю tmux+mosh и не могу нарадоваться!

Хочу поделиться парочкой хаков в своей работе. Работаю на ноутбуке, авторизуюсь по ключу. Подключаюсь к рабочему ПК на линухе в локальной сети, на пограничнике проброшены порт ssh и mosh на это ПК. Соответственно всегда подключаюсь через белый адрес пограничника и уже не важно где я нахожусь, в локальной сети или во внешней, подключаю к разным беспроводным точкам, к мобильному интернету — mosh всегда держит мою сессию с открытым tmux!!!

На рабочем ПК переключение в tmux ctrl+b на всех остальный серверах ctrl+f — как следствие, могу спокойно открывать tmux в tmux. Добавил в ~/.tmux.conf, теперь при открытии «tmux a» стразу в 0 окне открывается логи сервака, а в первом лог апача или чего-то еще.
new -n "[LOGS]" "sudo multitail -f /var/log/messages  -f /var/log/daemon.log -f /var/log/auth.log"
setw window-status-bg yellow
setw window-status-fg black
setw window-status-attr dim
new -n "[APACHE2]" "sudo multitail -f /var/log/apache2/access.log -f  /var/log/apache2/error.log"
setw window-status-bg yellow



Еще есть маленький хак, окна в tmux сами меняют заголовки в зависимости от приложения которое в них запущено
vim /etc/tmux.conf
set -g status-left "#[fg=yellow,bold,bg=black] #H #[default]#[fg=white,bg=black] #P #[default]#[fg=white,bold]["
set -g status-right "#[fg=white,bold]]#[fg=yellow,bold,bg=black] #(whoami) #[default]"


Так же можно менять цвет панель tmux в зависимости от важности сервиса (красный — продакшен, синий — тестовый и т.д.)

Для наглядности.
http://dropmefiles.com/0Uy7b

Добрый день.


Спасибо за ваш подробный и полезный комментарий.


Для наглядности.
http://dropmefiles.com/0Uy7b

Ссылка битая (

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории