Приложение должно запускаться по его имени в командной строке

Мне уже удалось создать файл .desktop, переместить его в / usr / share / apps и я могу запустить свое приложение из черточки, где появляется значок. Приложение по-прежнему запускается командой «python3 / path / to / script». Я подумал, что теперь, когда у меня есть стартер в папке приложений, было бы достаточно ввести его имя в командной строке (alt + f2), и он запустится, но он говорит, что команда неизвестна.

Где в системе нужно разместить файл, чтобы система знала, что имя приложения - это команда? Точно так же, как печатать «Firefox» и Firefox начинается ...

0
задан 3 September 2013 в 20:13

2 ответа

Вам нужно либо поместить скрипт в $ PATH, либо добавить путь, в котором находится скрипт, к вашему $ PATH (я бы порекомендовал первый). Чтобы избежать необходимости вручную выбирать интерпретатор для вызова, вы должны включить строку shebang в верхней части вашего скрипта, например #!/usr/bin/env python3, и сделать скрипт исполняемым с помощью chmod a+x name_of_script. Затем вы можете удалить расширение .py и вызвать его по имени в терминале.

0
ответ дан 3 September 2013 в 20:13
  • Поместите его в путь или измените путь. Вы можете запустить echo $PATH, чтобы увидеть свой путь. Если это только для одного пользователя, ~/bin/ является подходящим местом. В противном случае переместите файл в /usr/local/bin/. Вам нужно будет сделать это как root.

  • Для того, чтобы он был непосредственно исполняемым (без запроса Python о его явном запуске):

    • Он должен быть исполняемым: chmod +x filename
    • Требуется Шебанг в начале файла: #!/usr/bin/env python3
    • Вы, вероятно, должны переименовать его, чтобы он не имел .py на конце

альтернативой для этого является создание сценария оболочки запуска, который запускается python /path/to/script.py. Это избавит вас от необходимости перемещать ваш файл куда-то особенным, но применяются те же правила. Он должен быть установлен исполняемым, находиться на вашем пути и начинаться с шебанга #!/bin/sh или #!/bin/bash.

0
ответ дан 3 September 2013 в 20:13

Другие вопросы по тегам:

Похожие вопросы: