Как запомнить сессию нескольких вкладок в терминале в Ubuntu?

1369
Charan Pai

Я открыл много файлов в vim, и там я редактирую и отслеживаю ход программы с помощью ctags, и я не хочу терять всю эту информацию при следующей перезагрузке, я не могу оставить свою систему включенной в течение нескольких недель или месяцев.

Есть ли способ сохранить текущее состояние терминала и / или состояние стека vim?

Вот похожий вопрос

5
* "отслеживание потока программы с использованием` ctags` "*? `ctags` используется для индексации вашей кодовой базы. Как только файл `tags` создан, совершенно не имеет значения, выйдете ли вы из системы или выключите компьютер. romainl 11 лет назад 0
не репост. если вы еще не получили ответов на [su], добавьте за это вознаграждение. Sathya 11 лет назад 0

2 ответа на вопрос

4
romainl

Читать :help :mksession.

:mksession /path/to/sessionfile 

Эта команда пишет скрипт, который вы можете запустить позже

:source /path/to/sessionfile 

Вы можете запускать эти команды автоматически, когда выходите и запускаете Vim с autocmd. Прочитайте эту страницу на вики Vim для идей.

Сохранение терминальной сессии - это другая проблема. И tmux, и screen позволяют отключать / подключать сессии, но я признаю, что не знаю, смогут ли они пережить перезагрузку.

редактировать

В этом ответе объясняется, как создать сценарий сеанса tmux и восстановить его позже. Что-то в этом направлении, вероятно, можно сделать для экрана.

Если вы не используете tmux или screen, у вас остаются возможности вашего эмулятора терминала.

3
thkala

I had to work on the same problem - unfortunately many applications do not even have a way to save their state in a controlled manner, let alone when terminated on system shutdown.

My current solution:

  • Hibernation covers 99% percent of cases for all my laptop and desktop computers. I can generally power down the computer and everything will be restored on power-on - It is generally far more stable on my systems than Suspend-to-RAM, since it does not depend on the BIOS doing the Right Thing (TM).

    The only problem with hibernation is that it cannot be used when booting to a different kernel, although I would not expect most people to be updating their kernel all that often...

  • Scripting: Rather than try to get my applications to save their state, I chose instead to create a number of scripts to launch gnome-terminal and screen with a preset selection of initial tabs/screens and associated programs that work for me. Basically I have almost eliminated the 10-minute hassle of launching my standard set of terminals, file browsers e.t.c. after I log-on to my desktop.

Considering the state of most applications, especially in the console, I do not believe that it can get much better than this. Anything more would have to be treated on an case-by-case basis for each application. For example, some applications, such as Eclipse, can be configured to save their state periodically.