Ubuntu 12.04 出现“Could not write bytes: broken pipe”原因与解决

根据我的实际经验和网上搜索到的一些信息,出现这个问题的原因一般是修改了:/etc/enviroment 并且出现了一些错误,导致启动异常。

这有可能是:在修改的时候出现了一些逻辑上的错误包括打错字之类的;也有可能是修改的环境变量(如PATH)导致一些系统需要的程序被自定义的替代了。


我在将/etc/enviroment文件中我添加的东西删除掉之后,一切正常。

所以如果要加入或修改环境变量,还是在~/profile或者/etc/profile(/etc/profile.d/)中进行修改吧,详见

 

 

搞清楚Linux下各种环境变量脚本的启动顺序,对于用好Linux,解决各种奇怪的找不着依赖文件的错误有很大的帮助。

Ubuntu下启动的时候的的加载环境变量的过程大致为:

/etc/enviroment

/etc/profile

  -->/etc/bash.bashrc

  --> /etc/profile

    -->/etc/profile.d/ 下的所有.sh文件

~/.profile (或~/.bash_profile 或 ~/.bash_login)

  -->~/.bashrc (如果运行bash才运行)

    -->~/.bash_aliases

    -->/etc/bash_completion


其中前两个是系统环境变量,最后一个是当前用户的局部环境变量。


/etc/enviroment 在系统一些核心组件加载完成后最先调用,很多外围的程序都依赖它运行,如果这里面出现了什么问题,那么很可能导致系统无法正常启动。相当于是系统级别的公共环境变量

/etc/profile 在启动登陆环境时被首先执行。相当于是应用级的公共环境变量

~/.profile在shell被打开时,次于/etc/profile执行。相当于是应用级的用户环境变量


注意~/.profile是在打开shell时执行的,也就是说如果在它或者它会调用的脚本(一般是.bashrc)里面配置的环境变量,在图形界面下是无效的!

如果想要配置在图形界面下依然有效的环境变量,可以放在/etc/prfile.d/下建立一个.sh文件,写入相应内容,例如给eclipse使用的JAVA_HOME。

 

 

 

could not write bytes: Broken pipe解决

标签: UbuntuBroken pipe
分类:
Ubuntu (6) Linux (4)

系统:Ubuntu 12.04 64bit

现象:昨天装了几款软件(QT4,以及几款软件更新),今天再开机,没等进入登录界面就黑屏显示“could not write bytes: Broken pipe”

解决:

1. 开机按“Ctrl + Alt + F1”,进入命令行模式,并登录

2. 输入ls,发现环境变量没有问题。(若环境变量有问题,请参考其他资料)

3. 执行startx。提示“.../usr/bin/X:No such file or directory”

4. 执行sudo apt-get install xserver-xorg

5. 重启即可


评论:搜索大部分出现Broken pipe问题的都是ubuntu 64bit版本,真是。。。!!而且多数的问题都是用户在配置了错误的环境变量导致的,但是解决我遇到问题的是上面这种情况,贴出以供大家参考!

转载于:https://www.cnblogs.com/Dennis-mi/articles/5135251.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值