pygam的Ubuntu systemd服务

2024-10-02 02:44:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我用python和pygame编写了一个简单的代码来在显示器上显示一些图像。当我运行时,一切正常。我试着让它在系统启动时用systemd服务运行。这是我的服务:

[Unit]
Description=Starts pygame

[Service]
User=rplab
WorkingDirectory=/home/myuser/
ExecStart=/bin/bash /home/myuser/MyPygame.sh
KillMode=process

[Install]
WantedBy=multi-user.target 

当系统启动时,它将启动服务,但不幸的是,当我用systemd状态检查服务时,它给出了以下错误:

pygame.error: No available video device

好像启动太快,找不到我的显示器,有没有可能在用户登录后启动服务,让它找到我的显示器?你知道吗


Tags: 代码图像homeserviceunitdescription显示器pygame
1条回答
网友
1楼 · 发布于 2024-10-02 02:44:26

服务文件需要告诉systemd,它需要在用户会话和图形环境之后启动。你知道吗

[Unit]
Description=Starts pygame
Wants=systemd-logind.service systemd-user-sessions.service display-manager.service
After=systemd-logind.service systemd-user-sessions.service display-manager.service

[Service]
....
....

[Install]
WantedBy=graphical.target

确保运行graphical.target作为默认值。你知道吗

$ systemctl set-default graphical.target

相关问题 更多 >

    热门问题