Как запустить команду hdparm после загрузки и возобновить работу с Fedora 19?

Я купил новый HD (WD5000BPVT), который, к сожалению, пытается спать каждые 5-8 секунд. Мало того, что шум щелчка достаточно слышный, 1-секундное время спинупинга добавляет очень заметную задержку в повседневном использовании.

Я обнаружил, что hdparm -B 254 /dev/sda отключит очень короткий сон, но я не знаю, как применять этот параметр каждый раз, когда привод включен. Приложения dconf-editor и «Power Management Preferences» ничего не делают в отношении настроек HD. У меня нет путей /etc/hdparm или /etc/acpi . MATE – оконный менеджер.

На Fedora 19, как я могу заставить эту команду запускаться всякий раз, когда привод активирован?

5 Solutions collect form web for “Как запустить команду hdparm после загрузки и возобновить работу с Fedora 19?”

У меня была та же проблема, ни одно из решений здесь не соответствовало моим потребностям. Использование cron на самом деле является обходным решением, а не решением, правила udev запускаются, когда питание подключено / отключено, но не после приостановки / возобновления, а pm-utils больше не используются по умолчанию в Fedora 19, когда вы, например, закрываете крышку своего ноутбука.

Поскольку systemd теперь отвечает за приостановку / спящий режим, я считаю, что единственный правильный способ справиться с этой ситуацией – создать блок systemd который будет работать как после загрузки, так и после возобновления с suspend.

Заметки:

  • Используя /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 того, как [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 

Вы можете запустить систему во время загрузки, создав собственную службу systemd или добавив команду в /etc/rc.d/rc.local.

Если вы хотите, чтобы команда запускалась каждый раз, когда вы разбудили систему после спящего / спящего режима, вы можете добавить скрипт, начинающийся с 2 цифр, до /etc/pm/sleep.d/, просмотр других скриптов в / usr / lib64 / pm-utils / sleep.d (предположим x86_64) для более подробной информации. В основном, он принимает параметр в зависимости от того, в каком состоянии он входит. Вам также может потребоваться добавить некоторый вход в power.d / в тот же родительский каталог, если вы хотите работать по-разному по мощности батареи по сравнению с подключенным.

Для разных настроек при работе на AC / battery я бы сделал это с помощью простого правила udev , например
/etc/udev/rules.d/98-apmsettings.rules :

 SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="0", RUN+="/usr/bin/hdparm -B 128 /dev/sda" SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="1", RUN+="/usr/bin/hdparm -B 254 /dev/sda" 

Это apm к 254 при подключении ноутбука и, соответственно, 128 при отключении. Кроме того, он всегда должен работать, даже после возобновления с приостановления.

У меня один и тот же диск (и та же проблема). Мое глупое, но работающее решение: я положил это в /etc/crontab :

 -*/5 * * * * root hdparm -B 254 /dev/sda 

Правила udev хорошо работают на событиях plug-а, но чтобы получить правильное поведение после возобновления с приостановки, мне нужно что-то подобное в /etc/pm/sleep.d :

 #!/bin/sh case "${1}" in resume|thaw) if grep -q 1 /sys/class/power_supply/ADP1/online; then /usr/sbin/hdparm -B 254 /dev/sda else /usr/sbin/hdparm -B 128 /dev/sda fi ;; esac 
  • Выполнить скрипт автоматически при выключении Fedora 15/16
  • Периодическое временное замораживание
  • Похоже на установку Fedora, возможно, на подсветку Intel
  • Как быстро переключаться между дисплеями в Fedora 18
  • Двойной экран с разрешением более 1680 пикселей в Fedora 14
  • crontab не работает для Fedora 23
  • Изменение ассоциации типов файлов в Fedora / KDE
  • Как отключить папки приложений в меню GNOME?
  • Проблема установки JDT в Eclipse на Linux
  • Как добавить репозиторий в Fedora?
  • Устройство eth0 похоже не присутствует, задержка инициализации
  • Как перезагрузить Windows 10 после Linux (Fedora 24) Устаревшая установка?
  • Linux и Unix - лучшая ОС в мире.