現象:在Ubuntu登陸界面輸入password之后。黑屏一閃而且出現了check battery state之類的文字之后,又跳轉到登錄界面。
原因:主文件夾下的.Xauthority文件擁有者變成了root,從而以用戶登陸的時候無法都取.Xauthority文件。
說明:Xauthority,是startx腳本記錄文件。Xserver啟動時,讀文件~/.Xauthority,讀入相應其display的記錄。
當一個須要顯示的客戶程序啟動調用XOpenDisplay()也讀這個文 件。並把找到的magic code 發送給Xserver。
當Xserver驗證這個magic code正確以后,就允許連接啦。觀察startx腳本也能夠看到,每次startx執行,都在調用xinit曾經使用了xauth的add命令加入了一個新的記錄到~/.Xauthority。用來這次執行X使用認證
解決方法:我們須要將.Xauthority的擁有者改為登陸用戶(或者干脆將.Xauthority刪除,此法轉自網上,本人未驗證)
開機后在登陸界面按下shift + ctrl + F1進入tty命令行終端登陸后輸入:(本人的username為jason,因此chown后面跟了jason:jason若為其它username改動成相應的名稱就可以)
$ cd ~
$ sudo chown jason:jason .Xauthority
然后執行
ls .Xauthority -l
能夠看到Xauthority的擁有者已經變為改用戶。
此時擁有者已經變為用戶。
按下shift + ctrl + F7切換回圖形登陸界面登陸就可以。
