Tuve el mismo problema, ninguna de las soluciones aquí satisfizo mis necesidades. El uso de cron es realmente una solución alternativa, no una solución, las reglas de udev se ejecutan cuando se conecta / desconecta la alimentación, pero no después de suspender / reanudar y pm-utils
ya no se usan de manera predeterminada en Fedora 19 cuando, por ejemplo, cierra la tapa de su computadora portátil.
Como systemd
ahora es responsable de suspender / hibernar, creo que la única forma adecuada de manejar esta situación es crear una systemd
unidad que se ejecute tanto después del arranque como después de reanudar la suspensión.
Notas:
- Al usar en
/dev/disk/by-id/...
lugar de /dev/sda
, siempre está seguro de obtener el disco correcto (sda, b, c depende del orden en que el núcleo los detecte)
- Puede tener varias
ExecStart
líneas para poder configurar múltiples discos
Aquí está la unidad que escribí:
[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
Guarde este archivo como /etc/systemd/system/hdsilence.service
y luego habilítelo usando:
systemctl enable hdsilence.service
systemctl daemon-reload