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 depois de suspender / retomar e pm-utils
não são mais usados por padrão no Fedora 19 quando você fecha o laptop.
Como systemd
agora é responsável por suspender / hibernar, acho que a única maneira correta de lidar com essa situação é criar uma unidade systemd
que será executada após a inicialização e depois da suspensão.
Notas:
- Usando
/dev/disk/by-id/...
em vez de/dev/sda
, você sempre terá certeza de obter o disco correto (sda, b, c depende da ordem em que são detectados pelo kernel) - Você pode ter várias
ExecStart
linhas para poder configurar vários discos
Aqui está a unidade que eu 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, ative-o usando:
systemctl enable hdsilence.service
systemctl daemon-reload