ubuntu重启后无法进入桌面且所有命令无法执行的问题

现象

在登录界面输入密码后,桌面出现黑屏终端后又快速回到登录界面,按ctrl+alt+f1进入tty后只能执行cd、pwd命令,其他命令(如ls,sudo)均无法执行,提示信息是找不到命令(并且我装的中文系统,在tty的提示信息还是一堆乱码,问题解决后果断改为英文)。

问题定位

进不了桌面也执行不了命令,系统基本算是废了,要是重装系统的话,之前辛辛苦苦搭的开发环境又得重新来,实在太麻烦。仔细想想重启前都干了什么,有个关键操作是我改了系统的环境变量,但系统目前的情况是无法查看改了什么,哪里改错了。想到一个办法就是插入ubuntu系统光盘(我是用u盘制作的启动盘)启动后可以直接试用ubuntu系统。通过这个方式进入系统后,查看原系统下的/etc/profile文件,发现加了下面两句:

export ANDROID_HOME=/home/ichangmao/software/android/android-sdk-linux
export PATH=$PATHANDROID_HOME/platform-tools

这是我为了方便试用adb所以加的这个环境变量,但是不小心加错,并且所有PATH都无效了,当然所有命令都无法执行。

解决方案

就是一个低级错误啊,写下来也许对有的同学有用。解决方法就是用ubuntu系统光盘或U盘进入系统(类似于windows pe),将PATH修改正确,然后重启就OK了。

export ANDROID_HOME=/home/ichangmao/software/android/android-sdk-linux
export PATH=$PATH:$ANDROID_HOME/platform-tools

意思就是修改PATH时需要用原来的PATH加上新的PATH,不要直接覆盖PATH变量(其中的英文冒号类似windows下添加环境变量时的分号)

其他问题

网上查资料无法进入桌面的问题有的是因为/home/user/.Xauthority文件的权限被修改(拥有者被改为别的用户),如果是这个原因,可在登录界面按ctrl+alt+f1进入tty,登录后执行下面的命令将这个文件指给自己就可以了:

sudo chown user  /home/user/.Xauthority

注意将user替换为自己的用户名。

2015.4.13 补充

因为PATH被覆盖不能执行命令时,可以在命令前加上/bin/sh,如:

/bin/sh ls

我们可以通过这个方法在tty中将环境变量PATH改回来,再重启电脑即可。

/bin/sh sudo vi /etc/profile

你可能感兴趣的:(os)