Red Hat 6.4 系統,root 賬戶密碼確無誤(SecureCRT 遠程 SSH 登錄正常),但在圖形登錄界面(GDM/KDM)輸入密碼後,畫面閃現幾個單詞隨即刷新回登錄界面。重啟無效。此前曾安裝 Oracle 10g 並配置大量環境變量,疑似導致圖形會話啟動異常。
這是典型的 X 會話啟動腳本執行失敗 導致的「登錄循環」。具體常見於:
~/.bash_profile、~/.bashrc、~/.profile 或 ~/.xsession 中存在語法錯誤、執行失敗的命令(如 Oracle 環境變量腳本調用失敗、路徑不存在)。在登錄界面按 Ctrl+Alt+F2~F6 切換到字符終端,使用 root 登錄(此處 SSH 密碼同樣有效)。
cd ~
ls -la .bash* .profile .xsession* .xinitrc 2>/dev/null
重點查看 .bash_profile、.bashrc、.profile 是否新增了 Oracle 相關的環境變量導出、腳本調用(如 . /u01/app/oracle/product/10.2.0/db_1/bin/oracle_env.sh)。
mv .bash_profile .bash_profile.bak
mv .bashrc .bashrc.bak
mv .profile .profile.bak
隨後按 Ctrl+Alt+F1 回到圖形界面嘗試登錄。若成功,說明問題在上述腳本中。
逐個恢復備份文件,並在文件開頭加入 set -x 開啟調試,或分段註釋可疑代碼(特別是 Oracle 環境變量設置、umask、ulimit、路徑導出等),反覆測試直到鎖定具體導致會話崩潰的命令。
/etc/profile.d/oracle.sh 等系統級腳本中,而非用戶級登錄腳本,且需檢查腳本權限與語法。若不願深究腳本,可嘗試刪除/重命名用戶目錄下的圖形配置目錄:
mv ~/.config ~/.config.bak
mv ~/.gconf ~/.gconf.bak
mv ~/.local ~/.local.bak
然後重啟圖形服務 systemctl restart gdm(或 init 3; init 5),系統將重新生成默認配置,通常能恢復登錄。
「密碼正確但圖形登錄閃退」本質上是會話啟動腳本報錯導致會話管理器重置。通過 TTY 進入字符界面,備份並逐步排查 ~/.bash_profile、~/.bashrc 等文件中新增的 Oracle 環境配置,是解決此類問題的標準路徑。養成將環境變量配置放在 /etc/profile.d/ 目錄下的習慣,可有效避免用戶級腳本錯誤影響圖形登錄。