systemdでログインを要求するのではなく、ttyでスクリプトをどのように起動しますか?

systemdでログインを要求するのではなく、ttyでスクリプトをどのように起動しますか?

ログインを要求せずにtty1でスクリプトを起動して印刷する必要があります。次に接続:systemdを使用してttyログインを要求する前に/ proc / cmdlineを解析する方法

単純なbashスクリプトを起動するサービスを作成しようとしています。

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

そしてサービス:

[Unit]
Description=Before tty login script launcher

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

[Install]
WantedBy=getty.target

以来

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

起動時にスクリプトをプロンプトせずにttyログインを実行し続けます。スクリプトにルートアクセスが必要なため、ログイン後にスクリプトを起動したくありません。したがって、誰かがCTRL + Cを押すと、rootアクセス権があります。

答え1

これは働きます:

[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

助けてくれた#systemd "grawity"と"zdzichu"に感謝します。

関連情報