Я ненавижу тот факт, что мой световой индикатор остается включенным после выключения!
Я подготовил файл модуля, подобный этому
[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: все три из них работают отлично, когда система включена: есть ли подсказка о том, что не так?
Как и предполагалось, команда внутри скрипта 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