¿Cómo puedo ajustar la velocidad del ventilador según la temperatura del disco duro a través de Fancontrol?
Respuesta aceptada:
Finalmente encontré un script simple para controlar la velocidad del ventilador según la temperatura del disco duro a través de Fancontrol , temporizador de disco duro , y sensores Lm . En el siguiente script, “/dev/sda ” es el disco duro a monitorear, y “/Fancontrol/Hddtemp ” es el archivo de salida que leerá Fancontrol. Presione Ctrl
sudo hddtemp /dev/sd[a-z]
Use solo el compatible con Hddtemp, que mostrará la temperatura en lugar de “S.M.A.R.T. No disponible".
Reemplace “/dev/sda ” con la correcta en el guión si es necesario.
Si aún no ha configurado Fancontrol, consulte esta página , esta página y esta página y ejecute los siguientes comandos uno por uno (reinicie Linux después de ejecutar el primero):
sudo sensores-detectar
ver sensores
sudo pwmconfig
sudo service fancontrol start
Luego, realice el siguiente procedimiento:
(1) Ejecute el siguiente comando para crear un archivo de secuencia de comandos.
sudo mkdir -p “/Fancontrol/” &sudo xed /Fancontrol/HDD_temp
(2) Copie el siguiente script en el archivo y guárdelo.
#!/bin/bash
File=/Fancontrol/Hddtemp
while true
do
temperature=$(sudo hddtemp -n /dev/sda)
echo $(($temperature * 1000)) > "$File"
sleep 30
done
(3) Ejecute el siguiente comando para hacerlo ejecutable.
sudo chmod +x /Fancontrol/HDD_temp
(4) Ejecute el siguiente comando para crear un archivo de servicio.
sudo xed /lib/systemd/system/HDD_temp.service
(5) Copie las siguientes líneas en el archivo y guárdelo.
[Servicio]
ExecStart=/Fancontrol/HDD_temp
[Instalar]
WantedBy=multi-user.target
(6) Ejecute los siguientes comandos uno por uno:
sudo chmod 664 /lib/systemd/system/HDD_temp.service
sudo systemctl daemon-reload
sudo systemctl start HDD_temp.service
sudo systemctl enable HDD_temp.service
Luego, el script “HDD_temp ” se ejecutará como un servicio del sistema al iniciar Linux.
(7) Ejecute el siguiente comando para editar "fancontrol ”, el archivo de configuración.
sudo xed /etc/fancontrol
Busque la línea que comienza con "FCTEMPS ”. Por ejemplo:
FCTEMPS=hwmon1/pwm1=hwmon1/temp1_entrada
En esa línea, “hwmon1/temp1_input ” es la temperatura (por ejemplo, la temperatura del conjunto de chips) actualmente leída por Fancontrol. Reemplácelo con “/Fancontrol/Hddtemp ”, y la línea se convertirá en:
FCTEMPS=hwmon1/pwm1=/Fancontrol/Hddtemp
Guarde el archivo y ejecute el siguiente comando para reiniciar Fancontrol.
reinicio del control de ventilador del servicio sudo
Luego, el ventilador controlado por “hwmon1/pwm1 ” responderá a “/Fancontrol/Hddtemp ”, la temperatura del disco duro. Tenga en cuenta que "HDD_temp" y "Hddtemp" son el archivo de script y el archivo de salida respectivamente. No los confundas.
Relacionado:Windows:¿cómo forzar la página de códigos/la configuración regional (diferente de la configuración regional del sistema Linux) para las aplicaciones Wine que no son Unicode?