禁用干扰运行 BASH 脚本的 systemd 消息

禁用干扰运行 BASH 脚本的 systemd 消息

如何禁用 BASH 脚本中偶尔弹出的 systemd 消息(例如,在我从某个地方通过 SSH 登录到机器后),如下面的屏幕截图所示?BASH 脚本使用对话框工具,我在 Ubuntu 18.04 上运行它。我尝试过的一件事是禁用 rsyslog,但没有帮助。以下是说明此行为的屏幕截图:关联

我的 systemd 服务文件如下所示:

[单元]

描述=bashscript

之后=网络.目标

之后=getty.target

[电子邮件保护]

[服务]

类型=oneshot

PID文件=/运行/bashscript.pid

ExecStart=/bin/openvt -s -w --/path/to/bashscript

标准输入=tty-force

标准输出=继承

标准错误=继承

[安装]

WantedBy=graphical.target

谢谢。

答案1

我认为你的问题在于以下几行

StandardInput=tty-force
StandardOutput=inherit
StandardError=inherit

这意味着标准输入接受 /dev/console 的输入,因为您的服务中现在指定了 TTYPath。

通过设置标准输出和标准错误来继承,意味着它们还承担标准输入的设置,在本例中是 /dev/console。

我对此并不完全确定,但我想这就是您看到输出的原因。如果您仍然需要输入但不想要输出,那么您可能应该这样做:

StandardInput=tty-force

没有其他两行。如果您实际上不使用输入,您也可以删除该行。

相关内容