我最近重新启动了,现在终端无法工作。如果我单击终端快捷方式或使用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
答案1
这与 无关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
应该可以使一切恢复正常。
答案2
对于 mayank
“从您的 ~/.profile 中删除源 ~/.profile 行”意味着仅搜索文件 ~/.bash_profile、~/.profile、~./bashrc、~/bash_login、/etc/bash.bashrc 和 /etc/profile(如注释中所述),打开它们并删除以下行:
source ~/.profile
或者
#[[ -s "$HOME/.profile" ]] && source "$HOME/.profile
仅供参考:“~”不是一个奇怪的符号,它只是表示您的主目录。所以它基本上是 .profile 文件的路径。
Its HOME_DIRECTORY/.profile.