gpt4 book ai didi

python - Linux 中的桌面图标

转载 作者:太空宇宙 更新时间:2023-11-04 05:49:19 24 4
gpt4 key购买 nike

我正在运行Linux,特别是一个项目,首先检测射频频谱,然后第二个文件发送前导码,第三个文件以最佳频率发送一些数据。这是通过 python 和 sh 文件的混合来实现的,这些文件都是 chmod +x。

当我通过 cli 运行第一个文件时,整个过程运行良好,但是,我现在尝试创建一个桌面图标,以便于使用和演示,如下所示:

[Desktop Entry]
Version=1.0
Type=Application
Name=helloworld
Comment=
Exec=./test.py
Icon=
Path=/home/xxx/Desktop
Terminal=true
StartupNotify=false

当我现在使用桌面图标启动该进程时,它只会打开第一个 python 文件。所有链接仍然存在,但不运行。我可能遗漏了一些重要的东西吗?

最佳答案

我认为这是 .desktop 文件的一种非常规的用法。通常,您会指定可执行文件的绝对路径,或者仅指定名称,希望 $PATH 能够找到它。我认为不能保证调用桌面图标会设置任何特定的工作目录,因此我猜测应用程序的各个部分无法找到彼此。

在 Linux 中,当一个应用程序必须调用另一个应用程序时,解决此类问题的常用方法是确保所有部分都在 $PATH 中。由于这通常不切实际,一种常见的方法是让第一个应用程序部分在/proc/self/exe 上使用 readlink() 来查找其自己的文件系统位置,然后解析该位置以找出其余位的位置。通常它们位于同一目录中。因此,我们通过删除第一个可执行文件完整路径的最后文件名部分并替换新文件名来找到绝对路径。

有类似的方法可以做同样的事情,但都涉及使用绝对的、已知的路径名,而不是依赖桌面来做正确的事情。桌面有时可能会做正确的事情,但它不会是可移植的。

关于python - Linux 中的桌面图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46409983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com