解决ubuntu22.04 gnome-terminal 无法启动的问题

22.04下面默认的python 版本是3.10. 如果你安装了3.8或其它版本,尽量不要去ln -s python3.8 python3修改默认python3版本,不然Terminal会打不开。猜测Terminal可能用到了python的_gi这个库。

可以在xterm或putty远程连上,输入 sudo gnome-terminal

显示如下:

bash 复制代码
sudo gnome-terminal
Traceback (most recent call last):
  File "/usr/bin/gnome-terminal", line 9, in <module>
    from gi.repository import GLib, Gio
  File "/usr/lib/python3/dist-packages/gi/__init__.py", line 40, in <module>
    from . import _gi
ImportError: cannot import name '_gi' from partially initialized module 'gi' (most likely due to a circular import) (/usr/lib/python3/dist-packages/gi/__init__.py)

虽然不知道_gi库是干什么的,但是版本不匹配,当然会有问题。

bash 复制代码
sudo vim /usr/bin/gnome-terminal

编辑可看到第一行内容是

bash 复制代码
#!/usr/bin/python3

所以说,轻易不要乱改默认的python3版本。

你要么把python指向3.8,要么就用python3.8来跑你的程序。

补充一下:

如果你实在需要把python3指向python3.8,那么你可以修改/usr/bin/gnome-terminal的第一行,把python3改为python3.10也行。

相关推荐
Dxy123931021636 分钟前
Python 如何使用 MySQL 的事务
python·mysql
小小、码农3 小时前
Linux进程控制:从fork到exec,手写一个简易Shell
linux·运维·服务器
不会就选b3 小时前
Linux之进程间通信(二)---模拟进程池
linux·运维·服务器
今儿敲了吗5 小时前
Python ——第三方包
笔记·python
麒麟水手5 小时前
国产银河麒麟系统开发实录:跑通Streamlit,我踩过的6个坑
python
麒麟水手5 小时前
麒麟系统部署检查清单:上线前30分钟,逐项自查这4类问题
python
沫璃染墨5 小时前
《从零入门Linux系统篇(十五):系统工具篇·六——GDB调试器详解:从程序执行控制到高级调试技巧》
linux·运维·服务器·c语言·c++
AIgorithmGEEK6 小时前
Linux 环境变量完全指南:从入门到理解底层原理
linux·运维·服务器
用户0332126663676 小时前
使用 Python 在 PDF 中添加或删除数字签名
python
修罗王6 小时前
Linux Docker 服务管理与排查实战指南(新手速查版)
运维·docker