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

相关推荐
Darkwanderor4 小时前
Linux系统编程实战项目:模拟实现shell
linux·c++
倒流时光三十年4 小时前
第三阶段 26 · highlight 高亮(返回命中片段)
后端·python·django
杨某不才5 小时前
如何能让Linux服务器对shell 终端 + sftp 文件传输长期保活
linux·运维·服务器
vance045 小时前
免费Cloudflare隧道隐藏公网IP
linux·tcp/ip·github
久久学姐5 小时前
Python+Playwright+Pytest+BDD,用FSM打造高效测试框架
python·pytest·bdd·playwright·fsm
Zane19946 小时前
闭包到底"闭"住了什么?一文讲透 LEGB 规则与循环里的闭包陷阱
后端·python
三言老师6 小时前
文本工具组合统计服务器日志数据
linux·运维·服务器
Lumi_Peak6 小时前
Claude思考了42秒,我的代码质量直接提升了一个档次
python·claude
m0_743697597 小时前
DNS服务器
运维·服务器
m沐沐7 小时前
【机器学习】DBSCAN聚类算法——原理、参数调优与实战
人工智能·python·深度学习·算法·机器学习·聚类·dbscan