目前pkg-config
仅在/usr/lib/pkgconfig
.我可以通过导出环境变量来为用户调整它PKG_CONFIG_PATH
,但我再次忘记为 root 执行此操作,并浪费时间想知道为什么我的插件没有正确安装(使用的 makefile pkg-config
)。那么如何在系统范围内设置它,以便它总是查看 和/usr/lib
呢/usr/local/lib
?
答案1
在系统范围内定义环境变量的传统位置是/etc/profile
。当您本地(在文本模式控制台上)或远程(通过 ssh)登录文本模式会话时,Bourne 风格的 shell(包括 bash、ksh、ash)会读取此文件。如果您在图形环境中登录,/etc/profile
可能会或可能不会被读取,具体取决于您的登录管理器、桌面环境和操作系统分布。
更好的方法(如果您的系统上可用)是在 中定义环境变量/etc/environment
。该文件的读取者为聚丙烯酰胺,具体由pam_env
模块。这些变量在由使用 PAM 的登录方法启动的所有会话中可用,并且pam_env
在/etc/pam.conf
或中引用了模块/etc/pam.d/$method
。
答案2
可能最简单但不是 100% 可靠的方法是将其添加到/etc/bashrc
.
它不可靠,因为任何个人用户都可以设置为不处理/etc/bashrc
。
如果您想采用更复杂的方式,您可以创建一个包装器来设置它。首先重命名pkg-config
为pkg-config-real
,然后创建一个名为 的新脚本pkg-config
来设置变量。
(以 root 身份,或使用 sudo)
cd /usr/bin
mv pkg-config pkg-config-real
然后在 /usr/bin/pkg-config 中创建一个包含以下内容的新文件:
#!/bin/bash
export PKG_CONFIG_PATH=/usr/lib:/usr/local/lib
pkg-config-real $*
确保使其可执行。
chmod 755 pkg-config