问题现象描述:ubuntu开机后系统桌面显示正常,其他图形化的app也都能打开无异常,唯独只有terminal终端打不开,无论是鼠标点击终端软件,还是ctrl+alt+t,还是alt+F2后输入gnome-terminal后按回车,这三种方式都无法打开
看到网上有不少博客说是因为python安装版本不对导致的,有的说是因为系统区域和语言设置不当
我知道我是因为语言或者地区设置问题,但是照着网上教程,在ubuntu系统设置界面里更改了系统的语言,输入法,地区,时区设置,最后都没能解决我的问题
解决思路:
1,目前由于gnome-terminal(也就是ubuntu系统的默认终端)打不开,需要找一个方法临时进入该系统的终端界面,才能继续后面的操作
方法一:在ubuntu系统界面下,使用alt+f(3-6)任意一个都行,打开一个虚拟tty终端,输入用户名和密码登陆进去
方法二:使用远程连接方式(ssh或者telnet或者VNC)都可以,前提是你已经安装了这些服务并且知道ubuntu的ip
方法三:alt+f(3-6)进入到tty虚拟终端后,在终端下载一个终端工具sudo apt-get install xterm
然后用xterm命令启动该终端工具,就会打开一个xterm类型的终端
2,重装gnome-terminal终端工具,如果重装后也不能解决,则按照第三步继续排查
sudo apt update
sudo apt install --reinstall gnome-terminal
3,通过终端系统异常日志来分析
journalctl -xe | grep gnome-terminal
journalctl -xe | grep Xorg
在我的异常日志中有这样几句话:
gnome-terminal-server[29724]: Locale not supported.
systemd[1837]: gnome-terminal-server.service: Main process exited, code=exited, status=9/n/a
systemd[1837]: gnome-terminal-server.service: Failed with result 'exit-code'.
红色字体描述的locale not supported,这表明在启动 gnome-terminal 时,gnome-terminal-server 由于地区设置问题而退出。这里的 Locale not supported 错误通常是由于系统的区域设置(如语言或编码)不正确或缺失,导致终端程序无法启动。
然后执行locale命令,看到以下内容:
注意看这里有几行显示 Cannot set LC_CTYPE to default locale: No such file or directory,具体来说是因为LC_CTYPE="zh_CN.UTF-8"
和 LC_COLLATE="zh_CN.UTF-8"
设置了中文区域,但并没有正确生成 zh_CN.UTF-8
这个语言环境
4,确定为区域和语言设置的原因导致,接下来修复它们
sudo dpkg-reconfigure locales
这个命令会打开一个界面,让你选择需要的语言环境。确保选中并生成 zh_CN.UTF-8
和 en_US.UTF-8
选中之后,保存并退出
然后运行以下命令,手动生成并应用语言环境
sudo locale-gen zh_CN.UTF-8
sudo locale-gen en_US.UTF-8
再次执行locale命令,如果此时没有类似Cannot set XXX to default locale这种报错,那么你应该就可以正常打开终端了,如下图所示
如果上面方法还是不行,就重启下ububntu再试,或者把
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en_US
export LC_ALL=zh_CN.UTF-8
这三句话加到~/.bashrc文件里,然后source ~/.bashrc,再试一下能不能打开