MyTetra Share
Делитесь знаниями!
Как в Linux сделать предупреждение при повышении температуры видеокарточки
Время создания: 18.05.2012 01:32
Текстовые метки: linux, watchdog, gpu, температура
Раздел: Компьютер - Linux - Bash - Команды и скрипты
Запись: xintrea/mytetra_syncro/master/base/1337290353rip1ccjxjl/text.html на raw.github.com

Следующие действия написаны для карточки семейства NVidia.


Нужно сделать файл /usr/bin/gputemp.sh следующего содержания:


#!/bin/sh


temperature=`nvidia-settings --ctrl-display=:0 -q GPUCoreTemp | grep Attribute | awk '{print $4}' | sed 's/\.//'`


if test ${temperature} -gt 42

then


# Получаем номера активных дисплеев.

# Это нужно, чтобы сообщение открывалось не только на дисплее :0, если в системе

# одновременно открыто несколько сессий с разными пользователями

disp=`ps -ef | awk '$8 ~ /X$/ {print $9}'`


#echo ${disp}


for n in $disp

do


export DISPLAY=${n}

zenity --info --title="Warning" --text="Ядро видеокарты слишком горячее. Текущая температура ${temperature} C. Проверьте, включен ли кулер." &


done


fi


Затем от рута надо дать команду:


crontab -e


И в открывшемся редакторе добавить строчку:


*/2 * * * * root /usr/bin/gputemp.sh


Эта запись означает, что проверка будет вызываться каждую вторую минуту.


Далее, под правами рута открыть на редактирование файл /etc/profile, и в конец файла дописать строку:


xhost +local:


Комментарий: Данная команда обязательно должна выполниться после запуска X-сервера. По умолчанию, X-сервер настроен так, что соединяться с ним и открывать окна могут только программы от пользователя, зарегистрированного в данный момент в системе. Сервер samba работает под системаным пользователем nobody (так же как и, например программа cron). Поэтому любые попытки запустить X-приложение из samba (или например из cron), будут отвергаться X-сервером


Команда xhost +local:, запущенная от текущего пользователя, настраивает X-сервер так, что он начинает принимать локальные (в пределах компьютера) соединения от любого пользователя. Таким образом, X-программа zenity, которая вызывается из скрипта /usr/bin/getnetsend.sh из-подпользователя nobody, сможет нормально работать.


Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования