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