linux下誤操作startx命令後無法登錄


title: linux下誤操作startx命令後無法登錄
date: 2017-06-03 19:30:19
updated: 2020-03-12 18:44:12
categories: linux
tags:
- linux


問題描述

由於誤操作了startx命令,導致輸入正確地用戶名和密碼後無法進入系統,無限循環在登錄界面。

分析原因

stratx 命令:用來啓動X windows服務的。在Ubuntu下慎用,原理還不是很清楚,運行後在/home目錄下自動生成.Xauthority 目錄,導致出現上面的問題。

進不去的原因:在tty執行startx會生成的一個文件,ubuntu的登陸器是lightdm,這個登陸器發現你家目錄裏有這個文件就會死循環,讓你無限輸入密碼。原來是之前誤操作startx(在環境配置的某一步,手殘敲了一個startx)之後,主目錄下的.Xauthority文件的擁有者變成了root,從而用戶在登錄的時候,無法讀取.Xauthority文件,就會報timeout錯誤。

具體細節:Xauthority,是startx腳本記錄文件。Xserver啓動時,讀文件~/.Xauthority,讀入對應其display的記錄。當一個需要顯示的客戶程序啓動調用XOpenDisplay()也讀這個文 件,並把找到的magic code 發送給Xserver。 當Xserver驗證這個magic code正確以後,就同意連接啦。觀察startx腳本也可以看到,每次startx運行,都在調用xinit以前使用了xauth的add命令添加了一個新的記錄到~/.Xauthority,用來這次運行X使用認證

解決辦法

1,在登錄界面按Ctrl+Alt+F3 切換到控制檯登陸,這裏要登錄普通用戶,而不是root

2,命令:cd~

3,命令:rm -rf .Xaut* #注意空格大小寫rm_-rf_.Xaut*

4,最後:按Ctrl+Alt+F7回到登陸界面,輸入密碼正常登陸。

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