Como iniciar um script no tty em vez de pedir login no systemd?

5

Eu preciso começar e imprimir um script em tty1 em vez de pedir login. Em conexão com: Como analisar / proc / cmdline antes de pedir o tty login com o systemd

Eu tentei criar um serviço que inicie um script simples:

#!/bin/bash
echo "trying to print this on screen before tty login"
read ok

E o serviço:

[Unit]
Description=Before tty login script launcher

[Service]
Type=simple
ExecStart=/bin/bash -c "/opt/starter.sh"

[Install]
WantedBy=getty.target

Depois disso

cd /lib/systemd/system ; ln -s ./starter.service ./getty.target.wants/starter.service

Na inicialização, ele continua ativando o tty login sem solicitar meu script. Eu não quero iniciar script após causa de login, script precisa de privilégios de root, então se alguém CTRL + C, ele terá acesso root.

    
por eoli3n 22.02.2016 / 13:15

1 resposta

5

Aqui está o que funciona:

[Unit]
Description=Script starter
After=getty.target
[email protected]

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/opt/starter.sh
StandardInput=tty-force
StandardOutput=inherit
StandardError=inherit

[Install]
WantedBy=graphical.target

Obrigado ao #systemd "grawity" e "zdzichu" por ajudar.

    
por 22.02.2016 / 19:43