2021年05月30日 作成
2022年12月06日 修正
Raspberry PiでLinuxを使うようになると、CPUの負荷やメモリおよびディスクの使用量、ネットワークの使用状況、CPUの温度などの情報が欲しくなります。一般的にこのような情報を監視することをシステムモニターといいます。Linux上でシステムモニターの機能を持つプログラムとしてConkyというプログラムがあります。
Conkyの詳細については、次のサイトを参照願います。
https://gihyo.jp/admin/serial/01/ubuntu-recipe/0391
https://github.com/brndnmtthws/conky
以前よりConkyを使ってシステムの情報が見えるようにしていましたので、その手順について記述します。
ConkyはXウインドウ上で動作するシステムモニタープログラムで、デスクトップ上にCPU負荷などのいくつかのシステム情報を表示するためのプログラムです。私の使用中の画面を示します。
conkyの表示画面
現在表示している主な情報は次の通りです。
• Kernelバージョン
• 日時
• CPU周波数
• メモリ使用量
• Swap使用量
• CPU使用量
• CPU温度
• ディスク使用量
• ネットワーク使用状況、IPアドレス
• 動作しているプロセス
Ubuntu MATEにおけるConkyの導入は次のコマンドで行います。また、Conkyの表示にIPAフォントを使う設定にしていますので、IPAフォントも合わせてインストールをします。
$ sudo apt install conky
$ sudo apt install fonts-ipafont
Conkyはカスタマイズが可能で、個人的に使っているconfigファイルを示します。このファイルは「.conkyrc」としてホームディレクトリに置くことによってConky起動時に読み込まれます。(このconfigは以前にどこかのサイトを参考にして、個人的に微調整しながら使っているものです。)
また、利用するLinuxによっては正常に透明化できないことがあります。10行目の「own_window_argb_visual = true 」行をコメント設定に(先頭に「--」を付加)してみてください。
その他に、システム名については「conky.text = [[ 」内の最初の行を編集してください。
conky.config = {
alignment = 'top_right' ,
background = true ,
use_xft = true ,
-- font = 'Sans:size=10' ,
font = 'IPA Gothic:size=11' ,
xftalpha = 1 ,
own_window = true ,
own_window_type = normal ,
own_window_argb_visual = true ,
own_window_transparent = true ,
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager' ,
double_buffer = true ,
update_interval = 5.0 ,
gap_x = 15 ,
gap_y = 80 ,
maximum_width = 300 ,
default_color = 'white' ,
total_run_times = 0 ,
use_spacer = 'right'
}
conky.text = [[
${font bold:size=16}${alignc}Ubuntu MATE xx.xx${font}
${font bold:size=11}${alignc}$sysname $kernel on $machine${font}
${color lightgrey}$hr
${font bold:size=14}${alignc}${time %x %A}${font}
${font bold:size=38}${alignc}${time %H : %M}${font}
${font } ${font}
${color darkgrey}Uptime:$color $uptime
${color darkgrey}Frequency:$color ${freq_g (1)} GHz
${color lightgrey}$hr
${color darkgrey}RAM Usage:
$color $mem/$memmax – $memperc% ${membar 6}
${color darkgrey}Swap Usage:
$color $swap/$swapmax – $swapperc% ${swapbar 6}
${color lightgrey}$hr
${color darkgrey}CPU Usage:$color ${cpu}% ${cpubar 6}
${color darkgrey} Core1:$color ${cpubar cpu1 5,40} ${cpu cpu1}% $alignr${cpu cpu2}% ${cpubar cpu2 5,40}${color darkgrey} :Core2$color
${color darkgrey} Core3:$color ${cpubar cpu3 5,40} ${cpu cpu3}% $alignr${cpu cpu4}% ${cpubar cpu4 5,40}${color darkgrey} :Core4$color
${color darkgrey}Processes:$color $processes ${color darkgrey}Running:$color $running_processes
${color darkgrey}CPU temp:$color ${texeci 5 ~/CPUtemp.py}°C
${color lightgrey}$hr
${color darkgrey}File systems:
$color ${fs_used /}/${fs_size /} ${fs_bar 6 /}
${color lightgrey}$hr
${color darkgrey}Networking:
${color darkgrey}IP address: $color${addr eth0}${color darkgrey}
Up:$color${upspeed eth0}${color darkgrey}/ Down:$color${downspeed eth0}
${color lightgrey}$hr
${color darkgrey}WiFi Networking:
${color darkgrey}SSID: $color${wireless_essid wlan0}
${color darkgrey}Signal: $color${wireless_bitrate wlan0} – ${wireless_link_qual wlan0}%
${color darkgrey}IP address: $color${addr wlan0}${color darkgrey}
Up:$color${upspeed wlan0}${color darkgrey}/ Down:$color${downspeed wlan0}
${color lightgrey}$hr
${color darkgrey}Name PID CPU% MEM%
${color lightgreen} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color lightgreen} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color lightgreen} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color lightgreen} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
]]
またCPU温度の情報を取得するためにconfigファイルの中でプログラム(CPUtemp.py)を使用しています。その中身は次のとおりです。(このプログラムも以前にどこかのサイトを参考にして、個人的に微調整しながら使っているものです。)
#!/usr/bin/python3
#
f = open("/sys/class/thermal/thermal_zone0/temp","r")
for t in f:
print (t[0:2]+"."+t[2:3]) ,
f.close()
CPUtemp.pyを作成したら、次のコマンでで実行権を付与してください。
$ chmod +x CPUtemp.py
その後、UbuntuやUbuntu MATEの場合には、メニューの「設定」をクリックして「自動起動するアプリ」として以下のように登録します。パラメータの「-p 8」は起動してから8秒後に表示を開始する設定です。
また、Raspberry Pi OS の場合には、ホームディレクトリにある .config ディレクトリ内に autostart というディレクトリを作成し、その中にconky.desktopというファイルを作成し、以下の記述をします。
[Desktop Entry]
Type=Application
Name=Conky
Exec=/usr/bin/conky -p 8
その後、リブートします。
以 上