Como abrir um terminal limpo no Mac OS X Lion?


10

Sempre que abro um terminal, os últimos comandos usados ​​são exibidos.

Gostaria de obter um terminal limpo quando o abrisse, mas não encontrei como fazê-lo.

Por exemplo, se enquanto estiver usando o terminal, eu faço:

defaults write com.apple.Finder...etc

e depois fecho o terminal. Da próxima vez que abrir o terminal, verei essa mesma linha acinzentada (para indicar que é um comando que usei na última vez que abri o terminal) e uma linha para começar a escrever embaixo.


Você pode dar um exemplo do que vê quando abre o terminal?
slhck 26/07

Eu fiz um alias clearpara um comando de limpeza de janela de saída adequado na minha máquina. Procurará em seis horas, a menos que outra pessoa responda antes disso.
Daniel Beck

@ Daniel Eu realmente aprecio isso, obrigado!
Proxify

Respostas:


4

Adicione o seguinte no final de .bash_profile:

printf '\033c'

Isso realmente limpará o terminal. Até defini a seguinte função, pois não gostei do comportamento de rolagem do padrão clear:

function clear {
    printf '\033c'
}

Eu acho que é o mesmo que um hard reset do Terminal ( Cmd-Opt-R), mas não tenho certeza.


essa não é a resposta - o Lion restaura as janelas da sessão anterior do Terminal. O que você precisa fazer é desativar o Currículo no Terminal, como Josh diz abaixo. Além disso, você precisa aprender a fechar as janelas que não está mais usando antes de sair do aplicativo no Lion.
W00t

1
@ w00t Bem, acho que você está entendendo a pergunta de maneira diferente de mim. O usuário está preocupado apenas com as linhas cinzas relacionadas à sua sessão anterior; em nenhum lugar as janelas são realmente mencionadas. As sessões também são novas; que é facilmente visível quando você está em cdalgum lugar e depois fecha e reabre o Terminal. Existem apenas as linhas cinzas do final da sessão anterior. Entre a minha resposta e a dos outros, ele certamente pode encontrar uma solução para o seu problema, qualquer que seja a interpretação correta. A propósito, minha resposta tem a marca de seleção, embora não tenha sido a primeira, então não pode ser tão ruim assim.
Daniel Beck

ESC cé "Redefinição total (RIS)", que é igual a Shell> Enviar redefinição total; no entanto, isso apenas limpa a tela e redefine o estado do terminal. Não limpa a rolagem. Se tudo que o Proxify estiver procurando for uma maneira de limpar a tela, basta usar o clearcomando normal (não a clearfunção fornecida nesta resposta). Caso contrário, ESC cé insuficiente e executa uma redefinição de terminal completamente desnecessária.
31568 Chris Page

@ ChrisPage Eu poderia jurar que também limpou a rolagem. Você ainda tem um sistema 10.6? Quando publiquei isso, eu ainda estava no Snow Leopard. No Lion, não faz diferença, assim como você escreveu.
Daniel Beck

@DanielBeck Antes da versão 10.7, a sequência de escape Apagar na Tela (ED) (ESC [… J) só podia limpar a tela, não a rolagem. A partir da versão 10.7, o Terminal suporta a variante xterm ED que limpa a rolagem: ESC [3 J invisible-island.net/xterm/ctlseqs/ctlseqs.html
Chris Page


9

O recurso de retomada da janela do Lion é definido por aplicativo. Você pode parar isso no Terminal com o seguinte comando:

defaults write com.apple.Terminal NSQuitAlwaysKeepsWindows -bool false

Como você está editando as configurações do Terminal enquanto o Terminal está aberto, será necessário fechar e reiniciar o Terminal duas vezes antes de ver o efeito.


Esta deve ser a resposta na minha opinião. Isso define os padrões para todo o Mac OS X.
KVISH

7

Comando-K limpa o Scrollback.


Esta é a solução mais simples e melhor para apenas uma limpeza permanente para algumas janelas, mas não uma desativação permanente do recurso.
Simone Manganelli

1

Eu acho que o que você quer não é brincar com soluções alternativas, mas você quer saber onde está armazenado no disco o "texto em cinza" que você vê no Terminal e removê-lo.

Este texto é armazenado aqui: ~ / Library / Saved Application State / com.apple.Terminal.savedState.

Remova a pasta e você será feliz.


0

Uma solução: exporte TERMcom um valor razoável como "xterm" e coloque o clearcomando na última linha do seu arquivo ~/.bash_profile. Outras soluções podem ser criadas.


2
clearnão limpa o terminal, apenas rola a página para baixo.
Daniel Beck

@DanielBeck clearlimpa a tela do terminal. Em alguns casos, isso é feito movendo o conteúdo da tela para a rolagem (mas nem sempre, por exemplo, quando a tela alternativa é selecionada).
Chris Page

Não é necessário modificar o valor de TERM, a menos que ele já tenha sido modificado do padrão. Por padrão, o Terminal define TERM como xterm-color (versões anteriores à 10.7) ou xterm-256color (Lion 10.7 e posterior), ambos compatíveis clear.
31568 Chris Page

@ChrisPage Com que frequência ocorre ao iniciar o Terminal?
Daniel Beck

@DanielBeck Não entendi sua pergunta. A menos que o usuário tenha personalizado a configuração de preferência "Declarar terminal como" para alterar o valor para o qual Terminal define TERM, será o padrão xterm-256color (ou xterm-color anterior a 10.7). O terminal sempre define TERM como o valor "Declarar terminal como" ao criar uma sessão de terminal.
Chris Page
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.