【问题标题】:systemd service that starts before user interaction, possible?在用户交互之前启动的 systemd 服务,可能吗?
【发布时间】:2018-05-15 08:06:28
【问题描述】:

是否可以在控制台输出“登录身份,密码”等之前启动 systemd 服务?

目标是在服务启动前阻止用户输入。

【问题讨论】:

    标签: linux service systemd


    【解决方案1】:

    我相信是的。 systemd 服务通常如下所示:

    [Unit]
    Description=my service unit
    After=syslog.target
    After=network.target
    
    [Service]
    Type=forking
    User=root
    Group=root
    Environment=enter env here
    ExecStart=enter command
    ExecStartPost=enter command
    ExecStop=enter command
    TimeoutSec=300
    
    [Install]
    WantedBy=graphical.target
    

    您所要做的就是将其设置为在登录选项出现之前运行的某些内容之后和之前运行。您可以通过更改 AfterWantedBy 来做到这一点

    【讨论】:

      【解决方案2】:

      通过服务解决:

      [Unit]
      Description=Blabla
      After=docker.service
      Before=getty@tty1.service
      ConditionPathExists=!/etc/something
      ConditionPathExists=/etc/something2
      
      [Service]
      Type=oneshot
      ExecStart=/usr/local/bin/test
      StandardOutput=tty
      StandardError=tty
      
      [Install]
      WantedBy=getty.target
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-17
        • 1970-01-01
        • 2014-03-16
        • 1970-01-01
        • 2017-08-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多