« Conkyのカスタマイズ その3 | トップページ | メールソフト変更 ShurikenからThunderbirdへ »

2021年5月29日 (土)

Conkyのカスタマイズ その4

20210529

Conkyは下手に凝っていじりだすと、時間を忘れて大変なことになるので、とりあえず完成させます。

1.sensorsの実行

当初の重要な目的であった、CPU温度とCPUファンの回転速度をモニターするためには、

Conkyからsensorsを実行して結果を読みこんでやる必要があります。

sensorsは、最近のMintには標準で入っていると思います。しかし、初期は、センサー情報を正しく読み込んでいないので、一度、センサー情報を取得します。

$ sudo sensors-detect

と実行。

数回、質問されますが、基本的にはリターンキーを押すと、大文字で書かれた答えがデフォルトとして入力されます。(YES/no)であれば、デフォルトはYESです。

しかし、以下の質問に対してだけは、デフォルトがNOになっていますので、必ず、YESと入力します。

Do you want to add these lines automatically to /etc/modules? (yes/NO)

Successful!

と表示されれば、OK。

再起動後から、モジュールがロードされ、sensorsコマンドが有効になります。

sensorsコマンドを入力して、以下のようにすべての情報が表示されればOKです。

hogehoge@MS-7B86:~$ sensors
k10temp-pci-00c3
Adapter: PCI adapter
Tdie: +44.1°C (high = +70.0°C)
Tctl: +44.1°C

nct6797-isa-0a20
Adapter: ISA adapter
in0: 464.00 mV (min = +0.00 V, max = +1.74 V)
in1: 1.02 V (min = +0.00 V, max = +0.00 V) ALARM
in2: 3.36 V (min = +0.00 V, max = +0.00 V) ALARM
in3: 3.41 V (min = +0.00 V, max = +0.00 V) ALARM
in4: 1000.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in5: 144.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in6: 744.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in7: 3.36 V (min = +0.00 V, max = +0.00 V) ALARM
in8: 3.25 V (min = +0.00 V, max = +0.00 V) ALARM
in9: 1.83 V (min = +0.00 V, max = +0.00 V) ALARM
in10: 0.00 V (min = +0.00 V, max = +0.00 V)
in11: 672.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in12: 1.05 V (min = +0.00 V, max = +0.00 V) ALARM
in13: 672.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in14: 1.54 V (min = +0.00 V, max = +0.00 V) ALARM
fan1: 0 RPM (min = 0 RPM)
fan2: 817 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
fan4: 0 RPM (min = 0 RPM)
fan5: 0 RPM (min = 0 RPM)
fan6: 708 RPM (min = 0 RPM)
SYSTIN: -3.0°C (high = +80.0°C, hyst = +75.0°C) sensor = CPU diode
CPUTIN: +42.0°C (high = +115.0°C, hyst = +90.0°C) sensor = thermistor
AUXTIN0: +40.5°C (high = +115.0°C, hyst = +90.0°C) sensor = thermistor
AUXTIN1: -128.0°C sensor = thermistor
AUXTIN2: +44.0°C sensor = thermistor
AUXTIN3: -3.0°C sensor = thermistor
SMBUSMASTER 0: +44.0°C
PCH_CHIP_CPU_MAX_TEMP: +0.0°C
PCH_CHIP_TEMP: +0.0°C
PCH_CPU_TEMP: +0.0°C
intrusion0: ALARM
intrusion1: ALARM
beep_enable: disabled

この中から、BIOS情報などを参考にCPU温度とCPUファンの情報が何行目にあるか、あたりをつけます。

この例でいえば、CPU温度は、CPUTIN:、CPUファン回転速度は、fan2:のキーのところに表示されていると推測できます。

このキーワードは後で使用します。

2.HDDTEMPの実行

次は、HDDの温度です。

HDDの温度の取得は、そのまんまhddtempというプログラムを使います。これも標準でインストールされています。

hogehoge@MS-7B86:~$ sudo hddtemp /dev/sda
/dev/sda: CT120BX500SSD1: 41°C

のように使います。

なぜか、hddtempはroot権限が必要なので、誰でも実行できるように、SUID(Set User ID)の指定を行います。

sudo chmod u+s /usr/sbin/hddtemp

で指定可能です。

ちなみに接続されているディスク名一覧を表示するには、

sudo fdisk -l

と入力します。

3..conkyrcへの記述

次に実際にセンサー温度などを表示する記述方法を示します。コマンドとしては以下のようになります。

${execi 1 sensors | grep 'CPUTIN' | cut -c 26-32}

ここでexeciは、一定のインターバルでシェルコマンドを実行し、出力をConkyに表示するものです。

execi interval command

の構文です。

上記の例で言えば、

intervalは、1(s)

commandは、sensors | grep 'CPUTIN' | cut -c 26-32

になります。

シェルコマンドの詳細は解説サイトなどを参照していただくとして、

この意味は、1秒ごとにsensorsを実行して出力される複数行の中から、'CPUTIN'の文字列が含まれる行のみを選択し、26文字目から32文字目までの文字列を出力することです。

hddtempも全く同じように記述できます。hddtempの場合は、出力が1行ですから、grepは不要です。

ここまで理解できると、あとはひたすらプログラムしていくだけです。Conkyの変数一覧は常に参照しましょう。

参考までに自分の環境例をさらしておきます。

基本的にシェルコマンドが使えますから、いろいろな応用ができそうです。

