参考サイト
シェルから得られる情報をconkyに表示させる方法が書いてあるので試した。
# sensors
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +44.0°C (high = +85.0°C, crit = +105.0°C)
Core 0: +44.0°C (high = +85.0°C, crit = +105.0°C)
Core 1: +38.0°C (high = +85.0°C, crit = +105.0°C)
Core 2: +35.0°C (high = +85.0°C, crit = +105.0°C)
Core 3: +38.0°C (high = +85.0°C, crit = +105.0°C)
上記の様に表示されるので、Core毎に表示されるを表示するには以下行を追加した。
| cut -c1-18
は1-18文字目までを抜き出すという意味。execはコマンドexecは何秒毎に実行させる場合に使う。
${color2}${execi 1 sensors | grep 'Core 0' | cut -c1-18}°C
${color2}${execi 1 sensors | grep 'Core 1' | cut -c1-18}°C
${color2}${execi 1 sensors | grep 'Core 2' | cut -c1-18}°C
${color2}${execi 1 sensors | grep 'Core 3' | cut -c1-18}°C
# sensorsの出力のPackage id 0というのはCPU全体の温度のことなのか?数値の推移をはほとんどCore 0と同じ。
conkyのデフォルトの関数でも同じ数値が得られた。
${color2}Core0 ${hwmon 0 temp 2}°C
${color2}Core1 ${hwmon 0 temp 3}°C
${color2}Core2 ${hwmon 0 temp 4}°C
${color2}Core3 ${hwmon 0 temp 5}°C
/sys/class/hwmon/hwmon0/name
にcoretempと書かれている。そしてtemp1から5までファイルがある。temp1_labelにはPackage id 0と書かれている。coretempからのデータをファイルに書き込んでいるのだろう。だからsensorsコマンドで拾ってくる値と同じ。
#################################################
CPUの温度を得るだめにはmoduleをロードする必要がある。
# sensors-detect
Optiplex7010の場合は下記がsuccessと表示された。
Intenl degital thermal sensor
(driver 'core-temp')
I/O chipsは下記がyesと表示された。
SMSC
IPMI interface
yesと表示されるmoduleなし
ISA I/O ports
yesと表示されるmoduleなし
I2C/SMBus
これはriskyなのでNoにした。
結果core-tempだけがロードするmoduleとして表示されていた。
メニュー -> システム -> Boot Manager
でmoduleの追加リストを見るとsmscがある。これは必要ではないということか。
試しにロードする設定にしてみたら、option無しでも起動時にロードされていた。
# sensors
の値には変化無しだった。
eth0がデフォルトで有効化されているからか、ケーブルをつないでいなくても表示される。
# ifconfig eth0 down
すると表示されなくなるが、pcを再起動するとまた表示される。
HardInfoでPCIデバイスのethnetを見るとkernel module e1000eとある。
Boot Managerでe1000eをブラックリストに登録する。
再起動してもconkyにeth0は表示されない。
FrisbeeでNetwork Interfaceを見てもloとwlan0だけである。
conkyの設定は~/conkyrcが有効で、~/.conkyrcは無効みたい。
ppmでhddtempをインストール
# hddtemp /dev/sda
/dev/sda: HS-SSD-E100 256G: 30°C
${color2}${execi 1 hddtemp /dev/sda | cut -c11-28} ${alignr}${execi 1 hddtemp /dev/sda | cut -c29-30}°C
上記をconkyrcに加えた。