1. 程式人生 > >Ubuntu解決執行startx命令後出現登陸密碼正確但無法進入桌面問題

Ubuntu解決執行startx命令後出現登陸密碼正確但無法進入桌面問題

所謂,檢驗真理的標準只能是社會實踐,理論與實踐的統一是馬克思主義的一個最基本的原則,所以今天在深入理解X Windows的時候,我在Ubuntu14.04系統沒有備份的情況下直接進行實踐,敲入了startx命令後重啟系統,然後電腦就黑屏了,但是指示燈還亮著,我強制重啟後,正常進入登陸頁面,輸入正確的密碼之後,無法進入桌面,仍然跳轉回登陸頁面。

後來我搜索了關於startx這個指令的具體作用,作出瞭如下操作:

ctrl+alt+f3  #切換到控制檯
cd ~        #根目錄
rm -rf .Xaut*
ctrl+alt+f7  #返回登陸頁面,可以正常登陸

為什麼會進不去呢?首先要知道,ubuntu 的登陸器是lightdm,當時我在終端輸入

sudo service lightdm start

發現ubuntu反饋說:

lightdfm has already been started

我就奇怪了,明明進不去為何是已經開啟了呢?應該就是startx在發揮作用了,startx 是用來啟動X windows服務的,在tty執行startx的時候會生成一個檔案,這個是script檔案,主要負責載入和設定一些環境變數,最後執行xinit程式,而xinit程式是真正的x windows啟動程式。在startx執行過程中,不會經過gdm步驟,也就是沒有了語系的定義,自然也就不會有gdmgreeter的登陸視窗介面,從而直接startx後是不需要輸入使用者名稱和密碼的。具體更深層的原理還在探索中。

然而,就搞(理解)這個,一個工作日又過去了