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