Позволит ли какой-либо (недавний) эмулятор терминала Linux сохранить мою сессию (вкладки, историю и т. Д.)?
2839
srking
Со временем я стал инвестировать в свои терминальные сеансы: вкладки, историю команд, расположение окон и заголовок и т. Д. В конце концов, перезагрузка требует, чтобы я начал все сначала, что тратит мое время.
Два эмулятора терминала, с которыми я знаком, имели, по крайней мере, частичную возможность, но функциональность с тех пор была удалена: konsole потеряла эту функциональность где-то на пути к KDE4. gnome-terminal потерял опцию --save-config как «устаревшую» где-то до версии 3.10.2, то есть ответ здесь больше не применим: сохранить несколько макетов gnome-терминала?
Я хочу захватить текущее состояние всех терминальных сеансов и восстановить их после перезагрузки. Сценарий решения будет хорошо, если он не требует ручного обновления для отслеживания изменений сеанса.
Определите «состояние». Например, если вы читаете файл с помощью «less», хотите ли вы, чтобы тот же файл запоминался при следующем открытии терминала, или вы просто хотите, чтобы были настроены вкладки / панели и запущены соответствующие программы? Будет ли что-то вроде моего [ответа здесь] (http://superuser.com/a/610048/151431) работать для вас?
terdon 10 лет назад
1
Состояние означает: окна, вкладки, историю команд, расположение окон, заголовки окон и вкладок. Мне не нужно сохранять состояние для произвольных процессов, запущенных в терминальной сессии, например, «меньше». Даже bash нуждается в некотором уговоре, так как история команд не сохраняется в каждом случае без некоторых хитростей. Я проверю вашу ссылку. Самым близким, что я нашел, являются закладки Konsole.
srking 10 лет назад
1
В этом случае `terminator` может сделать это, как я объяснил в ссылке, которую я дал в моем предыдущем комментарии. Дайте мне знать, если вам нужно что-то еще, и я настрою это соответствующим образом и отправлю здесь новый ответ. Если нет, я буду голосовать, чтобы закрыть это как дубликат.
terdon 10 лет назад
0
@terdon, спасибо, я рад узнать о терминаторе. После краткого эксперимента у меня есть недостатки: (1) не сохраняет историю bash для каждой оболочки и (2) не может переименовывать вкладки? Я подозреваю, что не могу делать то, что я хочу, не катя некоторые хрупкие сценарии.
srking 10 лет назад
1
1) Ничто не спасет историю bash на оболочку. Это работает не так, это зависит не от эмулятора терминала, а от функции «history» самого bash. Как это будет работать? Хотели бы вы, чтобы команда `history` выдала разные выходные данные на каждой отдельной панели? Если так, то нет. 2) Да, он не называет их. Вы могли бы что-то решить с помощью `echo -ne" \ 033] 0; FOO \ 007 ", который бы устанавливал заголовок на` FOO`, но я не думаю, что сам терминатор может сделать это (эта команда не зависит от терминала, это bashism. Подробнее см. здесь [http://tldp.org/HOWTO/Xterm-Title-4.html)).
terdon 10 лет назад
0
@terdon: Да, bash-isms необходимы для сохранения / восстановления истории, но это может работать, когда каждая оболочка bash имеет свой уникальный HISTFILE. В этом отношении может помочь программа терминала, позволяющая запускать команды настройки истории при запуске. Похоже, что Terminator позволяет запускать каждую оболочку, но это трудоемкий процесс для начинающих пользователей. Консервированное решение, управляемое через графический интерфейс, было бы идеальным.
srking 10 лет назад
1
Ах, да, я понимаю, что вы имеете в виду. Вам придется `экспортировать HISTFILE = 'foo'` для каждой вкладки. Извините, понятия не имею о способе графического интерфейса, мне никогда не нужно было этого делать. Если через некоторое время вы не получите здесь никаких полезных ответов, отметьте их как мод и попросите их перейти на [unix.se]. Возможно, вам повезет больше. Убедитесь, что вы включили пояснения, которые вы дали в комментариях о том, что именно вам нужно.
terdon 10 лет назад
0
Я искал именно это целую вечность. У меня точно такая же проблема, как и у OP - у меня 20-30 вкладок в течение нескольких месяцев, затем я должен перезагрузиться, и я не хочу тратить впустую все вкладки, отдельную историю, подсказки пути и т. Д. Но я думаю, это то, что открыто -source, мы можем взять Terminator и добавить материал HISTFILE для каждой вкладки :)
BjornW 10 лет назад
0
3 ответа на вопрос
1
sgp667
this isn't exactly what you asked for but tmux has such capabilities.
Just make sure to install the tmux-resurrect plugin along with it, which allows for restoring the tmux environment (windows, splits, and certain running programs) after a restart.
Я также использовал конфигурационный файл ssh, чтобы отразить определенные параметры SSH хоста. Конечно, если вам нужно исключение, просто передайте параметры в SSH в скрипте gnome-Terminal, который будет иметь приоритет над файлом конфигурации SSH.
Для запуска простых команд, таких как «ssh machine», вам не нужно запускать оболочку (sh -c). Он необходим для выполнения перенаправлений и конвейерной обработки, расширения с использованием подстановочных знаков, условий и т. Д., Но не для выполнения простых команд.
Raúl Salinas-Monteagudo 10 лет назад
0