ubuntu無法登錄解決

昨天晚上ubuntu突然無法登錄了,百度了一下,說是path路徑的問題,因爲ubuntu進入桌面首先要讀取path環境變量,在ubuntu中設置環境變量的地方有兩個,一個是/etc/environment,一個是/etc/profile,前者是設置系統變量,後者是設置用戶變量(可能是這樣),我想了一想,在出現這個問題之前,我在/etc/profile中配置了jdk和android的環境變量,可能是因此而出問題了。


由於進不去桌面,所以我在登錄界面按ctrl+alt+f1進入命令的界面,輸入用戶名和密碼,想要查看profile文件

cat /etc/profile

由於path出問題,所以cat這些命令調用的程序都要自己手動指定路徑

/bin/cat /etc/profile


幸好ubuntu能夠自動提示命令所在的路徑,不然對於我這個新手,找到cat命令的路徑還要費一番功夫

打開了profile後

代碼:

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

if [ "$PS1" ]; then
  if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then
    # The file bash.bashrc already sets the default PS1.
    # PS1='\h:\w\$ '
    if [ -f /etc/bash.bashrc ]; then
      . /etc/bash.bashrc
    fi
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi

# The default umask is now handled by pam_umask.
# See pam_umask(8) and /etc/login.defs.

if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi

#set java environment    
  
# 注意bestupon 要替換成你的用戶名   
  
JAVA_HOME=/opt/jdk1.7.0_45
  
export JRE_HOME=/opt/jdk1.7.0_45/jre   
  
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH   
  
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH 
#set java environment

export PATH=~/bin:$PATH

export PATH=~/java/android-sdk-linux/platform-tools



問題就出在了最後一句,export命令是設置path用的,而這最後一句相當於是給PATH重新賦值,而不是追加PATH

,系統用到PATH變量中的其他路徑被覆蓋,所以無法登錄

把最後一句改成:

export PATH=~/java/android-sdk-linux/platform-tools:$PATH


就可以了

在bash中可以使用vi來編輯,由於我對vi使用的不熟悉,所以編輯這段代碼用了好長時間,呵呵,vi是linux所有發行版本自帶的,所以要好好學習啊


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章