Conky設定ガイド

  Conky は他に例を見ないほど優れたLinuxシステム監視ツールだ。Conkyは軽量なシステム監視ユーティリティで、システムのほぼあらゆる面に目を配るのに役立ち、設定可能なオプションを非常に多く提供している。ただしそのような柔軟性には代価もあって、Conkyの全設定が保存されている.conkyrcというファイルは、手動で作成して調整する必要がある。しかしいったん.conkyrcファイルの書き方を覚えてしまえば、非常にパワフルなConky設定プロファイルを簡単に作成できるようになる。

conky1_thumb.png
Conky

 .conkyrcファイルは2つのセクションに分かれている。一つはConkyの見掛けを決めるためのもので、もう一つは監視するデータを決めるためのものだ。セクションは「TEXT」というマーカで区切られている。.conkyrcファイルは普通のプレーンテキストファイルなので、好みのエディタを使って編集することができる。

 まず最初にするべきことは、更新間隔、すなわちConkyが監視データを「収集」する頻度の指定だ。そのためには、例えば「update_interval 1.0」や「update_interval 3.0」などとしてupdate_intervalオプションの値を秒単位で指定する。当然ながら数字の具体的な値はどれほど最新のデータを表示したいかによって変更しよう。私のEee PCでは更新間隔を短くしても性能に悪影響がまったく出ないようなので、通常は1秒に設定している。

 デフォルトではConkyは監視データをデスクトップ上に直接表示する(Conkyの文書の表現を借りると「ルートデスクトップウィンドウ上に描画」する)ようになっている。

 しかしその結果としてConkyがちらつくようになることが往々にしてあり、気に障るかもしれない。この問題の対処に役立つオプションは2つある。まずdouble_bufferオプションを設定すれば、Xのダブルバッファ拡張を使うことでちらつきをなくすことができる。double_bufferを有効にしても改善が見られなければ、own_windowオプションを使用してConkyを専用のウィンドウ枠内で実行することもできる。これらのオプションを有効にするには、.conkyrcファイルに以下のような内容を追加しよう。

double_buffer yes
own_window yes

 Conkyはデフォルトでは等幅フォントを使用するが、use_xftオプションとxftfontオプションを指定すればシステム上にインストールしてある任意のフォントを使用することができるようになる。例えばBitstream Vera Sansの8ポイントフォントを使用したい場合には、以下のように設定すれば良い。

use_xft yes
xftfont Bitstream Vera Sans:size=8

 次に、幅/位置/デフォルト色などといったウィンドウ設定を指定してみよう。下の例では、ウィンドウ幅を270ピクセル、デフォルト色を白、位置を上の左側に指定している。

maximum_width 270
default_color white
alignment top_right

 ウィンドウ内の文字がすべて大文字で表示されるのが気に入らないならuppercaseオプションにnoを指定しよう。

uppercase no

 以上で紹介したのは指定可能な設定オプションのほんの一部に過ぎない。全設定オプションのリストはConkyのウェブサイトで見ることができる。

 基本的な表示オプションを設定したので、次に、監視したいシステムパラメータを設定しよう。そのためには、「変数」と呼ばれているものを利用する。つまり例えば、システムのカーネルバージョンを表示したい場合にはkernel変数を使用する。またホスト名を表示したい場合にはnodename変数を追加すれば良い。

$nodename - $kernel

 見てのとおり、.conkyrcファイルの中の各変数には先頭に「$」記号が付いている。Conkyには出力の見掛けを変更することのできる変数もいくつかあって、例えばcolor変数を使用すれば文字色、alignr変数を使用すれば文字の右寄せを指定することができる。具体例を以下に示す。

${color lightgrey}Uptime:$color $uptime $alignr${color lightgrey}Load:$color $loadavg

 「${color lightgrey}」では、文字色を明るい灰色に設定している。一方、色をデフォルト(白)に戻すには、color変数をパラメータなしで使用すれば良い。uptime変数は名前が示す通りで、マシンの稼働時間を表示する。例からも分かる通り、思い通りの効果を得るために、複数の変数を組み合わせることができる。この例では「$alignr${color lightgrey}」というように変数を組み合わせて、「Load:」という文字と、プロセッサの平均負荷を示すloadavg変数の出力の色と右寄せを設定している。また同様に、プロセッサの速度とCPU使用率を表示する変数を指定することもできる。

