我需要在 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 登录,而不提示我的脚本。我不想在登录后启动脚本,因为脚本需要root权限,所以如果有人按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”的帮助。