我在服务器上有一个 Shell 脚本。该脚本由特定用户(而非 root)运行。
该脚本包含以下内容:
export DISPLAY=:8
Xorg $DISPLAY
但是有一个错误:
致命服务器错误:PAM 身份验证失败,无法启动 X 服务器。也许您没有控制台所有权?
有人能指导我如何修复这个问题吗?我在 Google 上搜索过,但有很多不同的答案,所以我需要一些指导。
谢谢你的时间。
编辑:我发现了这个(在此处输入链接描述) 建议更改 /etc/pam.d/xserver 文件,但我真的不知道这是否是正确的做法?
答案1
WebDriver 实际上不应该在服务器上运行——它应该在用于进行测试的工作站上运行。
如果你真的想在服务器上运行 WebDriver 测试套件,那么正如 SvenW 指出的那样,你做错了™ – 您不能在任何您想要的机器上启动 X 服务器,特别是当您不在控制台上时(这是Perhaps you do not have console ownership?
错误消息的一部分)。
对于您来说,最简单的解决方案就是在您通过 SSH 连接的机器上运行一个 X 服务器,然后使用ssh -X
X 客户端(比如 Firefox)将请求从服务器转发回您的工作站。
执行此操作时,从脚本中删除export DISPLAY=:8
和行。将自动为您设置环境变量。Xorg $DISPLAY
ssh -X
DISPLAY
请注意,还有其他可能的解决方案(“虚拟”X 服务器不会在任何地方显示),但这比您现在需要的要复杂得多。