Systemd 不会关闭数字锁定

Systemd 不会关闭数字锁定

我讨厌关机后数字锁定灯仍然亮着!

我准备了一个像这样的单元文件

[Unit]
Description=Turn Num Lock off before shutdown
RequiresMountsFor=/ #dunno if needed, just in case

[Service]
ExecStop=/usr/local/sbin/numlock.sh
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

我可以肯定地说它有效,因为脚本中不仅有 numlock 命令,而且当我打开系统时还会出现“touch /home/user/TEST”

我尝试关闭灯的命令是 numlockx、xset 和 xdotool:系统开启时,它们三个都能完美运行:有什么提示说哪里出了问题吗?

答案1

如上所述,numlock.sh 脚本中的命令是错误的,可能是因为在关机之前你不能依赖基于 X 的命令

这样的脚本运行得很好

#!/bin/bash

for tty in /dev/tty?; do /usr/bin/setleds -D +num < "$tty"; done

实际上我改变了 UNIT 文件以简化,现在它不需要脚本了。

[Unit]
Description=Turn off numlock at shutdown

[Service]
ExecStart=/bin/bash -c "for tty in /dev/tty?; do /usr/bin/setleds -D +num < "$tty"; done"

[Install]
WantedBy=multi-user.target

相关内容