У меня была та же самая проблема, ни одно из решений здесь не соответствовало моим потребностям. Использование 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