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

相关推荐
小杨同学493 分钟前
Linux 从入门到实战:常用指令与 C 语言开发全指南
linux
Blossom.11811 分钟前
GPTQ量化实战:从零手写大模型权重量化与反量化引擎
人工智能·python·算法·chatgpt·ai作画·自动化·transformer
福尔摩斯张22 分钟前
Linux的pthread_self函数详解:多线程编程中的身份标识器(超详细)
linux·运维·服务器·网络·网络协议·tcp/ip·php
Elaine33625 分钟前
实战教学:使用 Scrapy 爬取 CSDN 文章与用户头像
python·scrapy·网络爬虫
2401_8322981029 分钟前
一云多芯时代:云服务器如何打破芯片架构壁垒
运维·服务器·架构
ArrebolJiuZhou36 分钟前
02arm指令集(一)——LDR,MOV,STR的使用
linux·网络·单片机
一只旭宝39 分钟前
Linux专题八:生产者消费者,读写者模型以及网络编程
linux·网络
Web极客码1 小时前
如何在 Linux 中终止一个进程?
linux·运维·服务器
大聪明-PLUS1 小时前
Linux 中的 GPIO 驱动程序
linux·嵌入式·arm·smarc
程序员佳佳1 小时前
文章标题:彻底抛弃OpenAI官方Key?实测GPT-5.2与Banana Pro(Gemini 3):这才是开发者的终极红利!
开发语言·人工智能·python·gpt·ai作画·api·midjourney