解决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也行。

相关推荐
曦樂~5 分钟前
Symmetric Ciphers对称加密
运维·服务器
mister_guo9 分钟前
Elasticsearch:原理、Docker 安装与常用命令
大数据·运维·elasticsearch
Escalating_xu26 分钟前
【Linux 网络编程】网络基础概念(下):IP、端口、Socket 与网络字节序,写代码前先打好基础
linux·网络·tcp/ip
刚入门的大一新生27 分钟前
Linux-Ext系列文件系统
linux·运维·服务器
前端 贾公子1 小时前
LangGraph == 图的状态(State)管理 (中)
开发语言·数据库·python
灯澜忆梦1 小时前
【docker】#4 | Docker 自定义镜像与 Dockerfile
运维·docker·容器
无足鸟ICT1 小时前
【RHCA+】select循环
linux
SKH.1 小时前
Linux驱动-led、beep
linux·运维·单片机
the局外人1 小时前
FastAPI中jwt的基本使用与实践
后端·python·fastapi
mklpo1472 小时前
为不支持sse4.2命令集的老旧设备制作Win11 26H2系统镜像,2026-10-11。
运维·windows·python