use*_*289 5 bash segmentation-fault
我最近重新启动,现在终端无法工作。如果我单击终端快捷方式或使用Guake
或ctrl-alt-T
,终端会在没有提示的情况下短暂打开,然后立即再次关闭。我也安装xterm
了,同样的事情发生了。
如果我ctrl-alt-F1
用来进入命令行会话并键入,gnome-terminal
我会收到错误消息:
Failed to parse arguments: Cannot open display
Run Code Online (Sandbox Code Playgroud)
我该如何诊断和解决这个问题?
编辑添加 .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
Run Code Online (Sandbox Code Playgroud)
编辑 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
Run Code Online (Sandbox Code Playgroud)
这与 无关gnome-terminal
,当您点击Ctrl Alt F1,从虚拟控制台登录并尝试运行时bash
,您得到了segmentation fault core dumped
,这意味着它bash
本身崩溃了。
无论如何,发生的事情是你的 bash 进入了一个无限循环。当bash
第一次启动时,它读取~/.bashrc
(实际上,这是一种简化,见此处了解详情)。在您的情况下(以及大多数(如果不是所有)Ubuntu 版本),由于.bashrc
我从未清楚的原因,默认值也是来源(阅读)~/.profile
。现在,您~/.profile
包括这一行:
source ~/.profile
Run Code Online (Sandbox Code Playgroud)
其结果是bash
读取~/.bashrc
=> 读取~/.profile
=> 读取~/.profile
=> 读取~/.profile
=> 读取~/.profile
等。这称为无限循环。最终,它吓坏了并崩溃了。
source ~/.profile
从您的线路中删除~/.profile
应该使一切恢复正常。
归档时间: |
|
查看次数: |
17823 次 |
最近记录: |