定义应用程序执行时共享库​​的搜索路径

定义应用程序执行时共享库​​的搜索路径

最终目标:

我正在寻找一种无需使用 VirtualBox/VM Ware/Docker 在独立环境下开发 GUI 应用程序的方法。

我做了什么:

我创建了一个 chroot 环境,可以在其中开发我的应用程序。我可以编辑和编译代码。

问题:

在 chroot 中运行 GUI 应用程序很困难,因为我需要安装和配置 X-Server...和/或将其连接到我的主机 X-Server(据我所知)

想法: 我可以简单地在我的主机上运行 chroot 之外的应用程序。

问题:

当然,已执行应用程序的所有依赖项都会丢失,因为它们不在 下/,而是在 下/home/user/mychroot/

问题:

是否可以在运行应用程序的同时告诉它所有共享项目/对象(如库,...)都位于不同的路径中?

欢迎任何其他解决主要问题的方法。

为什么没有 docker/vm?

两者都非常慢 - 特别是在外部硬盘上运行时。我曾经在虚拟机中进行开发,但大约 50% 的时间我只是试图解决虚拟机本身的问题。例如:VM冻结:重新启动(大约需要尝试5次,每次尝试10分钟); VM 需要更新:接下来 1 - 3 小时将繁忙; ....

答案1

经过一段时间的尝试后,我求助于使用“一般方法”:

  • 在 chroot(来宾)内:
    • 类型export DISPLAY=:0.0
  • 在主机上:
    • 在终端中写入:(xhost +“允许来自 chroot 的 x 服务器连接”)

xhost -在主机上使用类型后。

来源

答案2

您可以尝试设置LD_LIBRARY_PATH

LD_LIBRARY_PATH=/home/user/mychroot/usr/lib /home/user/mychroot/yourapp

相关内容