Есть ли способ, чтобы Terminal on Lion запускался чисто (без буферизованной истории)?

13

Как я могу запретить Терминалу показывать мой старый вывод при запуске?

Я бы хотел, чтобы это всегда начиналось с чистого окна.

guidoism
источник

Ответы:

13

Вы можете изменить терминал только с помощью этой одной команды, чтобы написать новое предпочтение для этого конкретного приложения.

defaults write com.apple.terminal NSQuitAlwaysKeepsWindows -bool false

Это, как правило, замена safari или quicktimeplayerX или чего-либо другого в той com.apple.terminalчасти команды, которая вам нужна. Этот параметр переключает поведение сохранения по умолчанию при выходе из этого приложения. Вы найдете множество других приложений, которые хорошо работают с этим параметром, выполнив поиск по NSQuitAlwaysKeepsWindows .

Конечно, вы должны выполнить эту defaultsкоманду после закрытия всех окон и затем выхода из приложения, чтобы убедиться, что настройки читаются при следующем запуске Терминала.

bmike
источник
Вы также можете закрыть все окна при выходе. Иногда мне нравится, чтобы это было чисто. Иногда мне нравится сохранять старый результат.
Багамат
5

Помимо установки предпочтения всегда подавлять Возобновление, вы также можете управлять этим при выходе, нажимая клавишу модификатора Option, так что «Выход…» становится «Выход и Отмена Windows». Например, вы можете набрать Option-Command-Q, чтобы выйти без сохранения состояния. Вы также можете нажать модификатор Shift при открытии приложения, чтобы предотвратить восстановление состояния для возобновления.

Существует также предпочтение терминала (без пользовательского интерфейса) для управления количеством строк прокрутки для восстановления, которое можно установить на ноль, хотя оно по-прежнему восстанавливает содержимое дисплея:

defaults write com.apple.Terminal RestoreScrollbackLines 0
Крис Пейдж
источник
0

Кажется, есть один случай, когда отключение NSQuitAlwaysKeepsWindowsне работает: когда терминал уничтожен killall Terminal, и, вероятно, также, когда он выходит из строя или когда он принудительно завершается.

Я использую killall Terminalрегулярно, но когда возобновляется возобновление работы, это портит мою историю Bash. В основном, команды из сеанса после возобновления не будут сохранены. Нормальное поведение при сохранении восстанавливается только после того, как я закрываю и снова открываю Terminal.app. Похоже, однако, что полное отключение любых функций резюме исправляет историю bash:

chmod a-rwx ~/Library/Saved\ Application\ State/com.apple.Terminal.savedState

Благодаря ответу willWorkForCookies на Как запретить одному приложению сохранять / восстанавливать любое сохраненное состояние .

маш
источник
-3

На самом деле вы можете деактивировать «состояние сохранения» для каждого приложения, посмотрите https://faqintosh.com/risorse/en/sys/swapsaveability/

НТН

Марко Балестра
источник
1
Добро пожаловать в Apple! Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить сюда основные части ответа и предоставить ссылку для справки.
daviesgeek
-5

Единственный способ сделать это - полностью отключить функцию возобновления в Lion.

http://www.macrumors.com/2011/07/20/how-to-disable-lions-resume-feature/

radge
источник
7
Это работает, но это излишне, поскольку defaults write com.apple.terminal NSQuitAlwaysKeepsWindows -bool falseотменит это поведение только на терминале.
bmike