【问题标题】:Ubuntu systemd service for pygame用于 pygame 的 Ubuntu systemd 服务
【发布时间】:2018-09-09 11:57:21
【问题描述】:

我用 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

好像启动太快了,找不到我的显示器,是否可以在用户登录后启动服务,以便它可以找到我的显示器?

【问题讨论】:

    标签: python ubuntu service pygame systemd


    【解决方案1】:

    服务文件需要告诉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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-24
      • 2019-08-18
      • 1970-01-01
      • 1970-01-01
      • 2018-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多