启动时将 Firefox 作为系统服务启动

启动时将 Firefox 作为系统服务启动

系统 -> Ubuntu 22.04 LTS

Firefox -> Mozilla Firefox 110.0(不使用 snap firefox)

用例 -> 在系统启动时将 Firefox 作为系统服务启动。

创建服务如下 ->

[Unit]
Description=Firefox service as startup app
BindsTo=graphical.target
PartOf=graphical.target
After=graphical.target

[Service]
Type=simple
User=user1
Group=user1
Environment=DISPLAY=':0'
Environment=XAUTHORITY='/run/user/1000/gdm/Xauthority'
ExecStart=firefox

[Install]
WantedBy=multi-user.target

已验证环境变量 DISPLAY 默认为 :0

在正常情况下,手动启动服务时,firefox 将作为服务启动。

启动后,服务失败并出现以下错误 “localhost.localdomain firefox[878]: 错误:无法打开显示::0”

有什么办法可以解决这个问题吗?

答案1

这个错误是因为当服务想要启动 Firefox 时 X 服务器还没有准备好,您可以将 Firefox 添加到启动应用程序中,或者如果您想保留 systemd 服务解决方案,您需要添加xorg.targetnetwork.target修改文件如下:

[Unit]
Description=Firefox service as startup app
BindsTo=graphical.target
PartOf=graphical.target
After=graphical.target x

相关内容