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

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/lightdmrestart 切换即可。

相关文章

目录前言一、创建Hadoop用户二、更新apt和安装Vim编辑器三、...
原文连接:https://www.cnblogs.com/yasmi/p/5192694.html ...
电脑重启后,打开VirtualBox,发现一直用的虚拟机莫名的消失...
参见:https://blog.csdn.net/weixin_38883338/article/deta...
Ubuntu 18.04 LTS 已切换到 Netplan 来配置网络接口。Netpla...
介绍每个 Web 服务都可以通过特定的 URL 在 Internet 上访问...