我正在使用带有 pyautogui 和 pyvirtualdisplay 的 Headless Ubuntu 服务器 (AWS) 来使用 OCR 和 selenium 测试/收集信息。
现在我遇到了一个有趣的问题,在开发脚本时(我通过 SSH 连接到服务器),我能够运行所有内容,并且 GUI 自动化按预期工作。当我想使用 ansible 将完整的工作部署到另一台服务器上时,问题发生了。
这种情况下的应用程序或脚本是使用 Ansible 作为 SystemD 服务部署的,我还创建了一个简单的网络服务器,它显示来自 pyvirtualdisplay 的屏幕截图,以显示每隔几秒发生的情况。
即使 systemD 服务以 ubuntu 用户身份运行应用程序,在我关闭 SSH 连接时,一些应用程序崩溃并且 pyvirtualdisplay 仅包含黑屏。
应用程序在 SSH 连接处于活动状态时工作(即使我没有作为 SSH 用户执行任何操作)在我关闭 SSH 连接的那一刻,Discord 崩溃并出现错误:
unable to create directory '/run/user/1000/snap.discord/dconf': Permission denied. dconf will not work properly
这看起来就像没有真正的用户登录并且 Discord 在写入某些用户目录时遇到一些麻烦。
在 Linux 操作系统方面更有经验的人可以向我解释那里可能发生的事情,以及是否可以在没有任何登录用户的情况下使其工作?
谢谢你的任何提示:)