Eu tive o mesmo problema, nenhuma das soluções aqui atendeu às minhas necessidades. Usar o cron é realmente uma solução alternativa, não uma solução, as regras do udev são executadas quando a energia é conectada / desconectada, mas não após a suspensão / retomada e pm-utils
não são mais usadas por padrão no Fedora 19 quando você, por exemplo, fecha a tampa do seu laptop.
Como systemd
agora é responsável por suspender / hibernar, acho que a única maneira adequada de lidar com essa situação é criar uma systemd
unidade que será executada após a inicialização e depois de retomar a suspensão.
Notas:
- Ao usar em
/dev/disk/by-id/...
vez de /dev/sda
, você sempre terá o disco certo (sda, b, c depende da ordem em que são detectados pelo kernel)
- Você pode ter várias
ExecStart
linhas para configurar vários discos
Aqui está a unidade que escrevi:
[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
Salve este arquivo como /etc/systemd/system/hdsilence.service
e, em seguida, habilite-o usando:
systemctl enable hdsilence.service
systemctl daemon-reload