Ubuntu Weekly Recipe

第391回 ConkyでデスクトップPCの情報をモニタリングする

この記事を読むのに必要な時間:およそ 7 分

無線LANの情報を表示する

無線LANを使っているのであれば,アクセスポイント名やビットレートなども表示したいですよね。⁠$wireless_essid」⁠$wireless_bitrate」はそれぞれ,現在接続中のESSIDとビットレートを表します。⁠$wireless_link_qual_perc」⁠$wireless_link_bar」は,リンク品質をパーセンテージと棒グラフで表示します。

しかしこれらの情報は,無線LANを利用していない状態では不要な情報ですし,そもそも正しく表示できません。不要な情報のために貴重なディスプレイの縦のスペースを割くのはもったいないので,これらの項目は無線LANに接続している時だけに限定して表示するようにしましょう。

「$if_existing」は,1番目のパラメータに指定されたファイルが存在した場合に「$endif」までの内容を表示する機能です。また「$if_existing」に2番目のパラメータを与えた場合,⁠1番目のパラメータのファイルの中に2番目のパラメータの文字列が存在するかどうか」をチェックします。ここでは「/proc/net/route」の中にwlan0という文字列が存在するかどうかで,無線LAN(wlan0)でネットワークに接続しているかどうかを判定しています注11⁠。

注11)
もっといい判定方法があるかもしれませんが,思いつきませんでした。
${if_existing /proc/net/route wlan0}$hr
Wireless:
 ${wireless_essid wlan0} - ${wireless_bitrate wlan0}
        ${wireless_link_qual_perc wlan0}% ${wireless_link_bar wlan0}
${endif}

図9 無線LANに接続するとアクセスポイントの情報が表示される

図9 無線LANに接続するとアクセスポイントの情報が表示される

バッテリー情報を表示する

ノートPCの場合は,バッテリーの情報も表示できます注12⁠。⁠$battery」はバッテリーの状態(例:charging,discharging)と残量をパーセンテージで表示します。⁠$battery_time」は残り時間,⁠$battery_bar」は残容量を棒グラフで表示します。バッテリーの残量を気にするのはモバイルでの利用時でしょうから,ここでも「$if_existing」を使って,⁠/sys/class/power_supply/BAT0/status」が存在する時に限って表示するようにしてみました。

注12)
Unityの場合はインジケーターにあるので不要だとは思いますが。
${if_existing /sys/class/power_supply/BAT0/status}Battery:
 ${battery}
 ${battery_time} ${battery_bar}
$hr
${endif}

図10 ノートPCの場合はバッテリー残量が表示される

図10 ノートPCの場合はバッテリー残量が表示される

プロセス表示を表示する

「$top」を使うと,稼働中のプロセスの情報を表示することができます。⁠$top」は名前と番号のふたつのパラメータを取ります。名前には「name」⁠pid」⁠cpu」⁠mem」といった,topコマンドやpsコマンドで表示可能な項目を指定します。プロセスの一覧はCPU使用率でソートされており,番号はそのうち上位何番目を表示するかを意味します。つまり「${top name 1}」は,もっともCPUを使用しているプロセスの名前に置き換えられます。以下の例では上位4つのプロセスの名前,プロセスID,CPU使用率,メモリ使用率をリアルタイムに表示しています。

Top:
 Name               PID   CPU%   MEM%
 ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
 ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
 ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
 ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}

図11 CPUを使用しているプロセスを表示する

図11 CPUを使用しているプロセスを表示する

著者プロフィール

水野源(みずのはじめ)

Ubuntu Japanese Teamメンバー。理想のフリーデスクトップ環境を求めて東へ西へ……のはずが,気がついたら北の大地で就職していたインフラ寄りのエンジニア。最近レンズ沼にハマる。