歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

如何處理Linux中su命令無反應的情況

  在前面的文章有介紹過su命令,su命令用於普通用戶和超級用戶的切換,但在有些系統中,使用su命令無反應,那麼遇到這種情況該如何處理呢?下面隨小編一起來看看Linux下su命令無反應的處理方法。

  出現問題的系統CentOS 6.3 64位,SSH客戶端使用的是SecureCRT,需要的朋友可以參考下

  一、問題產生環境

  CentOS 6.3 X64

  SecureCRT 7.0.0 英文版

  二、問題具體描述

  今天操作自己的一台Linux服務器時,突然su命令不好使了,敲入命令回車後,沒有任何反應,不管是su還是su -都一樣,重啟系統後也是問題依舊,郁悶的要命。。。

  最耐心的一次等了大概1分多鐘,出現su:後面的字符是亂碼的提示,當時沒截圖,現在也不想還原問題了,下面說說問題的產生原因和解決方法

  三、問題產生原因

  郁悶了半天,才想起來上一次退出登錄前的動作是修改了SecureCRT中的字符編碼設置,設置路徑:

  代碼如下:

  Options 》 Session Options 》 Terminal 》 Appearance 》 Character encoding 》 從default設為UTF-8

  如下圖所示:

   如何處理Linux中su命令無反應的情況

  修改成UTF-8的原因是在系統中使用vi編輯帶中文的配置文件時,出現亂碼的情況,所以根據以前的經驗就設置了SecureCRT中的字符編碼為UTF-8,這樣就不會亂碼了。

  問題是記得重裝系統前這樣設置是沒有任何問題的,也就是不會導致su命令出現沒有反應的情況,非常非常奇怪,再仔細想了一下,貌似前些日子修改了CentOS的i18n配置,當前的i18n配置情況

  代碼如下:

  #LANG=“en_US.UTF-8”

  #SYSFONT=“latarcyrheb-sun16”

  LANG=“zh_CN.GB18030”

  LANGUAGE=“zh_CN.GB18030:zh_CN.GB2312:zh_CN”

  SUPPORTED=“zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en”

  SYSFONT=“lat0-sun16”

  記得當時修改這個配置的原因也是為了解決亂碼問題,結合當前問題,設想了一下問題的可能原因,然後測試了一下,果然跟想像的一樣。

  原因總結:i18n語言配置為中文並且SecureCRT的Character encoding配置項是UTF-8的情況下,就會導致su命令沒有任何反應。

  四、問題解決辦法

  知道了原因,解決起來就簡單了,我測試過,把i18n語言項配置成中文,SecureCRT的Character encoding配置成Default的情況下,vi打開包含漢字的配置文件,依然會亂碼,如果把SecureCRT的Character encoding配置為UTF-8又會導致su命令不起作用,所以我就把i18n還原成默認設置:

  代碼如下:

  LANG=“en_US.UTF-8”

  SYSFONT=“latarcyrheb-sun16”

  然後把SecureCRT的Character encoding配置為UTF-8就完美解決了vi打開事漢字的文件亂碼問題,而且又不會讓su命令出問題,好吧,就這樣吧!!!

  上面就是Linux下su命令無反應的解決方法了,該問題主要出現在CentOS 6.3 64位系統中,如果你不幸中招的話,可以嘗試使用本文的方法進行解決。

Copyright © Linux教程網 All Rights Reserved