我的应用程序依赖于 libjss-java 包。这个包安装在Ubuntu(我的目标操作系统)上的/usr/lib/jss中,所以如果我不添加“/usr/lib/jss”,我的基于java的应用程序就找不到这个lib用户的 $PATH。我将通过 debian 软件包分发此应用程序,我可以更改 $PATH 变量而不需要注销吗?
应用程序有两种分发方式,一种是普通的桌面应用程序。另一种方式是网页中的小程序。我想在第二种情况下使用 debian 包来强制在用户计算机上安装依赖项,以便应用程序正常工作。更具体地说,我的应用程序的第二种情况的 DEB 包只是强制依赖项,并且应该配置用户的 $PATH。
我已经可以通过/etc/profiles 将 jss 添加到 $PATH 中,但这仅适用于用户登录,因此安装后,我的应用程序无法运行。如果这不是正确的方法,我该怎么办?
最佳答案
简单直接的解决方案是编写一个简单的包装 shell 脚本来创建正确的环境,然后调用真实的东西。将其放入 /usr/bin/yourapp
中:
#!/bin/sh
PATH=$PATH:/usr/lib/jss
exec /usr/lib/jss/yourapp.real
其中 yourapp.real
是实际的二进制文件。为简单起见,我建议将其与库一起安装,尽管 FHS 可能坚持使用类似 /usr/libexec
的内容。
关于java - 更改 deb 包中的所有用户 PATH 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21992653/