سكربت BASH لطباعة حرارة الكمبيوتر
هذا سكربت BASH قد كتبته، لطباعة درجة حرارة كل من:
- ال CPUs.
- ال GPU.
- ال Disks.
- ال TINs sensors.
يمكنك تعديلها كما تريد على حسب الحاجة لتناسب نظام اللينكس الخاص بك.
لتشغيلها، يجب ان تكون جذر (root
) او استعمل الـ sudo
. ﻷنه يعتمد على smartctl
لا يمكن تشغيله من قبل المستخدمين العاديين. الا اذا قمت بتغيير المجموعة التي تنتمي اليها الــ /sbin/smartctl
الى احدى المجموعات التي تنتمي انت إليها. او عن طريق اضافة ACL اضافي الى هذا الملف.
و هذا هو مصدر الشفرة البرمجية:
#!/bin/bash # ------------------------------------------------------------ # Script: systemps # License: GPL3 # By: Mubarak Alrashidi (DeaDSouL) # Social: t: @_DeaDSouL_ G+: +MubarakAlrashidi # URL: http://unix.cafe # ------------------------------------------------------------ CPUS=2 # total number of CPU(s) NOT cores TINS=(SYSTIN CPUTIN AUXTIN0 AUXTIN1 AUXTIN2 AUXTIN3) # ------------------------------------------------------------ sensors=`sensors` # CPU(s) for ((i=0; i<"${CPUS}";i++)); do temp_cpu=`echo "${sensors}" | egrep "^Physical id ${i}" | awk '{print $4}' | cut -c '2,3'` echo " CPU ${i}: ${temp_cpu}.0°C" done; echo '' # nVidia GPU 0 temp_gpu0=`nvidia-smi -q -d TEMPERATURE | grep 'GPU Current Temp' | awk '{print $5}'` echo " GPU 0: ${temp_gpu0}.0°C"; echo '' # Disks for i in $(lsblk | egrep ^sd | awk '{print $1}'); do echo " ${i}: $(smartctl -A /dev/${i} | egrep '^194|^190' | awk '{print $10}').0°C" done; echo '' # SYSTIN CPUTIN AUXTIN0 AUXTIN1 AUXTIN2 AUXTIN3 for i in "${TINS[@]}"; do s='' temp_tin=`echo "${sensors}" | egrep "^${i}" | awk '{print $2}' | tr -d '+'` [[ "$i" == 'SYSTIN' || "$i" == 'CPUTIN' ]] && s=' ' echo "${s}${i}: ${temp_tin}" done
تستطيع ايصياً تحميلها من هنا: SysTemps_script.tar.gz
استمتع بتوزيعتك اللينكساويه 🙂