ubuntu 16.04 虚拟机无法打开终端terminal(系统默认编码修改导致)
最近使用vmware虚拟机,安装的ubuntu16.04版本,今天突然发现桌面快捷方式 Alt+Ctrl+T无法打开terminal,然后又尝试使用鼠标右键选择terminal也无法打开,最后鼠标点击菜单栏的HOME图标查找terminal,这时候菜单栏会出现terminal图标但是仍然无法在桌面显示。
于是,我在网上搜索了解决办法,主要如下,但是跟我这边的原因都不一样。
- 升级了python3.6版本导致。
- 通过ctrl+alt+F1进入命令行然后通过gnome-terminal来诊断原因。
相关的解决办法如链接:
https://www.cnblogs.com/Fiona-Y/p/10535363.html
https://blog.csdn.net/u011622434/article/details/103121262
如果按照上面的办法解决了最好,但是本人尝试了发现仍然没有解决
首先,我查看了虚拟机中python3的版本,并不是3.6或者更高,不应该出现升级导致的问题
xxx@ubuntu:~$ python3 -V
Python 3.5.2
xxx@ubuntu:~$
然后对于gnome-terminal的诊断方法,我的环境上显示的是:
因此这个方法也不可行。
突然我想到了最近修改的相关文件,发现修改过linux编码语言的设置(/etc/default/locale)
于是我尝试对比正常的配置比较看看
本地有问题的虚拟机环境,locale的配置如下:
LANG=en_US.UTF-8
LC_NUMERIC=“zh_CN.UTF-8”
LC_TIME=“zh_CN.UTF-8”
LC_MONETARY=“zh_CN.UTF-8”
LC_PAPER=“zh_CN.UTF-8”
LC_NAME=“zh_CN.UTF-8”
LC_ADDRESS=“zh_CN.UTF-8”
LC_TELEPHONE=“zh_CN.UTF-8”
LC_MEASUREMENT=“zh_CN.UTF-8”
LC_IDENTIFICATION=“zh_CN.UTF-8”
LC_ALL=“C”
而我最近修改的是增加了最后一行:LC_ALL=“C”
于是我把最后一行删除,第一行也加上双引号“ ”(强迫症),修改后如下:
LANG=“en_US.UTF-8”
LC_NUMERIC=“zh_CN.UTF-8”
LC_TIME=“zh_CN.UTF-8”
LC_MONETARY=“zh_CN.UTF-8”
LC_PAPER=“zh_CN.UTF-8”
LC_NAME=“zh_CN.UTF-8”
LC_ADDRESS=“zh_CN.UTF-8”
LC_TELEPHONE=“zh_CN.UTF-8”
LC_MEASUREMENT=“zh_CN.UTF-8”
LC_IDENTIFICATION=“zh_CN.UTF-8”
注销当前用户,重新登录
查看修改成功。(如果不成功,重启系统)
验证Ctrl+Alt+T可以打开Terminal窗口: