Запуск bash делает "сбой ядра сегментации"

Я недавно перезагрузился, и теперь терминал не работает. Если я нажму ярлык терминала или использовать Guake или же ctrl-alt-T, терминал открывается на короткое время без запроса, затем сразу же снова закрывается. Я установил xterm так же и происходит то же самое.

Если я использую ctrl-alt-F1 чтобы добраться до сеанса командной строки и введите gnome-terminal Я получаю сообщение об ошибке:

Failed to parse arguments: Cannot open display

Как я могу диагностировать и исправить это?

РЕДАКТИРОВАТЬ ДОБАВИТЬ .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

РЕДАКТИРОВАТЬ 2- добавление .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

2 ответа

Решение

Это не имеет ничего общего с gnome-terminal, когда вы нажмете Ctrl Alt F1, войдите в систему с виртуальной консоли и попытайтесь запустить bashВы получили segmentation fault core dumped Который означает, что bash сам вылетает.

В любом случае, ваш bash входит в бесконечный цикл. когда bash сначала начинается, он читает ~/.bashrc (на самом деле, это упрощение, подробнее см. здесь). В вашем случае (и в большинстве, если не во всех версиях Ubuntu), по умолчанию .bashrcпо причинам, которые мне никогда не были понятны, источники (читает) ~/.profile также. Теперь ваш ~/.profile включает в себя эту строку:

source ~/.profile

Результатом этого является то, что bash читает ~/.bashrc => читает ~/.profile => читает ~/.profile => читает ~/.profile => читает ~/.profile и т.д. Это называется бесконечной петлей. В конце концов, он волнуется и падает.

Удаление source ~/.profile линия от вашего ~/.profile следует вернуть все в нормальное состояние.

Для майянка

"Удаление строки ~ /.profile из вашего ~/.profile" означает просто поиск файлов ~/.bash_profile, ~/.profile, ~./ Bashrc, ~/bash_login, /etc/bash.bashrc и / etc / профиль (как указано в комментарии), открывая их и удаляя строку:

source ~/.profile

или же

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

К вашему сведению: "~" - это не странный символ, а просто домашний каталог. так что это в основном путь к файлу.profile.

Its HOME_DIRECTORY/.profile.
Другие вопросы по тегам