The OpenNET Project / Index page

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

Для tmux реализована поддержка сохранения сеанса между перезагрузками

05.09.2014 11:58

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

В дополнение к штатной функции сохранения содержимого рабочего окружения между разными пользовательскими сеансами, для tmux подготовлен плагин tmux-resurrect, позволяющий решить проблему с потерей запущенных программ, окон с рабочими директориями и расположением элементов на экране после перезапуска компьютера. Плагин tmux-resurrect обеспечивает сохранение слепка состояния окружения tmux для его восстановления после перезапуска системы. После восстановления окружение для пользователя выглядит неизменным, вплоть до того, что опционально предусмотрена возможность восстановления незавершённых сеансов редактора vim с сохранением позиций редактирования (за исключением редактора vim, состояние внешних программ не замораживается, они просто запускаются повторно с теми же аргументами).

Особенности tmux-resurrect:

  • Сохранение всех сеансов, окон, панелей и порядка их размещения;
  • Сохранение текущей рабочей директории для каждой панели;
  • Сохранение раскладок элементов панели в окнах;
  • Сохранение активных и альтернативных сеансов;
  • Сохранение активных и альтернативных окон для каждого сеанса;
  • Сохранение фокуса и активной панели в окне;
  • Запуск программ, выполняемых в каждой панели;
  • Опциональное сохранение сеансов vim.


  1. Главная ссылка к новости (http://undeadly.org/cgi?action...)
  2. OpenNews: Первый выпуск abduco, легковесной альтернативы tmux и screen
  3. OpenNews: Выпуск консольного оконного менеджера tmux 1.9
  4. OpenNews: В рамках проекта tmate подготовлен инструмент для совместного доступа к терминалу
  5. OpenNews: Выпуск консольного оконного менеджера GNU screen 4.2.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/40522-tmux
Ключевые слова: tmux
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (34) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, x0r (??), 12:43, 05/09/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    не все программы могут так нормально перезагрузиться. но всеже здорово.

    подскажете tmux аналог для screen -xR ?

     
     
  • 2.3, xakru (?), 12:46, 05/09/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Знаки препинания вам не знакомы?
    Если я вас правильно понял - tmux attach
     
     
  • 3.14, Shtober (ok), 18:25, 05/09/2014 [^] [^^] [^^^] [ответить]  
  • +7 +/
    >не все программы могут так нормально перезагрузиться

    не только лишь все, но мало кто вообще может это делать...

     
  • 2.35, Fantomas (??), 17:42, 08/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    tmux att || tmux
     

  • 1.2, Аноним (-), 12:44, 05/09/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Годнота.
     
  • 1.4, Аноним (-), 13:04, 05/09/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Шикарно. Супер. Побежал обновляться.
     
  • 1.8, arisu (ok), 15:22, 05/09/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    бесполезняк. состояние mc нормально не восстановит, а всё остальное или не нужно, или и без тмукса умеет себя поднимать.
     
     
  • 2.21, Аноним (-), 22:14, 05/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    А в чем пойнт вообще чтобы программы "как живые", но только дохлые? Внутреннее состояние процессов ведь не восстановится...

    Кстати идея: в пингвине можно попробовать чекпойнтить иногда процессы новомодным CRIU. А после ребута, натурально, восстановить в вид "как было". Со всеми потрохами! В идеале могло бы выглядеть как нечто типа живой миграции контейнеров, но только сам на себя, с кратковременной (на время ребута) приостановкой работы программ. Наверное мог бы быть годный способ обновлять ядро, etc "почти без перезагрузки" :).

     
     
  • 3.23, arisu (ok), 22:50, 05/09/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > CRIU

    no x86 support → crap.

     
     
  • 4.25, Led (ok), 01:15, 06/09/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > x86 → crap.

    fixed


     
     
  • 5.26, arisu (ok), 01:28, 06/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >> x86 → crap.
    > fixed

    оно, конечно, да, но x86_64 → crap*2.

     
     
  • 6.27, rob pike (?), 04:33, 06/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Зато дешево, надежно и практично.
     
     
  • 7.28, G0Dzilla (ok), 12:50, 06/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Дешево - да, а остальное... Не думаю.
     
     
  • 8.31, Аноним (-), 13:18, 06/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    А что - остальное Ну вот у меня AMDшный проц ECCшную оперативку гоняет Кэши то... текст свёрнут, показать
     
  • 4.30, Аноним (-), 13:15, 06/09/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > no x86 support → crap.

    Я бы сказал что x86 - синоним crap. А х86_64 - таки немного менее гуанистый и уже немного больше похож на приличный процессор. Конечно тоже далек от идеала, но не такое кислотное у...ще как х86.

     
     
  • 5.32, arisu (ok), 14:40, 06/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    я уже говорил: мне восьмибайтовые указатели нафиг не упёрлись.
     
  • 3.24, Led (ok), 01:14, 06/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Кстати идея: в пингвине можно попробовать чекпойнтить иногда процессы новомодным CRIU.
    > А после ребута, натурально, восстановить в вид "как было".

    Можно. Но - TCP-соединения...

     
     
  • 4.29, Аноним (-), 13:12, 06/09/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Можно. Но - TCP-соединения...

    Что - TCP? Там вроде как раз было сохранение состояния TCP/IP стека. Единственное что при ребуте подшаманить что-то придется, чтобы ядро не отлупило "неожиданным" пакетам RST какой-нибудь. А потом ядро вспомнит что это не левые пакеты - и наступит зашибись. В идеале это для внешнего мира может выглядеть как пауза на несколько секунд (пока новое ядро через kexec взлетает, etc).

     
     
  • 5.33, Led (ok), 21:46, 06/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >> Можно. Но - TCP-соединения...
    > Что - TCP? Там вроде как раз было сохранение состояния TCP/IP стека.

    Ты действительно хоть издалека видел CRIU, или так - поп^Hговорить пришёл?

     
     
  • 6.36, эцсамое (?), 18:51, 11/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    я издалека видел. точно собирались восстановление состояния сетевого стека делать.
     
  • 2.37, Igor (??), 11:37, 02/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Никому не нужен ваш mc
     

  • 1.9, backbone (ok), 16:22, 05/09/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очень нужно. Иногда надо перезагрузиться, а куча открытых сессий tmux с различным разбиением окон долго восстанавливать. Запуск приложений не нужен совсем даже.
     
     
  • 2.10, Аноним (-), 17:07, 05/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Точняк! Лиш бы нарезку окошек и имена сохранил. Ну максимум cd куда надо. А проги я уж сам :)
     

  • 1.11, Аноним (-), 17:56, 05/09/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Как можно заставить tmux быстрее рефрешить "top" ?
     
     
  • 2.13, Ыр (?), 18:19, 05/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Быстрее, чем 1 секунда?
     
     
  • 3.18, Аноним (-), 19:40, 05/09/2014 [^] [^^] [^^^] [ответить]  
  • +/
    top быстрее tmux работает, еще проблема с прокруткой вверх - ее нет
     
  • 2.16, Andrey Mitrofanov (?), 18:45, 05/09/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Как можно заставить tmux быстрее рефрешить "top" ?

    s 0 <Enter>

     

  • 1.12, Аноним (-), 18:05, 05/09/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    хороший мультипликатор
     
     
  • 2.19, annualslayer (ok), 20:38, 05/09/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    это типа как Уолт Диснэй?
     

  • 1.15, Michael Shigorin (ok), 18:44, 05/09/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ой, а это уже занятно, в некоторых случаях сэкономит по несколько секунд.
     
     
  • 2.34, DeadLoco (ok), 13:10, 07/09/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Скрин позволяет сделать отдельный конфиг, которым автоматически создаются окошки с нужными софтами в них. Более того, скрин позволяет запускать скрины внутри скрина. У меня одной командой запускается целый воркспейс, где в первом окне - четыре мониторящихся лога, в другом - два тцпдампа, в третьем - топ и вмстат, в четвертом - файлманагер, а в пятом - манагер процессов.
     

  • 1.17, Аноним (-), 19:21, 05/09/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Фишка действительно полезная, только причём тут разработчики OpenBSD? Bruno Sutic - разработчик tmux-resurrect - никогда не был таковым.
     
  • 1.20, AX (ok), 21:09, 05/09/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот пример действительно полезного нововведения. Учись, Леннарт, учитесь, разработчики всяких терминалов на cairo.
     
     
  • 2.22, Аноним (-), 22:17, 05/09/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Вот пример действительно полезного нововведения. Учись, Леннарт, учитесь, разработчики
    > всяких терминалов на cairo.

    В стиле Леннарта было бы забабахать чекпойнт процессов при шатдауне и рестор состояния процессов при старте системы в вид как было на момент шатдауна. Вот это было бы круто. ЧСХ, технически вроде даже реализуемо - ну, дернуть запись состояния процессов при шатдауне - CRIU так умеет. А рестор состояния высушенной оболочки трупика процесса вместо самого процесса - ну да, мегаинновация.

     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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