Ubuntu 12.10でConkyを設定する
※2013年10月3日、ビデオカードの温度を表示する(RADEON + オープンソースドライバー編)を更新。
Conkyはデスクトップに貼り付くシステムモニター。
インストール
端末で以下のように行う。
sudo apt-get install conky
CPUの温度を表示したい場合はlm-sensorsもインストールする。
HDDの温度を表示したい場合はhddtempもインストールする。
sudo apt-get install hddtemp
インストール中にデーモンについて聞かれるので、Tabキーを押してはいを選び、Enterキーを押す。
自動起動
Conkyはログイン時に自動起動しないので、自力で自動起動するように設定する。
端末で以下を実行。
bash -c "echo '[Desktop Entry]'$'\n''Type=Application'$'\n''Exec=conky -p 15'$'\n''Hidden=false'$'\n''NoDisplay=false'$'\n''X-GNOME-Autostart-enabled=true'$'\n''Name=Conky' > ~/.config/autostart/conky.desktop"
ConkyがCompizよりも先に起動すると表示が変になるので、上記の設定ではログイン後15秒経ってから起動するようになっている。
設定
設定は~/.conkyrcという隠しファイルを自力で作成して行う。
gedit ~/.conkyrc
公式サイトにサンプルや使用できる変数の一覧などがあるので、それらを参考にする。
Conkyに表示される情報は、.conkyrcのTEXTと書かれた行より下に設定を記述するようになっている。
- TEXTの書式について
-
- 変数の前には$を付ける。例えばCPU使用率を表示したい場合は$cpu%と書けば○○%と表示される。
- 変数にオプションを付けたい場合は{}で括る。例えば${color blue}と書くと以降の文字色が青になる。
- スペースや改行はそのまま表示に反映される。
- 色の指定は、色の名前か16進数で行う。
- 文字の色を変更する
-
${color lightgrey}Temp ${color}${hr}
- 文字の表示を変更する
-
${font Ubuntu:bold:size=20}Networking${font}
- フォント名を記述すると、その部分のフォントが変更される。使用できるフォント名はfc-listコマンドで調べることが出来る。
- 文字の大きさは:size=数値で変更できる。
- 太字にしたい場合は:bold、斜体にしたい場合は:italicと記述する。
- ${font}とだけ記述すると標準設定に戻る。
- Conkyの背景に画像を表示する
-
${image ~/.conky/background.png -p 0,0 -s 1920x1080}
- 一つ目の引数は背景にしたい画像のパス。
- その画像を表示する位置は、-p 数値,数値で指定可能。たぶん省略可能。
- その画像のサイズは-s 数値x数値で指定可能。たぶん省略可能。
- CPUの使用率を表示する
-
CPU1: ${cpu cpu1}% ${alignr}${cpubar cpu1 5,250} CPU2: ${cpu cpu2}% ${alignr}${cpubar cpu2 5,250} ${color blue}${cpugraph cpu1 10,160 0000ff 00ff00}${alignr}${color blue}${cpugraph cpu2 10,160 0000ff 00ff00}${color}
- 全CPUの使用率を纏めて表示したい場合は${cpu}と書けばよいらしい。
- $alignrは、それ以降を右に寄せて表示する変数。
- cpubarの二つ目のオプションは高さ,幅。
- cpugraphの三つ目と四つ目のオプションはグラフ内の色の指定。四つ目から三つ目に色が変化する。
- CPUの温度を表示する
-
CPU1: ${execi 90 sensors | grep 'Physical id 0' | cut -c18-21}℃
CORE1: ${execi 90 sensors | grep 'Core 0' | cut -c18-21}℃ CORE2: ${execi 90 sensors | grep 'Core 1' | cut -c18-21}℃
- 事前にlm-sensorsをインストールして設定しておく必要がある。
- 上記の設定では90秒ごとに温度をチェックする。
- cut以降の数字は、lm-sensorsが返した文字列をgrepした文字列の何文字目から何文字目まで表示するかの設定。上記の設定では18文字目〜21文字目を表示する。環境によって数値は異なる。
- 参考ページ:lm-sensors で CPU 温度の確認
- ビデオカードの温度を表示する(RADEON + Catalyst編)
-
GPU ${texeci 60 aticonfig --odgt | grep 'Temperature' | cut -c 43-47}℃
- 事前にメーカー純正のドライバー(fglrxとか)をインストールして、端末でsudo aticonfig --initialと実行しておく必要がある。
- 上記の設定では60秒ごとに温度をチェックする。
- 参考ページ: PythonでATi GPUの監視ツールをつくってみることにした (1)
- ビデオカードの温度を表示する(RADEON + オープンソースドライバー編)
-
GPU: ${execi 60 sensors | awk 'BEGIN {line = -1} {if ($0 ~ /radeon-pci-0200/) { line=NR+2;} if (NR == line) {print substr($2,2,4)}}'} ℃
- Ubuntu標準のドライバーを使用している場合は、lm-sensorsを使って温度を取得する。
- メモリの使用率を表示する
-
RAM Usage: ${mem}/${memmax} - ${memperc}%${alignr}${membar 5,70} Swap Usage: ${swap}/${swapmax} - ${swapperc}%${alignr}${swapbar 5,70}
- ネットワークの使用率を表示する
-
⇩ ${downspeed eth0} k/s ${alignr}${totaldown eth0} total ⇧ ${upspeed eth0} k/s ${alignr}${totalup eth0} total ${color 8844ee}${downspeedgraph eth0 10,160 ff0000 0000ff} ${alignr}${color 22ccff}${upspeedgraph eth0 10,160 0000ff ff0000}${color}
- ドライブの容量と使用率を表示する
-
/ ${fs_bar 10,50 /} | ${fs_used /} / ${fs_size /} | ${fs_used_perc /}% Files ${fs_bar 10,50 /mnt/Files} | ${fs_used /mnt/Files} / ${fs_size /mnt/Files} | ${fs_used_perc /mnt/Files}%
- マウント先を指定することで個別に表示可能。
- ドライブへの読み込み・書き込みを表示する
-
/ : ${diskio /dev/sda1}${alignr}${diskiograph /dev/sda1 10,100 104E8B 0077ff 750} ALL : ${diskio}${alignr}${diskiograph 10,100 104E8B 0077ff 750}
- デバイス名を指定することで個別に表示可能。
- diskiographの最後のオプションはグラフの大きさ。数字を大きくすればするほどY軸の値が大きくなる。
- 読み込みと書き込みを別々に表示したい場合はdiskio_read変数とdiskio_write変数を使用する。
- HDDの温度を表示する (その1)
-
HDD1 ${texeci 300 hddtemp /dev/sda | cut -f2-3 -d" " | tr -d "°C"}℃
- 事前に端末で sudo chmod u+s /usr/sbin/hddtemp というコマンドを実行しておく必要がある。
- cutコマンドのオプションは、環境に合わせて変更する必要がある。
- HDDの温度を表示する (その2)
-
HDD1 ${texeci 300 nc 127.0.0.1 7634 | cut -c11-26}℃ HDD2 ${texeci 300 nc 127.0.0.1 7634 | cut -c40-60}℃
- 事前にhddtempをインストールしてデーモンとして起動しておく必要がある。
- 二つ目の引数の数字が更新間隔。上記の設定では300秒ごとに更新する。
- nc 127.0.0.1 7634の部分が温度を取得するコマンド(と引数)。7634という数値はポート番号で、/etc/default/hddtempを編集することで変更可能。
- ncコマンドで表示される文字列は、メーカー名や型番、温度がくっついた状態なので、cutコマンドの-cオプションを使って必要な部分を切り出す。上記の設定では11文字目〜26文字目、40文字目〜60文字目を表示する。環境によって数値は異なる。
- 参考ページ:ubulog: ubuntuでHDDの温度を計る
- CPUを使用しているアプリケーションを表示する
-
Name PID CPU% MEM% ${color ddaa00} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1} ${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2} ${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3} ${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
- CPU負荷の高いアプリケーションランキング。10位まで表示可能。
- メモリを使用しているアプリケーションを表示する
-
Mem usage ${color ddaa00} ${top_mem name 1} ${top_mem pid 1} ${top_mem cpu 1} ${top_mem mem 1} ${color lightgrey} ${top_mem name 2} ${top_mem pid 2} ${top_mem cpu 2} ${top_mem mem 2} ${color lightgrey} ${top_mem name 3} ${top_mem pid 3} ${top_mem cpu 3} ${top_mem mem 3}
- メモリ消費量の多いアプリケーションランキング。10位まで表示可能。
以下は私が使用してるconkyrcのサンプル。
# http://1204lts.blogspot.jp/2012/12/ubuntuconky-conky-gray.html use_xft yes xftfont Ricty:size=12 alignment bottom_right background no border_width 1 default_color white default_outline_color grey default_shade_color grey draw_borders no draw_graph_borders yes draw_outline no draw_shades no gap_x 5 gap_y 5 minimum_size 900 40 double_buffer yes out_to_console no own_window yes own_window_class Conky own_window_type normal own_window_transparent no own_window_argb_visual yes own_window_argb_value 155 own_window_colour 1B0D18 own_window_hints below,sticky,skip_taskbar,skip_pager stippled_borders no update_interval 1.0 uppercase no use_spacer none show_graph_scale no show_graph_range no TEXT ${alignr}R ${diskio_read sda1} W ${diskio_write sda1} | ${fs_used_perc /}% | ${fs_used /} / ${fs_size /} ${fs_bar 10,50 /} / ${alignr}R ${diskio_read} W ${diskio_write} ${diskiograph 10,50 104E8B 00BFFF 750} ${texeci 300 hddtemp /dev/sdc | cut -f2-3 -d" " | tr -d "°C"}℃ CPU0: ${execi 70 sensors | grep 'Physical id 0' | cut -c18-21}℃ | CPU1: ${execi 80 sensors | grep 'Core 0' | cut -c18-21}℃ | CPU2: ${execi 90 sensors | grep 'Core 1' | cut -c18-21}℃ | GPU: ${texeci 60 aticonfig --odgt | grep 'Temperature' | cut -c 43-47}℃ | ⇩${totaldown eth0} | ⇧${totalup eth0} ${alignr}${uptime}
更新履歴
※2013年6月15日、次の三つを更新。CPUの使用率を表示する。ビデオカードの温度を表示する。HDDの温度を表示する。
※2012年12月13日、次の三つを更新。文字の表示を変更する、Conkyの背景に画像を表示する、ビデオカードの温度を表示する(RADEON編)。
※2012年12月5日、自動起動を修正。通りかかった人さん、ご指摘ありがとうございます。