突然有一天开机,ubuntu遇到一个问题:中文输入法发生异常,提示删除XXX,同时terminal也是一直打不开,没有响应
网上很多解决办法,包括ctrl+Alt+F1进入到命令界面(Ctrl+Alt+F7回到图形界面),用vi命令修改etc/default/locale文件(a和i都可以开始编辑文件,直接输入:可以输入退出命令:w !sudo tee% 为强制退出,locale是readonly文件,比较麻烦)
最后这个答案帮我解决了问题(https://www.cnblogs.com/ifantastic/p/4565822.html ),reboot后中文输入正常,terminal也可以打开了
前面修改了很多次locale后reboot都没有成功,我注意到命令界面提示:
bash: warning: setlocale: LC_ALL: cannot change locale
所以感觉还是LC_ALL的问题,我之前用vi修改locale中的LC_ALL=en_US.UTF-8
出现以上问题是因为服务器无法理解 en_US.UTF-8 字符集,因此首先要在服务器上生成 en_US.UTF-8 字符集:
sudo locale-gen en_US.UTF-8
然后使用最新生成的字符集更新本地仓库:
sudo dpkg-reconfigure locales
到这一步输入命令后,跳出的是选择界面,最后我选的是en_US.UTF-8
最后locale文件夹里的内容也变成:
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
然后sudo reboot就恢复正常了!