Ubuntu下迴圈登入問題解決

2021-09-02 06:56:18 字數 2669 閱讀 6865

造成這種問題的大多原因是由於環境變數引起的,也很好解決,刪掉錯誤的環境變數就好。

1.什麼是環境變數

環境變數是系統自執行程式時預設去指定目錄下查詢的路徑,在windows和ubunt中都要設定環境變數,當然如果不怕麻煩每次輸入絕對路徑也不是不可行的。

在ununtu中「/bin」、「/sbin」、「/usr/bin」、「/usr/sbin」、「/usr/local/bin」等路徑已經在系統環境變數中了,如果可執行檔案在這幾個標準位置,在終端命令列輸入該軟體可執行檔案的檔名和引數(如果需要引數),回車即可。

如果不在標準位置,檔名前面需要加上完整的路徑。不過每次都這樣跑就太麻煩了,乙個「一勞永逸」的辦法是把這個路徑加入環境變數。命令 「path=$path:路徑」可以把這個路徑加入環境變數,但是退出這個命令列就失效了。要想永久生效,需要把這行新增到環境變數檔案裡。有兩個檔案可選:「/etc/profile」和使用者主目錄下的「.bash_profile」,「/etc/profile」對系統裡所有使用者都有效,使用者主目錄下的「.bash_profile」只對這個使用者有效。

2.認識幾個和環境變數有關的檔案:

/etc/profile —— 此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行.並從/etc/profile.d目錄的配置檔案中蒐集shell的設定;

/etc/environment —— 在登入時作業系統使用的第二個檔案,系統在讀取你自己的profile前,設定環境檔案的環境變數;

/etc/bashrc —— 為每乙個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取;

~/.profile —— 每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該檔案僅僅執行一次!預設情況下,它設定一些環境變數,執行使用者的.bashrc檔案;

~/.bashrc —— 該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該檔案被讀取;

例如:修改profile檔案:

#vi /etc/profile 

在裡面加入: 

export path="$path:/opt/aaaa/bbbb/bin"

讓環境變數立即生效需要執行如下命令:

#source /etc/profile

修改.bashrc檔案:

# vi /root/.bashrc 

在裡面加入: 

export path="$path:/opt/aaaaa/bbbbb/bin"

path的值是一系列目錄,當您執行乙個程式時,linux在這些目錄下進行搜尋。用以下命令可以看到path的值。,後兩種方法一般需要重新登出系統才能生效,最後可以通過echo命令測試一下: 

# echo $path 

就可以列印出path的所有路徑,linux執行程式時會在這些目錄下去尋找。

3.環境變數設定的注意事項。

「path=path:路徑1:路徑2:...:路徑n」,意思是可執行檔案的路徑包括原先設定的路徑,也包括從「路徑1」到「路徑n」的所有路徑。當使用者輸入乙個一串字元並按回車後,shell會依次在這些路徑裡找對應的可執行檔案並交給系統核心執行。那個「path:路徑1:路徑2:...:路徑n」,意思是可執行檔案的路徑包括原先設定的路徑,也包括從「路徑1」到「路徑n」的所有路徑。當使用者輸入乙個一串字元並按回車後,shell會依次在這些路徑裡找對應的可執行檔案並交給系統核心執行。那個「path」表示原先設定的路徑仍然有效,注意不要漏掉。某些軟體可能還有「path」以外型別的環境變數需要新增,但方法與此相同,並且也需要注意「$」。

在/etc目錄下的環境變數是輸入密碼後進入桌面就要執行的,這裡面的環境變數設定錯誤會導致進入不了桌面的情況發生。

例如我對/etc/profile下的命令做了如下新增:export path="/usr/lib/python3.5" 就出現這種情況,正確的形式應該是export path="$path/usr/lib/python3.5"  錯誤的方式將導致之前的所有環境變數的設定無效,將被新的path代替,這也將進一步導致後邊解決方案中進入命令模式下輸入的指令無效。

4.重複登入解決辦法。

ctrl+alt+f1進入命令列模式如下

輸入使用者名稱後鍵入密碼後如下

這個介面和桌面版的shell就一樣了,繼續。

此時輸入shell下的命令無效,這就是因為/etc目錄下的環境變數設定錯誤,找不到命令所致,但顯然已經給了提示(已標註),輸入絕對路徑即可。

因為我們的環境變數設定錯誤,那麼就只需要刪除錯誤的環境變數即可,開啟/etc/profile檔案需要root許可權,那麼用絕對路徑使用vi開啟刪除即可。

開啟並刪除錯誤的環境變數儲存退出。

ctrl+alt+f7回到桌面登入即可。

登入報錯問題解決

sa yy wg r720001 ssh 192.168.110.6 sa 192.168.110.6 s password last login mon dec 1 15 00 31 from 192.168.100.5 bash ulimit open files cannot modify l...

ubuntu 無線問題解決

之前好不容易把oracle11g裝到了ubuntu上,結果又發現了新問題。之前11.04是好的,不過10.04裡面無線用不了。現在問題終於解決了,享一下我的解決辦法 在終端使用命令 lspci 會顯示您的計算機連線到所有的pci裝置的資訊 若要只顯示了broadcom 包括wifi卡 製造裝置,適用...

ubuntu依賴問題解決

在之前安裝nvidia驅動,解除安裝的時候沒有清除乾淨,之後再安裝東西的時候一直在報錯,顯示需要依賴 下列軟體包有未滿足的依賴關係 libnvidia ifr1 450 依賴 libnvidia gl 450 但是它將不會被安裝 libnvidia ifr1 450 i386 依賴 libnvidi...