图形界面下运行程序的机制可不是你想象得那样,光加个shebang和可执行权限就成。
首先看的是文件的mime type,这个文件的右键属性中或者命令行下用
代码: 全选
file --mime-type 文件路径
可以查看,一般而言只有是application/x-executable才能直接运行。不是的话会去查找关联的应用程序,你的情况明显是关联到了文本编辑器。
至于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