⑴在前面的文章有介绍过su命令,su命令用于普通用户和超级用户的切换,但在有些系统中,使用su命令无反应,那么遇到这种情况该如何处理呢?下面随小编一起来看看Linux下su命令无反应的处理方法。
⑵出现问题的系统CentOS . 位,SSH客户端使用的是SecureCRT,需要的朋友可以参考下
⑶一、问题产生环境
⑷CentOS . X
⑸SecureCRT .. 英文版
⑹二、问题具体描述
⑺今天操作自己的一台Linux服务器时,突然su命令不好使了,敲入命令回车后,没有任何反应,不管是su还是su -都一样,重启系统后也是问题依旧,郁闷的要命。。。
⑻最耐心的一次等了大概分多钟,出现su:后面的字符是乱码的提示,当时没截图,现在也不想还原问题了,下面说说问题的产生原因和解决方法
⑼三、问题产生原因
⑽郁闷了半天,才想起来上一次退出登录前的动作是修改了SecureCRT中的字符编码设置,设置路径:
⑾Options 》 Session Options 》 Terminal 》 Appearance 》 Character encoding 》 从default设为UTF-
⑿修改成UTF-的原因是在系统中使用vi编辑带中文的配置文件时,出现乱码的情况,所以根据以前的经验就设置了SecureCRT中的字符编码为UTF-,这样就不会乱码了。
⒀问题是记得重装系统前这样设置是没有任何问题的,也就是不会导致su命令出现没有反应的情况,非常非常奇怪,再仔细想了一下,貌似前些日子修改了CentOS的in配置,当前的in配置情况
⒁#LANG=“en_US.UTF-”
⒂#SYSFONT=“latarcyrheb-sun”
⒃LANG=“zh_.GB”
⒄LANGUAGE=“zh_.GB:zh_.GB:zh_”
⒅SUPPORTED=“zh_.UTF-:zh_:zh:en_US.UTF-:en_US:en”
⒆SYSFONT=“lat-sun”
⒇记得当时修改这个配置的原因也是为了解决乱码问题,结合当前问题,设想了一下问题的可能原因,然后测试了一下,果然跟想像的一样。
⒈原因总结:in语言配置为中文并且SecureCRT的Character encoding配置项是UTF-的情况下,就会导致su命令没有任何反应。
⒉四、问题解决办法
⒊知道了原因,解决起来就简单了,我测试过,把in语言项配置成中文,SecureCRT的Character encoding配置成Default的情况下,vi打开包含汉字的配置文件,依然会乱码,如果把SecureCRT的Character encoding配置为UTF-又会导致su命令不起作用,所以我就把in还原成默认设置:
⒋LANG=“en_US.UTF-”
⒌SYSFONT=“latarcyrheb-sun”
⒍然后把SecureCRT的Character encoding配置为UTF-就完美解决了vi打开事汉字的文件乱码问题,而且又不会让su命令出问题,好吧,就这样吧!!!
⒎上面就是Linux下su命令无反应的解决方法了,该问题主要出现在CentOS . 位系统中,如果你不幸中招的话,可以尝试使用本文的方法进行解决。