conky.config = {
alignment = 'bottom_right',
background = true,
border_width = 1,
cpu_avg_samples = 12,
default_color = 'grey',
default_outline_color = 'white',
default_shade_color = 'white',
draw_borders = false,
draw_graph_borders = true,
draw_outline = false,
draw_shades = false,
double_buffer = true,
use_xft = true,
font = 'TNoto Sans CJK JP:style=Regular:size=10',
gap_x = 5,
gap_y = 5,
minimum_height = 5,
minimum_width = 225,
net_avg_samples = 2,
no_buffers = true,
out_to_console = false,
out_to_stderr = false,
extra_newline = false,
own_window = true,
own_window_class = 'Conky',
own_window_type = 'desktop',
own_window_argb_visual = true,
own_window_colour = 'black',
own_window_argb_value = 200,
stippled_borders = 0,
update_interval = 1.0,
uppercase = false,
use_spacer = 'none',
show_graph_scale = false,
show_graph_range = false
}

conky.text = [[
$alignc conky ver ${conky_version}
$alignc$nodename - $sysname $kernel
${hr 1}
$alignc${color orange}${font Noto Sans Display:style=Bold Italic:size=28}${time %k:%M:%S}${font TNoto Sans CJK JP: size=12}
$alignc${color white}${time %Y/%m/%d (%a)}${font}
$color${hr 1}
CPU USAGE: ${color lightgreen} $alignr$freq(MHz)
${color}$alignc 01 ${cpugraph cpu1 13,85 ffaa00 ffaa00} ${color} 07 ${cpugraph cpu7 13,85 ffaa00 ffaa00}
${color}$alignc 02 ${cpugraph cpu2 13,85 ffaa00 ffaa00} ${color} 08 ${cpugraph cpu8 13,85 ffaa00 ffaa00}
${color}$alignc 03 ${cpugraph cpu3 13,85 ffaa00 ffaa00} ${color} 09 ${cpugraph cpu9 13,85 ffaa00 ffaa00}
${color}$alignc 04 ${cpugraph cpu4 13,85 ffaa00 ffaa00} ${color} 10 ${cpugraph cpu10 13,85 ffaa00 ffaa00}
${color}$alignc 05 ${cpugraph cpu5 13,85 ffaa00 ffaa00} ${color} 11 ${cpugraph cpu11 13,85 ffaa00 ffaa00}
${color}$alignc 06 ${cpugraph cpu6 13,85 ffaa00 ffaa00} ${color} 12 ${cpugraph cpu12 13,85 ffaa00 ffaa00}
${color}${alignr}Processes:${color lightgreen} $processes ${color}Running:${color lightgreen} $running_processes$color
${color}${alignr}Uptime:${color lightgreen} $uptime
$color${hr 1}
#${color grey}Vcore Voltage:$color $alignr${execi 1 sensors | grep 'Vcore Voltage' | cut -c 22-28}
Temperatute:
CPU:${color lightgreen} $alignr${execi 1 sensors | grep 'CPUTIN' | cut -c 26-32}
${color} M/B:${color lightgreen} $alignr${execi 1 sensors | grep 'AUXTIN0' | cut -c 26-32}
${color} SSD:${color lightgreen} $alignr${execi 1 hddtemp /dev/sda1 | cut -c 27-32}
${color} HDD:${color lightgreen} $alignr${execi 1 hddtemp /dev/sdb1 | cut -c 31-36}
${color}${hr 1}
FAN Speed:
CPU:${color lightgreen} $alignr${execi 1 sensors | grep 'fan2' | cut -c 20-31}
${color} Chassis:${color lightgreen} $alignr${execi 1 sensors | grep 'fan6' | cut -c 20-31}
$color${hr 1}
Memory:
${color lightgreen} $mem/$memmax - $memperc% $color${membar 10}
#${color}Swap U:${color lightgreen} $swap/$swapmax - $swapperc% ${swapbar 10}
$color${hr 1}
Disk:
SSD ${color lightgreen}${fs_used /}/${fs_size /} $color${fs_bar 10 /}
${color}HDD ${color lightgreen}${fs_used /hdd2}/${fs_size /hdd2} $color${fs_bar 10 /hdd2}
${color}DIO(SSD):${color lightgreen}${diskio /dev/sda} ${color}${alignr}DIO(HDD):${color lightgreen}${diskio /dev/sdb}
${color}${diskiograph /dev/sda 25,110 00aa00 ffff7f -t} ${alignr}${diskiograph /dev/sdb 25,110 00aa00 ffff7f -t}
$color$hr
Networking:
Up:${color lightgreen} ${upspeed enp34s0} ${color}${alignr}Down:${color lightgreen} ${downspeed enp34s0}
${color}${upspeedgraph enp34s0 25,110 00aa00 ffff7f -t} ${alignr}${downspeedgraph enp34s0 25,110 00aa00 ffff7f -t}
Up total: ${color lightgreen}${totalup enp34s0}${color}${alignr}Dn total: ${color lightgreen}${totaldown enp34s0}
$color${hr 1}
GPU Temp:${color lightgreen} $alignr${nvidia temp}℃
${color}GPU Freq:${color lightgreen} $alignr${nvidia gpufreq}MHz
$color${hr 1}
Top5 Processes:(CPU% MEM%)
${top name 1} ${top cpu 1} ${top mem 1}
${top name 2} ${top cpu 2} ${top mem 2}
${top name 3} ${top cpu 3} ${top mem 3}
${top name 4} ${top cpu 4} ${top mem 4}
${top name 5} ${top cpu 5} ${top mem 5}
]]

それから、この中で何度も登場するカラーの指定には、16進数コードを使用しますが、KColorChooserがとにかく便利なので、インストールをおすすめします。

Kcolorchooser

 

 

« Conkyのカスタマイズ その3 | トップページ | メールソフト変更 ShurikenからThunderbirdへ »

Linux」カテゴリの記事

コメント

この記事へのコメントは終了しました。

2023年6月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
無料ブログはココログ