${color lightgrey}CPU: $color ${freq} Mhz $alignr${color lightgrey} Usage:$color $cpu%

 監視データは、グラフとして視覚化することもできる。例えばcpugraph変数を使えば、CPUの使用率をグラフとして表示できる。パラメータなしで使用した場合にはグラフはデフォルトの一色のみで表示されるが、16進数の色の値を使用してグラデーションを指定すれば、見掛けが格段に良くなる。

${cpugraph 000000 ffffff}

 メモリ関連としては、RAMの総量(memmax)、使用中のメモリ量(mem)、使用中のメモリの割合(memperc)を表示する変数がある。

${color lightgrey}RAM usage:$color $mem/$memmax - $memperc%

 さらに、それらの各データをmembar変数(${membar})を使って帯グラフとして表示することも可能だ。

 ディスクの使用状況の監視についても、fs_free(空き容量)、fs_size(総容量)、fs_bar(使用容量の帯グラフ)などいくつかの変数がある。

${color grey}Disk usage: $color${fs_free /} of ${fs_size /}
${fs_bar 6 /}

 最後にワイヤレスネットワーク接続を監視可能な変数について紹介しよう。まずは監視したいネットワークインタフェースの名前を明らかにする必要があるが、bashでifconfigコマンドを使用すれば利用可能なネットワークインタフェースの一覧を確認することができる。ワイヤレス接続の監視のために利用可能な変数はかなりたくさんあり、例えば、以下のような変数がある。

  • wireless_essid:アクセスポイントのESSID名を返す
  • wireless_mode:Managed/Ad-Hoc/Masterなどのワイヤレスモードを返す
  • wireless_bitrate:11Mb/sなどのビットレート/速度を返す
  • wireless_link_qual:ワイヤレスリンクのリンク品質を返す
  • wireless_link_qual_perc:ワイヤレスリンクのリンク品質を%値で返す
  • wireless_link_bar:ワイヤレスリンクのリンク品質を帯グラフとして表示する

 これらの変数を .conkyrcファイルで使った例を示す。

${color #ffcb48}Wi-Fi ${hr 1}
${color lightgrey}Wireless signal: $color${wireless_link_qual ath0}%
${color lightgrey}IP address: $color${addr ath0}

 ダウンロード/アップロード速度を監視したい場合には、downspeedf変数とupspeedf変数(小数点以下の表示が不要であればdownspeed変数とupspeed変数)を使用すれば良い。

${color lightgrey}Download speed: $color${downspeedf wifi0} Kb/sec

 その他にもdownspeedgraph変数とupspeedgraph変数とがあって、ダウンロード/アップロード速度をグラフとして表示することができる。またダウンロード/アップロードしたデータ総量を監視したい(データ転送量に対して課金されるネットワークを使用しているときに便利だ)場合には、totaldown変数とtotalup変数を利用する。

${color red}Downloaded: $color${totaldown wifi0} $alignr ${color green}Uploaded: $color${totalup wifi0}

 以上をまとめた .conkyrc設定ファイルのサンプル例を以下に示すので、好みに合わせて調整して利用しよう。

# .conkyrc

update_interval 1.0

double_buffer yes
own_window yes

use_xft yes
xftfont Bitstream Vera Sans:size=8

maximum_width 270
default_color white
alignment top_right

uppercase no

TEXT
$nodename - $kernel

${color lightgrey}Uptime:$color $uptime $alignr${color lightgrey}Load:$color $loadavg
${color lightgrey}CPU: $color ${freq} Mhz $alignr${color lightgrey} Usage:$color $cpu%
$color${cpugraph}

${color lightgrey}Processor temperature: $color${acpitemp}°C

${color lightgrey}Battery: $color ${battery}

${color lightgrey}RAM usage:$color $mem/$memmax - $memperc%
${membar}

${color grey}Disk usage: $color${fs_free /} of ${fs_size /}
${fs_bar 6 /}

${color #ffcb48}Wi-Fi ${hr 1}
${color lightgrey}Wireless signal: $color${wireless_link_qual ath0}%
${color lightgrey}IP address: $color${addr ath0}
${color lightgrey}Download speed: $color${downspeedf wifi0} Kb/sec
${downspeedgraph wifi0}
${color red}Downloaded: $color${totaldown wifi0} $alignr ${color green}Uploaded: $color${totalup wifi0}

${color #ffcb48}Ethernet ${hr 1}
${color lightgrey}IP address: $alignr$color${addr eth0}

 Conkyの良さをさらに知りたいなら、UbuntuフォーラムのConkyスレッドを見ると良いだろう。

Dmitri Popovは、ロシア、イギリス、アメリカ、ドイツ、デンマークのコンピュータ雑誌で活躍するフリーランスのライター。

Linux.com 原文