Как открыть чистый терминал в Mac OS X Lion?

10

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

Я хотел бы получить чистый терминал, когда я открою его, но я не нашел, как это сделать.

Например, если во время использования терминала я делаю:

defaults write com.apple.Finder...etc

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

Proxify
источник
Можете ли вы привести пример того, что вы видите, когда открываете терминал?
Slhck
Я clearустановил псевдоним для правильной команды очистки окна вывода на моей машине. Посмотрит это примерно через шесть часов, если кто-то еще не даст ответ до этого.
Даниэль Бек
@ Даниил Я бы очень признателен, спасибо!
Прокси

Ответы:

4

Добавьте следующее в самом конце .bash_profile:

printf '\033c'

Это действительно очистит терминал. Я даже определил следующую функцию, поскольку мне не нравилось поведение прокрутки по умолчанию clear:

function clear {
    printf '\033c'
}

Я думаю, что это то же самое, что полный сброс терминала ( Cmd-Opt-R), но я не совсем уверен.

Даниэль Бек
источник
это не ответ, хотя - Лев восстанавливает окна из предыдущего сеанса терминала. Что вам нужно сделать, это отключить Resume для терминала, как Джош говорит ниже. Кроме того, вам нужно научиться закрывать окна, которые вы больше не используете, прежде чем выходить из приложения в Lion.
w00t
1
@ w00t Ну, я думаю, ты понимаешь вопрос иначе, чем я. Пользователь обеспокоен только серыми линиями, относящимися к его предыдущему сеансу; нигде не упоминаются окна. Сессии также являются новыми; который легко увидеть, когда он cdгде-то находится, затем закрывает и снова открывает Терминал. Там только серые линии с конца предыдущего сеанса. Между моим ответом и ответом других, он, безусловно, может найти решение своей проблемы, какой бы интерпретацией она ни была. Кстати, мой ответ имеет галочки, хотя он не был первым, поэтому он не может быть , что плохо.
Даниэль Бек
ESC c«Полный сброс (RIS)», то же самое, что Shell> Send Hard Reset; однако это просто очищает дисплей и сбрасывает состояние терминала. Это не очищает прокрутку. Если все, что ищет Proxify, это способ очистки экрана, просто используйте обычную clearкоманду (а не clearфункцию, приведенную в этом ответе). В противном случае этого ESC cнедостаточно, и выполняется совершенно ненужный сброс терминала.
Крис Пейдж
@ChrisPage Я мог бы поклясться, что он очистил прокрутку тоже. У вас все еще есть система 10.6? Когда я опубликовал это, я все еще был на Snow Leopard. На Льве это не имеет значения, как ты написал.
Даниэль Бек
@DanielBeck До 10.7 escape-последовательность Erase in Display (ED) (ESC [… J) могла очищать только экран, но не прокрутку. Начиная с версии 10.7, Terminal поддерживает вариант xterm ED, который очищает прокрутку: ESC [3 J invisible-island.net/xterm/ctlseqs/ctlseqs.html
Chris Page
9

Функция возобновления работы окна Lion устанавливается в зависимости от приложения. Вы можете остановить это в Терминале с помощью следующей команды:

defaults write com.apple.Terminal NSQuitAlwaysKeepsWindows -bool false

Поскольку вы редактируете настройки терминала, когда терминал открыт, вам нужно будет дважды закрыть и перезапустить терминал, чтобы увидеть эффект.

Джош Чешир
источник
Это должно быть ответом на мой взгляд. Это устанавливает значения по умолчанию для всех Mac OS X.
KVISH
7

Command-K очищает прокрутку.

ARG
источник
Это самое простое и лучшее решение для постоянного удаления нескольких окон, но не для постоянного отключения этой функции.
Симона Манганелли
1

Я думаю, что вы хотите не играть с обходными путями, но вы хотите знать, где хранится на диске «серый текст», который вы видите в Терминале, и удалить его.

Этот текст хранится здесь: ~ / Library / Saved Application State / com.apple.Terminal.savedState.

Удалите папку, и вы будете счастливы.

Бог
источник
0

Одно из решений: экспортируйте TERMс разумным значением, таким как «xterm», и поместите clearкоманду в последнюю строку ~/.bash_profile. Другие решения могут быть разработаны.

Терри Гарднер
источник
2
clearне очищает терминал, он только прокручивает страницу вниз.
Даниэль Бек
@DanielBeck clearочищает дисплей терминала. В некоторых случаях это происходит путем перемещения содержимого экрана в прокрутку (но не всегда, например, когда выбран альтернативный экран).
Крис Пейдж
Нет необходимости изменять значение TERM, если оно не было изменено по умолчанию. По умолчанию Терминал устанавливает для TERM значение xterm-color (версии до 10.7) или xterm-256color (Lion 10.7 и выше), которые оба поддерживают clear.
Крис Пейдж
@ChrisPage Как часто это происходит при запуске Терминала?
Даниэль Бек
@DanielBeck Я не понимаю твой вопрос. Если пользователь не настроил параметр предпочтения «Объявить терминал как», чтобы изменить значение, которое Терминал устанавливает в TERM, это будет значение по умолчанию, xterm-256color (или xterm-color до 10.7). Терминал всегда устанавливает TERM в значение «Объявление терминала как» при создании сеанса терминала.
Крис Пейдж