您的位置:首页 > 其它

Ubuntu12.04 不能启动,显示 "Could not write bytes: broken pipe"

2017-06-16 10:52 525 查看
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文件,写入相应内容,例如JAVA_HOME。
 
出现本案例所描述的问题的原因一般是修改了:/etc/enviroment并且出现了一些错误,导致启动异常。
这有可能是:在修改的时候出现了一些逻辑上的错误包括打错字之类的;也有可能是修改的环境变量(如PATH)导致一些系统需要的程序被自定义的替代了。

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

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

因为无法登录图形界面所以需要切换登陆模式,使用快捷键:ctrl+alt+f1(ubuntu12.04) 或 ctrl+shift+alt+f1

若登录成功后还是无法使用vi、sudo等命令,出错提示:The command count not be located because '/bin' is not included in the PATH
是由于没有加载到/usr/bin/下的命令,所以要执行export操作:export PATH=/usr/bin/:$PATH
这个时候,就可以sudo vi /etc/enviroment 和 sudo vi /etc/proflie了。

本案例也会出现类似 “Checking battery state” 提示信息。
进入命令行登录模式后:
sudo apt-get install gdm
sudo dpkg-reconfigure gdm  
重新选择显示器,从GDM到LightDM,选lightdm模式,重启即可。
如果已经安装刚 sudo /etc/init.d/lightdm restart 切换即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息