![Systemd 不会关闭数字锁定](https://linux22.com/image/1158098/Systemd%20%E4%B8%8D%E4%BC%9A%E5%85%B3%E9%97%AD%E6%95%B0%E5%AD%97%E9%94%81%E5%AE%9A.png)
我讨厌关机后数字锁定灯仍然亮着!
我准备了一个像这样的单元文件
[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