用于Python脚本的Desktop Launcher以错误的路径启动程序(Linux)

pyk*_*ong 7 python linux launcher filepath linux-mint

我无法从Linux Mint 17.1 Cinnamon上创建的.desktop启动器启动python脚本.

问题是脚本将在错误的路径中启动 - 即主文件夹而不是它所在的目录.因此,它无法在其文件夹中找到伴随它的其他重要文件,因此无法正常工作.

为了检查这种不当行为,我创建了一个简短的脚本来检查python脚本正在执行的文件夹:

#!/usr/bin/env python

import subprocess
import time

subprocess.call(["pwd"], shell=True)
time.sleep(7)  # to get a chance to read the output
Run Code Online (Sandbox Code Playgroud)

从它自己的文件夹执行它给出输出:

/home/myusername/PythonProjects
Run Code Online (Sandbox Code Playgroud)

我正在通过Nemo的菜单设置桌面启动器.现在执行相同的脚本会产生:

/home/myusername
Run Code Online (Sandbox Code Playgroud)

我不明白这种行为.我怎么能为我的python脚本创建一个工作桌面启动器?

Jam*_*s K 3

页面描述了文件的格式.desktop

您可能会注意到“Path”元素,它指定要运行的文件的工作目录。在您的情况下,您需要一个指定的桌面文件

Path=/home/myusername/PythonProjects
Run Code Online (Sandbox Code Playgroud)

如果 Nemo 不允许您设置路径元素,您可能需要手动编辑桌面文件。.desktop 文件是文本文件,您可能可以在以下位置找到它们/home/myusername/.local/share/applications/