Desktop Launcher for Python Script Starts Program in Wrong Path

孤者浪人 提交于 2019-12-10 13:16:08

问题


I can not launch a python script from a .desktop launcher created on Linux Mint 17.1 Cinnamon.

The problem is that the script will be launched in the wrong path - namely the home folder instead of the directory it is placed in. Thereby it can not find other vital files accompanying it in its folder and hence does not work.

To examine that misbehaviour I created a short script to check the folder a python script is executing in:

#!/usr/bin/env python

import subprocess
import time

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

Executing it from its own folder gives the output:

/home/myusername/PythonProjects

I am setting a desktop launcher via Nemo's menu. Now executing the same script yields:

/home/myusername

I do not understand this behaviour. How could I create a working desktop launcher for my python script?


回答1:


The page describes the format of .desktop files.

You may note the "Path" element, which specifies the working directory for the file to be run in. In your case you would want a desktop file that specified

Path=/home/myusername/PythonProjects

If Nemo doesn't allow you to set the Path element you may need to edit the desktop file by hand. The .desktop files are text files and you can probably find them in /home/myusername/.local/share/applications/



来源:https://stackoverflow.com/questions/30538023/desktop-launcher-for-python-script-starts-program-in-wrong-path

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!