我明明在 Python 文件第 1 行加了解释器的位置,加了运行权限,为什么乌班图还是以文件编辑器的形式打开
而且我用 pyinstaller,编译的文件双击运行也会这样
但是./lanzou-gui 就可以正常运行
为什么明明在 Py 文件第 1 行加了解释器,运行权限,却不能双击运行
-
- 帖子: 1
- 注册时间: 2021-03-07 15:40
- 系统: 20.04
- astolia
- 论坛版主
- 帖子: 6570
- 注册时间: 2008-09-18 13:11
Re: 为什么明明在 Py 文件第 1 行加了解释器,运行权限,却不能双击运行
图形界面下运行程序的机制可不是你想象得那样,光加个shebang和可执行权限就成。
首先看的是文件的mime type,这个文件的右键属性中或者命令行下用可以查看,一般而言只有是application/x-executable才能直接运行。不是的话会去查找关联的应用程序,你的情况明显是关联到了文本编辑器。
至于pyinstaller编译出来的东西为什么mime type是application/x-sharedlib,因为ubuntu上的gcc出于安全加固考虑,默认启用了PIE
推荐方案是创建启动器文件,也就是一个.desktop文件,最简化的版本如下
然后右键允许启动
不太推荐方案是将关联程序换成python
首先看的是文件的mime type,这个文件的右键属性中或者命令行下用
代码: 全选
file --mime-type 文件路径
至于pyinstaller编译出来的东西为什么mime type是application/x-sharedlib,因为ubuntu上的gcc出于安全加固考虑,默认启用了PIE
推荐方案是创建启动器文件,也就是一个.desktop文件,最简化的版本如下
代码: 全选
[Desktop Entry]
Version=1.0
Type=Application
Name=名字
Exec=/path/to/your/lanzou-gui
不太推荐方案是将关联程序换成python
- tang.zhe
- 帖子: 1505
- 注册时间: 2010-07-15 13:31
Re: 为什么明明在 Py 文件第 1 行加了解释器,运行权限,却不能双击运行
mark
Ubuntu 命令技巧: http://wiki.ubuntu.org.cn/index.php?tit ... iant=zh-cn
Ubuntu 桌面指南: https://help.ubuntu.com//
Ubuntu 桌面指南: https://help.ubuntu.com//