我有一个要在macOS / Linux上运行的安装脚本。
在安装中期,我需要检测当前安装的Firefox版本,以决定是否使用不推荐使用的功能(例如AutoConfig
)还是使用现代功能(例如policies.json
)。
firefox --version
的输出,但是当firefox
看到脚本以root
运行时,它会抱怨:不支持在普通用户会话中以root用户身份运行Firefox。 (
$HOME
是/Users/foo
拥有的foo
。)
我可以使用sudo -u $USER firefox --version
,但似乎在未启用sudo
的系统上会遇到可伸缩性问题。是否有另一种方法来获取版本而无需以常规用户身份启动进程?是否有未记录的替代标志?我尝试--headless
无济于事。
答案 0 :(得分:1)
以下似乎是一个以root用户身份运行firefox --version
的可行解决方法。
HOME=/tmp XAUTHORITY=/tmp firefox --version
据我所知,/tmp
应该始终归root
所有,但是如果有例外,请提出一条更好的方法,以便改进此解决方案。