如何为“会话和启动”功能提供 Python 脚本的工作目录

如何为“会话和启动”功能提供 Python 脚本的工作目录

我通过 把我用 python 编写的 GUI 变成了可执行文件chmod +x mygui.py,并添加了一个 shebang。然后我将此脚本添加到程序的“会话和启动”列表中(设置 -> 会话和启动),以便在打开计算机时运行它。当我重新启动计算机时,GUI 会打开,但其中的一些小部件不会绘制。

编辑:打开我在桌面上为同一 python 脚本创建的启动器的属性后,我意识到不同之处在于启动器有一个启动管理器不知道的“工作目录”。我很确定这就是某些小部件无法加载的原因,因为它们使用与脚本位于同一目录中的一些图标和其他元素。所以现在我的问题是,当 ubuntu 在启动时打开我的脚本时,我如何告诉它在哪里查找其中的所有内容?谢谢。

答案1

您可以通过三种不同的方式设置“工作目录”或 Linux 术语中的“路径”:

1) 将脚本 PATH 添加到环境变量中。这是一个相当简单的方法,效果也很好,但它是永久性的,而且在我看来这不是一个好的做法。执行此操作的方法是发出以下命令:

export PATH=$PATH:your_path

2)将脚本路径添加到快捷方式。只需.desktop在文本编辑器中打开文件(如果您找不到它,您可以在桌面上创建启动器并在〜/ Desktop中找到它,然后稍后移动它),并在末尾添加一行Path=YOUR_PATH。然后将.desktop文件添加到启动

3)首先进入您的目录然后启动您的脚本。例如:

bash -c "cd /path/to/directory && /path/to/directory/executable"

相关内容