terminal fecha imediatamente após abrir

5

Eu reiniciei recentemente e agora o terminal não funciona. Se eu clicar no atalho do terminal ou usar Guake ou ctrl-alt-T , o terminal abrirá rapidamente sem prompt e, em seguida, fechará imediatamente. Eu instalei xterm e a mesma coisa acontece.

Se eu usar ctrl-alt-F1 para chegar a uma sessão de linha de comando e digitar gnome-terminal , recebo a mensagem de erro:

Failed to parse arguments: Cannot open display

Como posso diagnosticar e corrigir isso?

EDITAR PARA ADICIONAR .bashrc

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting

[[ -s "$HOME/.profile" ]] && source "$HOME/.profile"

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

### Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"
alias zf=/home/julio/ZendFramework-1.12.3/bin/zf.sh

EDIT 2-- adicionando .profile :

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

export SCALA_HOME=/usr/share/scala
export PATH=$PATH:$SCALA_HOME/bin
source ~/.profile
    
por user101289 11.03.2014 / 00:22

2 respostas

8

Isso não tem nada a ver com gnome-terminal , quando você pressiona Ctrl Alt F1 , logado a partir do console virtual e tentou rodar bash , você tem um segmentation fault core dumped , o que significa que bash falha.

De qualquer forma, o que está acontecendo é que o seu bash está entrando em um loop infinito. Quando bash é iniciado, ele lê ~/.bashrc (na verdade, isso é uma simplificação, consulte aqui para saber mais detalhes). No seu caso (e na maioria, senão em todas as versões do Ubuntu), o padrão .bashrc , por motivos que nunca foram claros para mim, também gera (lê) ~/.profile . Agora, seu ~/.profile inclui esta linha:

source ~/.profile

O resultado disso é que bash~/.bashrc = > lê ~/.profile = > lê ~/.profile = > lê ~/.profile = > lê ~/.profile etc. Isso é chamado de loop infinito. Eventualmente, ele enlouquece e falha.

Remover a linha source ~/.profile do seu ~/.profile deve definir tudo de volta ao normal.

    
por terdon 11.03.2014 / 01:50
0

Para o mayank

"Remover a linha source ~ / .profile do seu ~ / .profile" significa apenas procurar pelos arquivos ~ / .bash_profile, ~ / .profile, ~. / bashrc, ~ / bash_login, /etc/bash.bashrc e / etc / profile (como mencionado no comentário), abrindo-os e removendo a linha:

source ~/.profile

ou

#[[ -s "$HOME/.profile" ]] && source "$HOME/.profile     

FYI: '~' não é um símbolo estranho, apenas significa seu diretório pessoal. então é basicamente o caminho do arquivo .profile.

Its HOME_DIRECTORY/.profile.
    
por Rahul Bhojwani 09.06.2014 / 09:14