терминал bash, который запоминает свое состояние при восстановлении после сбоя

1214
bguiz

В Ubuntu я использую настройки gnome-terminalпо умолчанию для запуска своих команд. Обычно у меня есть несколько открытых окон, каждое с несколькими вкладками. Когда по какой-либо причине происходит сбой моей ОС * и я перезагружаюсь, я теряю все эти терминалы.

Sublime Text, Firefox и Chrome меня избаловали, так как все они дают мне возможность восстановить все окна и вкладки в точности так, как они делали до сбоя, и я хотел бы иметь возможность сделать то же самое с моим терминалом окна и вкладки.

Как это можно сделать?

Изложив особенности того, что я хотел бы:

  • Должен иметь:
    • После перезагрузки, когда я открываю терминал в первый раз, окна и вкладки, которые были там до этого, снова открываются
      • Либо с подсказкой, либо без
    • Каждая вкладка cd-ed в папку, в которой она была раньше
  • Хорошо бы иметь:
    • Для bash_historyэтой вкладки еще есть
    • поэтому, когда я нажимаю клавиши «вверх» и «вниз», я получаю то, что я ожидаю, на этой вкладке

* Ubuntu работает на ноутбуке, чьи драйверы не самые дружелюбные, случается чаще, чем мне бы хотелось (на случай, если вам интересно)

3
Возможно, вы ищете что-то [подобное] (http://superuser.com/q/610001/151431)? terdon 10 лет назад 0

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

1
stderr

Самое близкое, что они могли получить.

Вы можете использовать следующие параметры:

--save-config=FILE Save the terminal configuration to a file --load-config=FILE Load a terminal configuration file 

Пример:

Сохранить:

gnome-terminal --save-config=/tmp/cfgtab 

Чтобы загрузить его обратно:

gnome-terminal --load-config=/tmp/cfgtab 

enter image description here

@tiagoc Хмм - это работает глобально - то есть, если я выполню эту команду из любой оболочки / терминала, она сохранит контекст из каждого открытого в данный момент? ... Потому что если это так, то я думаю, что я мог бы создать работу `cron`, или даже просто` посмотреть -n5-терминал gnome --save-config = / tmp / cfgtab` и на аварийно завершить работу. Я могу просто перезагрузить сессии, запустив gnome-terminal --load-config = / tmp / cfgtab` вручную. bguiz 10 лет назад 0
@bguiz Да, по крайней мере текущий рабочий каталог каждой вкладки сохраняется. Как и введенные команды, все сохраняется в `bash_history`. При запоминании команд на вкладке, в частности, я думаю, что это невозможно сделать. stderr 10 лет назад 0
К сожалению, новый `gnome-терминал` в Gnome 3 утратил поддержку загрузки и сохранения настроек :-( Neil Mayhew 8 лет назад 0
1
bguiz

Вот решение, которое я придумал:

https://gist.github.com/bguiz/9262902

Это сценарий оболочки, который автоматизирует вышеуказанное.

Для нормального использования:

~/watcher.sh 

После сбоя и перезагрузки:

~/watcher.sh restore 
@tiagoc Я придумал свое решение, вдохновленное твоим. Я дам тебе +1 и проверю, так как ты привел меня к решению - спасибо! bguiz 10 лет назад 0
@tiagoc Не могли бы вы поделиться предложенным решением? gene_wood 8 лет назад 0

Похожие вопросы