KDE 自动启动缺少库

KDE 自动启动缺少库

我正在尝试调试 KDE 自动启动目录 (~/.kde/Autostart) 中的 SH 脚本问题。我正在运行 Scientific Linux 6.4(内核 2.6.32-754)。该脚本只是启动一个应用程序。该应用程序最近获得了一个新的库依赖项,现在该应用程序在通过 KDE 自动启动启动时将无法启动,因为它抱怨找不到该库。

为了尝试手动修复,我只需在 /usr/lib64 中放置一个指向该库的符号链接(这是一个非常规位置),然后就解决了问题。但是我们的机器是通过自动安装程序设置的,它需要更正环境变量,以便该库显示在库路径上。

因此,我修改了 /etc/profile.d 中的一个脚本,该脚本为用户创建了环境变量,以便将包含库的目录添加到用户配置文件的 LD_LIBRARY_PATH 中。但是,这并没有解决问题,错误又出现了。当我回显 LD_LIBRARY_PATH 环境变量时,我可以清楚地看到目录已正确添加,但 KDE Autostart 似乎仍然无法看到该库。

看起来 /etc/profile.d 脚本仅在打开终端来设置环境时运行,但在 KDE 自动启动脚本运行时不会设置这些变量。我从自动启动脚本中回显 LD_LIBRARY_PATH 变量,它是空的。我应该在哪里设置 LD_LIBRARY_PATH 才能使其可供自动启动使用?在.bashrc 中?

我有什么遗漏的吗? KDE Autostart 是否以这些自动启动脚本所在的配置文件以外的用户身份执行这些脚本?或者他们从其他地方获取环境变量?

如果还有其他有帮助的信息,请告诉我。

答案1

因此,由于执行自动启动脚本时用户配置文件尚未加载,我发现您可以使用 shell 脚本放置一个env目录~/.kde,该目录将在执行自动启动脚本之前设置环境变量。所以我只是在这里显式声明所需的库路径来解决问题。

我显然还需要在我的中添加类似的 LD_LIBRARY_PATH 行.xsession文件位于用户的主目录中,因为显然 KDE 自动启动脚本要么未执行,要么设置的环境变量~/.kde/env不适用于.xsession

相关内容