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

相关推荐
薛定谔的猫-菜鸟程序员2 分钟前
软件架构设计师开发资料大全(从入门到精通)
后端·python·系统架构·flask·架构设计师
huainingning7 分钟前
Windows syslog日志服务器搭建与模拟器对接
运维·服务器·智能路由器
牛马鸡niumasi13 分钟前
【Linux】C语言文件操作
linux
say_fall15 分钟前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
wacsii1 小时前
【Linux进程(一)】Linux 进程初探:操作系统如何管理进程?fork() 为什么返回两次?
linux·运维·服务器
AI+程序员在路上1 小时前
RV1126B 上支持的模型及全流程应用--从CNN及语音到 LLMVLM 与跨平台选型
linux·c语言·人工智能
默|笙1 小时前
【Linux网络】传输层协议TCP(1)---TCP报文介绍
linux·网络·tcp/ip
相思难忘成疾2 小时前
从零搭建 Kubernetes 1.30 集群:kubeadm 部署一主多从实战(RHEL 9.3 + Docker + flannel)
linux·运维·kubernetes
PellyKoo2 小时前
【docker】cifs卷改smb密码后容器起不来的解决方法
运维·docker·容器
用户4107192013252 小时前
用 systemd 从零做一个系统健康巡检服务:脚本、沙箱与磁盘满排查实战
linux·ubuntu