OS X имеет это. Идеально я хотел бы, чтобы перезагрузка появилась, как будто этого никогда не происходило от POV терминала (давайте проигнорируем удаленные сеансы и примите 0 фоновых процессов на данный момент). Значение, я хотел бы видеть stdin, stdout, stderr (т.е. scrollback) история на каждой из моих терминальных вкладок.
Примечание: Это не об истории удара. Это о сохранении терминальных сеансов между перезагрузками.
Нет, по крайней мере, в gnome-terminal
и другой VTE
- основанные эмуляторы это не возможно неявным и удобным способом.
(Можно, конечно, явно пройти все вкладки перед перезагрузкой, "Выбор Все" и вставка копии содержание в файлы, и просматривает те файлы с некоторым средством просмотра после перезагрузки. Если я понимаю Вас, это не то, что Вы ищете. Кроме того, цвета и другое форматирование были бы потеряны.)
VTE
, виджет эмуляции терминала позади gnome-terminal
и много других эмуляторов терминала хранят большую часть scrollback содержания (не последние биты, хотя) во временных файлах под /tmp
по умолчанию. Основные проектные решения, которые предотвращают выполнение, что Вы ищете:
Эти файлы являются несвязанными, прямо будучи созданным. Это - то, так, чтобы они были автоматически удалены (и дисковое пространство освобождено), даже если эмулятор терминала выходит грязно по любой причине. Для сохранения их они должны быть связаны назад с деревом файловой системы (я не знаю, возможно ли это), или скопированный в другой файл (который является медленным действием, если scrollback является большим, уже не говоря о надлежащей обработке потенциально исчерпывающий дисковое пространство).
Файлы находятся под /tmp
который вытерт многими дистрибутивами на перезагрузку. Должно быть выбрано другое, персистентное местоположение вместо этого, или некоторое сотрудничество необходимо со сценариями начальной загрузки.
Эти файлы шифруются (с VTE
версия 0.40) для преодоления проблемы конфиденциальности утечки данных в случае, если кто-то получает доступ к диску. Ключ шифрования только доступен в gnome-terminal
память. Для этих файлов для сохранения любой слой шифрования должен быть пропущен (возвращение старых проблем конфиденциальности), или ключи должны быть помещены на диск по крайней мере временно на время перезагрузки (... er, пока тот пользователь не входит в систему снова и запускает gnome-terminal
снова... не звучит слишком много лучше). Выполнимый, только если Вы не заботитесь о конфиденциальности, или если файловая система, как гарантируют, будет зашифрована.
Существуют другие меньшие проблемы, которые будут обращены также, например, сбрасывание неполных блоков этих файлов, которые содержат последние биты scrollback данных.
Я надеюсь, что мог обрисовать в общих чертах некоторые проектные решения VTE
взял, которые предотвращают выполнение, что Вы ищете. Я не вижу, как Ваш запрос мог быть обращен при хранении текущих целей дизайна также. Возможно, существует другой эмулятор терминала, который делает то, что Вы ищете, по-видимому, жертвуя частью из VTE
функции;Я не знаю.
Я предлагаю использовать очень полезное screen
инструмент. Это определенно стоит изучить. При повторении, таким образом, ответа я поставил другой вопрос:
Посмотрите в .screenrc, можно инициировать окна по умолчанию с пользовательской командой, таким образом, Вы могли восстановить сессии с помощью различных .screenrc файлов, если Вы хотите восстановить различные сессии. screen -t ....
См. Экранное Руководство gnu.org - файлы запуска
Один хороший способ наличия терминальных сеансов, которые сохраняются, состоит в том, чтобы выполнить 'экранную' сессию на сервере. 'Экранная' сессия дает Вам несколько окон на том сервере, где Вы можете быть зарегистрированы к другим машинам или что бы то ни было. У Вас может быть несколько 'экранных' сессий, работающих на сервере. Можно разъединиться и снова соединиться с сессиями, в которых Вы нуждаетесь. 'экран' является олдскульной клавиатурой командной строки, но определенно стоящий изучения и играть с изучить, как это работает. Это имеет несколько больших преимуществ:
Быстрый запуск экрана * *
Прочитайте руководство: экранное руководство пользователя gnu.org
* символ экрана ESCAPE по умолчанию является Ctrl-a *, если некоторый сумасшедший выполняющий мертвую петлю летчик не изменил его в .screenrc, например, "Escape ^Zz" для людей, которые не оценивают управление фоновой обработкой процесса. Для получения реального Ctrl-a к терминалу (goto начало строки) при выполнении на экране затем просто делают Ctrl-a Ctrl-a.
Полностью здесь по другому вопросу я вставил пример экранной страницы справки, использования командной строки и примера .screenrc:
Эмулятор терминала с “функцией” сессии восстановления как Терминал Mac