应用程序应该可以通过命令行中的名称启动

应用程序应该可以通过命令行中的名称启动

我已经成功创建了一个 .desktop 文件,将其移动到 /usr/share/applications,并且可以从出现图标的仪表板启动我的应用程序。该应用程序仍然由命令“python3 /path/to/script”启动。我现在认为,由于我在应用程序文件夹中有启动程序,因此只需将其名称输入命令行(alt+f2)即可启动,但它说命令未知。

我必须在系统的哪个位置放置一个文件,以便让系统知道应用程序名称是一个命令?就像输入“firefox”然后 Firefox 就会启动一样……

答案1

  • 将其放入路径或更改路径。您可以运行echo $PATH以查看您的路径。如果这仅供一个用户使用,~/bin/则是一个合适的位置。否则,将文件移动到/usr/local/bin/。您需要以 root 身份执行此操作。

  • 为了使其直接可执行(无需要求 Python 明确运行它):

    • 它需要是可执行的:chmod +x filename
    • 它需要在文件开头添加一个shebang:#!/usr/bin/env python3
    • 您可能应该重命名它,以便它末尾没有 .py

另一种方法是创建一个运行的启动器 shell 脚本python /path/to/script.py。这样就不必将文件移动到某个特殊位置,但适用相同的规则。它需要设置为可执行文件,位于您的路径中,并以 a#!/bin/sh#!/bin/bashshebang 开头。

答案2

您需要将脚本放在 $PATH 中,或者将脚本所在的路径添加到 $PATH(我建议第一种)。为了避免必须手动选择要调用的解释器,您应该在脚本顶部包含一个 shebang 行,例如,#!/usr/bin/env python3并使用 使脚本可执行chmod a+x name_of_script。然后,您可以删除 .py 扩展名并在终端中通过其名称调用它。

相关内容