Fedora 25에서 내 노트북의 하드 드라이브는 APM 수준(전원 관리)이 매우 낮으므로 다음의 udev 규칙을 사용합니다.이 답변그것을 조정하려면 hdparm
. 그러나 일시 중단에서 재개된 후에는 APM 수준이 재설정됩니다. 터미널에서 udev 규칙을 수동으로 트리거하는 것이 가능하므로 자동화하기 위해 다음 시스템 서비스를 사용해 보았습니다.여기그리고여기:-
[Unit]
Description=Re-run udev power_supply rules after resuming from suspend
After=supend.target
[Service]
Type=oneshot
User=root
Group=root
ExecStart=+/bin/sh -c '/usr/sbin/udevadm trigger --subsystem-match="power_supply"'
[Install]
WantedBy=suspend.target
multi-user.target
, 및 , 및 의 조합 도 시도했습니다 default.target
. 그 중 어느 것도 작동하지 않았기 때문에 스크립트를 넣어 보았습니다.sleep.target
WantedBy=
Type=simple
/etc/pm/sleep.d/
이것. 하지만 그것도 작동하지 않습니다(넣어도 작동하지 않습니다 /usr/lib64/pm-utils/sleep.d/
).
마지막으로 매뉴얼 페이지에는 다음과 systemd-suspend.service
같이 나와 있습니다.
...삽입된 스크립트나 바이너리는
/usr/lib/systemd/system-sleep/
로컬 사용을 위한 것이며...해킹으로 간주되어야 합니다. 응용 프로그램이 시스템 일시 중지/최대 절전 모드 및 재개에 대한 알림을 받으려는 경우 더 나은 인터페이스를 사용할 수 있습니다.
그러나 스크립트를 넣는 것은 실제로 작동할 수 있지만 어쨌든 이러한 "더 나은 인터페이스"는 무엇이며 udev 트리거(선호)를 실행하거나 정지에서 다시 시작한 후에 /usr/lib/systemd/system-sleep/
이를 어떻게 사용할 수 있습니까 ? hdparm
더 좋은 점은 udev 규칙이 아닌 일부 정적 구성을 통해 배터리 전원 공급 및 연결 상태 모두에 대해 하드 드라이브 APM 수준을 설정하는 방법이 있습니까?
업데이트 - 수정됨
이제 systemd 서비스가 실행 중입니다. udevadm
다양한 조합을 시도하다가 잘못된 디렉토리에서 실수로 사용한 것 같습니다 . 나는 이미 게시했다답변이것을 명확히하기 위해. 혼란을 드려 죄송합니다. 그러나 질문은 남아 있습니다: 이를 정적으로(udev 규칙 없이) 수행할 수 있는 방법이 있습니까?
답변1
udevadm
처음에는 잘못된 디렉토리( /bin/udevadm
)에서 사용하다가 시도하는 동안 하나 또는 다른 조합의 오류가 발생한 것 같습니다 .이 프로그램은 udevadm
(또는)에서 실행되어야 합니다./sbin
/usr/sbin
현재로서는 다음과 같은 시스템 서비스로 충분합니다.
[Unit]
Description=Re-run udev power_supply rules after resuming from suspend
After=supend.target
[Service]
Type=oneshot
ExecStart=/sbin/udevadm trigger --subsystem-match=power_supply
[Install]
WantedBy=suspend.target
혼란을 드려 죄송합니다.
답변2
그리고이후=보류 중.대상 장치및 WantedBy=multi-user.target sleep.target 설치.
귀하의 경우 두 번째 부분은 입니다 WantedBy=sleep.target
.
한 사람에게 분명히 After=sleep.target
효과가 있는 것은 다른 사람이 사용해야 합니다 After=suspend.target
. 이유는 모르겠습니다. 이를 사용하여 장치의 인터페이스를 실행합니다.다시 덮다문서화되지 않은 것 같아서 실제로 더 좋다고 주장하지는 않습니다.