ubuntu忽然不能登錄,輸入密碼正確一直返回登錄界面


問題描述

由於配置eclipse命令啟動,我修改了 /etc/environment 文件的內容,用命令 shutdown -r -now 重啟后,輸入密碼正確一直返回登錄界面。

查了下網上資料:系統啟動先調用profile中的環境,后調用environment中的環境;在profile中設了和environment同名的環境時,profile要繼承environment環境,不然會引起environment中相關的環境失效,並且profile中的環境變量是有順序的,順序反了也會出問題。

也就是我修改的/etc/environment一定出了問題。

在VM下,怎么修改回來?網上找了半天,沒遇到具體的方法,花費了番功夫,終於嘗試解決了這個問題。

解決方案步驟

1、Ctrl + Alt + F1 進入命令行tty1

2、使用用戶名(我的是lsk)密碼登錄

3、使用完整的vi路徑命令: /usr/bin/vi   /etc/environment 進行 vi命令行模式 (command mode/一般模式)

4、輸入 i 進入文本輸入模式 (input mode/編輯模式)

5、干掉自己配置的語句

6、按 Esc 鍵 回到 命令行模式

7、輸入 : 進入末行模式 (last line mode/指令列命令模式)

8、輸入w ! /usr/bin/sudo tee %完成修改 (注意是:w空格!空格/usr/bin/sudo空格tee空格% ,因為 /etc/environment  是readonly,所以需要使用這個命令)

9、輸入 :q!退出vi,再輸入exit退出,按ctrl + alt + F7 重新進入桌面

 

注:在tty1下,使用cd命令是可以的,其他的類似ls/sudo/vi都要全路徑才行

 

附加:vi的三種模式

命令行模式 (command mode/一般模式)
  任何時候,不管用戶處於何種模式,只要按一下“ESC”鍵,即可使Vi進入命令行模式;我們在shell環境(提示符為$)下輸入啟動Vi命令,進入編輯器時,也是處於該模式下。
  在該模式下,用戶可以輸入各種合法的Vi命令,用於管理自己的文檔。此時從鍵盤上輸入的任何字符都被當做編輯命令來解釋,若輸入的字符是合法的Vi命令,則Vi在接受用戶命令之后完成相應的動作。但需注意的是,所輸入的命令並不在屏幕上顯示出來。若輸入的字符不是Vi的合法命令,Vi會響鈴報警。
 
文本輸入模式 (input mode/編輯模式)
  在命令模式下輸入插入命令i(insert)、附加命令a (append)、打開命令o(open)、修改命令c(change)、取代命令r或替換命令s都可以進入文本輸入模式。在該模式下,用戶輸入的任何字符都被Vi當做文件內容保存起來,並將其顯示在屏幕上。在文本輸入過程中,若想回到命令模式下,按"ESC"鍵即可。

末行模式 (last line mode/指令列命令模式)
  末行模式也稱ex轉義模式。
  Vi和Ex編輯器的功能是相同的,二者主要區別是用戶界面。在Vi中,命令通常是單個鍵,例如i、a、o等;而在Ex中,命令是以按回車鍵結束的正文行。Vi有一個專門的“轉義”命令,可訪問很多面向行的Ex命令。在命令模式下,用戶按“:”鍵即可進入末行模式下,此時Vi會在顯示窗口的最后一行(通常也是屏幕的最后一行)顯示一個“:”作為末行模式的提示符,等待用戶輸入命令。多數文件管理命令都是在此模式下執行的(如把編輯緩沖區的內容寫到文件中等)。末行命令執行完后,Vi自動回到命令模式。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM