终端在打开后立即关闭

我最近重新启动,现在终端无法工作。 如果我单击终端快捷方式或使用Guakectrl-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 

这与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等。这称为无限循环。 最终,它吓坏了,崩溃了。

~/.profile删除source ~/.profile行应该将所有内容恢复正常。

对于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.