問題現象描述: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,再試一下能不能打開