问题描述
系统:ubuntu16.04 LTS
状况:点击terminal没反应,打不开了
起因:今天想把虚拟机中的ubuntu16.04 LTS升级成18.04,结果升级失败,看网上的教程一顿操作,结果系统没有升级成功还把terminal搞得打不开了,接着又跟着网上的教程一顿瞎操作,依然没有解决terminal打不开的问题;
解决过程:
原因分析:
最终看到一个博客,终于明白了是我把python3的软链接给弄错了(删除了软链接或者将其指向了系统中没有的python版本:比如我系统中的是python3.5,没有装3.6,却把python3的软链接指向了python3.6),所以只需要更新python3的软链接就行了。
具体过程:
因为terminal已经用不了了,所以需要使用XTerm(ctrl+alt+F1)或者其他ssh工具(如Xshell,前提是你知道该主机的ip)连接到该主机进行操作;
其他终端中输入:
1
gnome-terminal
报错信息如下:
1
bash: /usr/bin/gnome-terminal: /usr/bin/python3 :bad interpreter:No such file or directory
进入
gnome-terminal
查看:1
sudo vi /usr/bin/gnome-terminal
发现这里使用的是python3,所以你必须要有正确的python3查看你自己系统中的python链接:
1
2cd /usr/bin
ll python*
我的之前是python3->python3.6,而且是红色标记(已经修改好了,错误没截到图);重新设置python3的软链接,使其指向你系统已安装的python3.x版本:
先删除默认的Python3软链接:1
sudo rm /usr/bin/python3
然后创建一个新的软链接指向需要的Python3版本:
1
sudo ln /usr/bin/python3.5 /usr/bin/python3
问题成功解决!
参考:
- https://blog.csdn.net/qigeyonghuming_1/article/details/89203381
- https://blog.csdn.net/Hreticent/article/details/86078795
- https://blog.csdn.net/white_idiot/article/details/78240298
补充:
切换系统默认python版本的方法:
系统中安装了python2.x和python3.x,而有的时候,需要用到其中的特定一个版本,直接在terminal中执行
1 | python xxx.py |
调用的是系统默认的python版本,这时我们使用update-alternatives
来为整个系统更改Python版本的优先级;
1 | sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2 |
–install选项使用了多个参数用于创建符号链接。最后一个参数指定了此选项的优先级,如果我们没有手动来设置替代选项,那么具有最高优先级的选项就会被选中
这个例子中,我们为/usr/bin/python2.7设置的优先级为2,所以update-alternatives命令会自动将它设置为默认Python版本;
当然,也可以在terminal中直接指定你要使用的python版本: