У мене була така ж проблема, жодне з рішень тут не відповідало моїм потребам. Використання cron - це справжнє рішення, а не рішення, правила udev запускаються, коли живлення підключено / відключено, але не після призупинення / відновлення і pm-utils
більше не використовується за замовчуванням у Fedora 19, коли ви, наприклад, закриваєте кришку свого ноутбука.
Оскільки systemd
зараз відповідальний за призупинення / сплячку, я вважаю, що єдиним правильним способом вирішення цієї ситуації є створення systemd
підрозділу, який працюватиме як після завантаження, так і після відновлення з призупинення.
Примітки:
- Використовуючи
/dev/disk/by-id/...
замість /dev/sda
, ви завжди обов'язково отримаєте потрібний диск (sda, b, c залежить від порядку їх виявлення ядром)
- Ви можете мати кілька
ExecStart
рядків, щоб ви могли налаштувати кілька дисків
Ось блок, який я написав:
[Unit]
Description=Silence HD
After=suspend.target
[Service]
Type=oneshot
# Disable automatic head parking for the main disk
ExecStart=/sbin/hdparm -B 254 /dev/disk/by-id/ata-ST3250824AS_4N127FD1
# Enable automatic spin down after 30 seconds for the second, infrequently used disk
ExecStart=/sbin/hdparm -S 6 /dev/disk/by-id/ata-ST31000528AS_BVP5H5X1
[Install]
WantedBy=suspend.target basic.target
Збережіть цей файл як, /etc/systemd/system/hdsilence.service
а потім увімкніть його, використовуючи:
systemctl enable hdsilence.service
systemctl daemon-reload