1. 程式人生 > >ubuntu輸入密碼登入後閃一下,無法進入系統 / ubuntu修改使用者名稱、計算機名、主目錄名 /改密碼

ubuntu輸入密碼登入後閃一下,無法進入系統 / ubuntu修改使用者名稱、計算機名、主目錄名 /改密碼

現象:在Ubuntu登陸介面輸入密碼之後,黑屏一閃並且出現了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刪除,此法轉自網上,本人未驗證)
開機後在登陸介面按下ctrl+ alter + F1進入tty命令列終端登陸後輸入:(本人的使用者名稱為hp,因此chown後面跟了hp:hp若為其他使用者名稱修改成相應的名稱即可)

$ cd~
$ sudo chown  hp:hp .Xauthority  

然後再次輸入:

ls -l .Xauthority   

ps:測試成功。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

修改使用者名稱稱:

切換到root開啟如下兩個配置檔案

  1. gedit /etc/passwd   
把"hs"這個使用者名稱改為"zj"了,儲存並退出 
  1. gedit /etc/shadow   
同樣把"hs"改為"zj" ,儲存並退出  現在要修改計算機名稱hs-virtual-machine為zj-virtual-machine 修改有兩步: [1]還是在root使用者的狀態下執行gedit /etc/hosts
  1. 127.0.0.1       localhost  
  2. 192.168.76.21   hs-virtual-machine    //將此處改為zj-virtual-machine
  3. # The following lines are desirable for IPv6 capable hosts
  4. ::1     localhost ip6-localhost ip6-loopback  
  5. fe00::0 ip6-localnet  
  6. ff00::0 ip6-mcastprefix  
  7. ff02::1 ip6-allnodes  
  8. ff02::2 ip6-allrouters  
  9. ff02::3 ip6-allhosts  
  10. ~                                                                                 
  11. ~                                                                                 
  12. ~                        



[2]gedit /etc/hostname
hs-virtual-machine    將紅色部分改為zj-virtual-machine

儲存,退出,重啟,就得到如下結果:

然後運行了一下MPI的那個程式,結果如下:

將同樣的操作為劉慶做了一遍得到如下結果:


其實觀察仔細的應該還可以看出來存在問題,就是輸入檔案所在的主目錄名仍然是hs,也想改一下,然後還是切換到root使用者,gedit /etc/passwd,將裡面有關主目錄名的地方將hs改為lq,儲存、退出、重啟,可是進不了系統了,悲催啊!然後再重啟,直接以root使用者登入,將主目錄名修改過來,就可以以普通使用者名稱登入了。
下面就是更改主目錄名的方法:
<span style="color:#330033;">補充
 mount -o remount,rw /  
 執行上述命令後即可讀寫檔案了。

</span>

sudo chfn -f 新名字 原名字
sudo usermod -l 新名字 -d /home/新名字 -m 原名字
sudo groupmod -n 新名字 原名字

偶爾會遇到Ubuntu無法正常啟動的情況,這時候需修改某些檔案讓系統正常啟動,如果直接進入 recovery 模式,預設是檔案許可權只讀,無法修改檔案。這時我們需要進入recovery 的單使用者模式,獲得修改檔案的許可權。

1、重啟ubuntu,隨即長按shirft進入grub選單,或等待grub選單的出現,如下圖

\

2、選擇recovery mode,接著用方向鍵將游標移至recovery mode,按"e"鍵進入編輯頁面,如下圖:


3、將 ro recovery nomodeset 改為 rw single init=/bin/bash

4、 按 ctrl+x或者F10 進入單使用者模式,當前使用者即為root。這時候可以修改檔案。修改完畢後重啟即可。

另外一種方式,進入Recovery mode的Recovery Menu而不是採用單使用者的方式。

重啟Ubuntu,隨即長按shift進入grub選單; 
選擇recovery mode,回車確認,如下圖; 

在Recovery Menu中,選擇“Root Drop to root shell prompt”,回車確認,如下圖; 

1)修改普通使用者的密碼

進入shell介面,使用passwd命令重新設定密碼:passwd david,(david是系統中已有的username,但是如果root的使用者就會有authentication token manipulation error錯誤),回車確認; 
輸入新密碼; 
再次確認新密碼; 
看到密碼設定成功提示:passwd: password updated successfully; 
重啟系統進入GUI介面:sudo reboot;

2)修改root使用者的密碼

使用passwd命令重新設定密碼:passwd root 
輸入新密碼; 
再次確認新密碼; 
看到密碼設定成功提示:passwd: password updated successfully; 
重啟系統進入GUI介面:sudo reboot;

  1. 直接passwd <使用者名稱>, 輸入新密碼之後,會提示"Authorization token manipulation error".如下圖的錯誤
  2.    然後我們在視窗中輸入"mount  -o  remount,rw /"命令,進行remount,這樣之後就可以用passwd 進行修改密碼了