【问题标题】:Desktop Icon in LinuxLinux中的桌面图标
【发布时间】:2017-09-25 16:31:10
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: python linux bash shell desktop


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      • 2018-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-08
      相关资源
      最近更新 更多