systemdでudevルールをトリガーする

systemdでudevルールをトリガーする

非常に積極的な電源管理機能を備えたハードドライブがあります。ロードサイクルが重大なレベルに上昇するのを防ぐために、udevルールを作成しました。

SUBSYSTEM=="block", SUBSYSTEMS=="scsi", ATTRS{model}=="TOSHIBA MK2555GS", RUN+="/usr/bin/hdparm -B 200 /dev/%k"

問題は、ノートブックをスリープモードで起動するとルールが実行されないことです。したがって、次のシステムサービスがあります。

[Unit]
Description=root resume actions
After=suspend.target

[Service]
Type=simple
ExecStart=/bin/hdparm -B 200 /dev/sda

[Install]
WantedBy=suspend.target

私はExecStartコマンドが/bin/udevadm trigger --subsystem-match="block"。このコマンドを手動で実行すると、電源管理は正しく調整されますが、systemdサービスでは機能しません。これを行う方法はありますか?ところで、私はアーチLinuxを使用しています

ベストアンサー1

/usr/lib/systemd/systemd-sleephdparmを実行するスクリプトを置くことができます。/dev/disk/by-uuid/代わりにhdparmを使用できます/dev/sda...

または試してみてください/bin/sh -c "/bin/hdparm -B 200 /dev/disk/by-uuid/XY"

おすすめ記事