byobuのCPU温度が違うとき

CUIのウィンドウマネージャ・コンソールマルチプレクサであるbyobuのステータスバーには様々な情報を表示できますが、まれにその情報の取得元が間違っていることがあるようです。その修正方法をメモしておきます。

f:id:eblbl:20200521171619p:plain
byobuのステータスバー

要はこれです。
bugs.launchpad.net

byobuステータスバーのCPU温度は

$MONITORED_TEMP, /sys/class/hwmon/hwmon*/temp*_input, /sys/class/hwmon/hwmon*/device/temp*_input, /proc/acpi/ibm/thermal /proc/acpi/thermal_zone/*/temperature

の順に探してはじめに見つけた値を表示しているので、/sys/class/hwmon 以下の最初にCPU温度が来ていないと間違ったものを表示することになります。

対処法は、正しいパスを $MONITORED_TEMP に入れてあげることです。これは ~/.byobu/statusrc にコメントアウトされています。sensorsコマンドと上のいくつかのファイルを見たところ、手元の環境では /sys/class/hwmon/hwmon0/temp2_input が正しいパスのようでした。よって
~/.byobu/statusrc

MONITORED_TEMP=/sys/class/hwmon/hwmon0/temp2_input

として保存し、F5でリロードしたところ正しい温度が表示されました。FANスピードも同様に
~/.byobu/statusrc

FAN=/sys/devices/platform/nct6775.656/hwmon/hwmon0/fan1_input

と書き換えました。