权限被拒绝在 Mint 17.3 上启动 python 脚本
Permission Denied launching python script on Mint 17.3
我在 ~/.local/share/cinnamon/applets/applet@uuid/ 文件夹中有一个肉桂小程序 (javascript) 运行 用户使用该小程序从 Cinnamon Spices 下载 (window) 在系统设置中。在此 javascript 中,我启动了一个 python 脚本,该脚本创建了一个 window 来管理提要。
2 月之后的某个时候,当执行以下代码时,我开始收到权限被拒绝的错误,在 Mint 17.3 上启动 python 脚本:
GLib.spawn_async_with_pipes(null, argv, null, GLib.SpawnFlags.DO_NOT_REAP_CHILD, null);
这只发生在 Mint 17.3 上,安装在 Fedora 23 上的 cinnamon 没有问题。
我得到的错误是:
GLib.SpawnError: Failed to execute child process
Failed to execute child process (Permission denied)
如果用户更改 python 脚本并授予它执行权限,那么它就可以工作,但是由于这是在幕后下载和安装的,我不认为这是我可以自动执行的操作?
两个选项:
调用 ["python", "myscript.py"]
而不是尝试直接执行脚本。
以编程方式chmod
它添加可执行标志
我在 ~/.local/share/cinnamon/applets/applet@uuid/ 文件夹中有一个肉桂小程序 (javascript) 运行 用户使用该小程序从 Cinnamon Spices 下载 (window) 在系统设置中。在此 javascript 中,我启动了一个 python 脚本,该脚本创建了一个 window 来管理提要。
2 月之后的某个时候,当执行以下代码时,我开始收到权限被拒绝的错误,在 Mint 17.3 上启动 python 脚本:
GLib.spawn_async_with_pipes(null, argv, null, GLib.SpawnFlags.DO_NOT_REAP_CHILD, null);
这只发生在 Mint 17.3 上,安装在 Fedora 23 上的 cinnamon 没有问题。
我得到的错误是:
GLib.SpawnError: Failed to execute child process
Failed to execute child process (Permission denied)
如果用户更改 python 脚本并授予它执行权限,那么它就可以工作,但是由于这是在幕后下载和安装的,我不认为这是我可以自动执行的操作?
两个选项:
调用
["python", "myscript.py"]
而不是尝试直接执行脚本。以编程方式
chmod
它添加可执行标志