java - 更改 deb 包中的所有用户 PATH 变量

标签 java path package debian deb

我的应用程序依赖于 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/

相关文章:

swift - 多边形的 SKPhysicsBody.area 不正确?

python - 解析执行文件路径

python - 加载名称符合某些约定的包的所有子模块

java - 安卓工作室 : is it possible to compile a project with multiple package names

c++ - 以编程方式提取 .deb 包

java - 类路径问题 : Gradle not working

java - 在 infinispan 中启用兼容模式似乎没有任何作用?

java - Spring MVC 资源映射

java - 以编程方式触发 RCP 选择事件

html - 以百分比形式指定路径标记的 d 属性值