Отказано в доступе к запуску скрипта Python на Mint 17.3

У меня есть апплет корицы (javascript), работающий в папке ~/.local/share/cinnamon/applets/applet@uuid/, которую пользователи загружают из Cinnamon Spices с помощью апплета (окна) в настройках системы. В этом javascript я запускаю скрипт python, который создает окно для управления лентами.

Где-то после февраля я начал получать ошибку отказа в разрешении, когда выполняется следующий код, запуская скрипт python на Mint 17.3:

GLib.spawn_async_with_pipes(null, argv, null, GLib.SpawnFlags.DO_NOT_REAP_CHILD, null);

Это происходит только в Mint 17.3, cinnamon, установленный в Fedora 23, работает без проблем.

Ошибка, которую я получаю:

GLib.SpawnError: Failed to execute child process
Failed to execute child process (Permission denied)

Если пользователь изменяет скрипт python и дает ему разрешения на выполнение, тогда он работает, однако, поскольку он загружается и устанавливается за кулисами, я не думаю, что это то, что я могу сделать автоматически?


person Jake1164    schedule 25.03.2016    source источник
comment
Как это установлено? Если он устанавливается, вы, вероятно, можете вызвать chmod во время установки?   -  person syntonym    schedule 25.03.2016
comment
Устанавливается через окно апплета в корице. Я не нашел много документации по процессу установки апплетов. wiki.archlinux.org/index.php/Cinnamon#Applets_and_extensions   -  person Jake1164    schedule 25.03.2016


Ответы (1)


Два варианта:

  1. Вызовите ["python", "myscript.py"] вместо того, чтобы пытаться выполнить сценарий напрямую.

  2. Программно chmod добавить исполняемый флаг

person Jonathon Reinhart    schedule 25.03.2016
comment
Номер 1 не работает на монетном дворе, выдает немного другое сообщение: Не удалось выполнить дочерний процесс python. python выполняется с терминала, поэтому предположение, что это все та же ошибка разрешения. - person Jake1164; 26.03.2016