[メモ](らずぱい) conkyでシステムモニター

- [conky](https://github.com/brndnmtthws/conky)<br>![conky](https://qiita-image-store.s3.amazonaws.com/0/75594/b9f440e7-68dd-89f1-a282-b840050ecf4c.png)

## 概要
- Linuxのデスクトップにシステムステータスを表示するやつ...って、よく忘れるので、メモ。
- [conky](https://github.com/brndnmtthws/conky)っていう名前も忘れるし([`Linux デスクトップ ステータス 表示`](https://www.google.com/search?q=Linux+デスクトップ+ステータス+表示)とかで検索)、設定もその都度、調べるし...ここに書いておけば自分の記事検索すればいいしね。
- 設定は、 [`conky settings raspberry pi`](https://www.google.com/search?q=conky+settings+raspberry+pi)というキーワードでググって出てきた、Jeffさん?の[Conky for the Raspberry Pi](https://jeffskinnerbox.wordpress.com/2012/11/02/conky-for-the-raspberry-pi/)のところの設定をベースに、4つのCPU対応にしただけ。

## 環境
- Raspberry Pi 2
- Raspbian: [`2017-02-16-raspbian-jessie.img`](https://www.raspberrypi.org/downloads/raspbian/)

    ```shell-session
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.4.48-v7+ #964 SMP Mon Feb 13 16:57:51 GMT 2017 armv7l GNU/Linux
```
- 縦720ピクセル向け?


## 手順
1. [いつも](http://qiita.com/mt08/items/edefa35a7cefc726379e)の(img焼いて、パッケージアップデート)
2. conkyインストール<br>`sudo apt-get install conky-all`
3. 設定 : `${HOME}/.conkyrc`

    ```bash:/home/pi/.conkyrc
	# --------------------------------------------------------------------------------------------- #
	#
	# .conkyrc - derived from various examples across the 'net
	#
	# Some of the sites that proved most usful include:
	#   http://mylinuxramblings.wordpress.com/2010/03/23/how-to-configure-the-conky-system-monitor/`
	#   http://crunchbanglinux.org/wiki/conky
	#   http://lusule.wordpress.com/2008/08/07/how-to-4/
	#
	# --------------------------------------------------------------------------------------------- #
	 
	# -------------------- Conky's Run Time Parameters -------------------- #
	 
	update_interval 2.0                     # Conky update interval in seconds
	total_run_times 0                       # Number of updates before quitting.  Set to zero to run forever.
	no_buffers yes                          # Subtract file system buffers from used memory?
	cpu_avg_samples 2                       # Number of cpu samples to average. Set to 1 to disable averaging
	net_avg_samples 2                       # Number of net samples to average. Set to 1 to disable averaging
	 
	# -------------------- Conky's General Look & Feel -------------------- #
	 
	# --- defualt values --- #
	default_color grey                      # Default color and border color
	default_bar_size 0 6            # Specify a default width and height for bars.
	default_gauge_size 25 25        # Specify a default width and height for gauges.
	default_graph_size 0 25         # Specify a default width and height for graphs.
	default_outline_color green     # Default border and text outline color
	default_shade_color yellow      # Default border and text shading color
	 
	# --- predefined colors - http://www.kgym.jp/freesoft/xrgb.html --- #
	color0 FFFFFF                           # white
	color1 FFA500                           # orange
	color2 B22222                           # firebrick
	color3 696969                           # dim gray
	color4 D3D3D3                           # light gray
	color5 2F4F4F                           # dark slate gray
	color6 FFEC8B                           # light golden rod
	color7 54FF9F                           # sea green
	color8 FF8C69                           # salmon
	color9 FFE7BA                           # wheat
	 
	# --- window layout & options --- #
	own_window yes                          # Conky creates its own window instead of using desktop
	own_window_type normal          # If own_window is yes, use type normal, desktop, or override
	own_window_transparent yes      # Use pseudo transparency with own_window?
	own_window_colour blue          # If own_window_transparent is no, set the background colour
	double_buffer yes                       # Use double buffering (reduces flicker)
	use_spacer right                        # Adds spaces to stop object from moving
	maximum_width 600                       # Maximum width of window in pixels
	own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
	 
	# --- window placment --- #
	alignment top_right
	 
	# --- borders, margins, and outlines --- #
	draw_graph_borders yes          # Do you want to draw borders around graphs
	border_inner_margin 9           # Window's inner border margin (in pixels)
	border_outer_margin 5           # Window's outer border margin (in pixels)
	gap_x 10                                        # Gap between borders of screen and text (on x-axis)
	gap_y 24                                        # Gap between borders of screen and text (on y-axis)
	border_width 10                         # Window's border width (in pixels)
	 
	# --- Text --- #
	draw_outline no                         # Do you want ot draw outlines
	draw_shades no                          # Do you want to draw shades
	draw_borders no                         # Do you want to draw borders around text
	uppercase no                            # set to yes if you want all text to be in uppercase
	use_xft yes                                     # use the X FreeType interface library (anti-aliased font)
	xftfont Monospace:size=8:weight=bold    # Xft font to be used
	 
	# -------------------- Conky's Displayed System Monitoring Parameters -------------------- #
	TEXT
	# Title / Banner message
	${color5}
	${alignc 40}${font Arial Black:size=22}${time %H:%M:%S}${font}
	${alignc}${time %A} ${time %B} ${time %d}, ${time %Y}
	$color
	 
	# General system information
	${color1}SYSTEM INFORMATION ${hr 2}$color
	${color0}System: $color$nodename ${alignr}${color0}Uptime: $color$uptime
	${color0}Kernel: $color$kernel${alignr}${color0}Arch: $color$machine
	${color0}Frequency: $color$freq MHz
	${color0}Serial No.: $color${execi 99999 grep Serial /proc/cpuinfo | awk '{ print $3 }'}
	${color0}MAC Address: $color${execi 99999 cat /sys/class/net/eth0/address }
	 
	# CPU information
	${color1}CPU ${hr 2}$color
	${color0}Avg. Load: $color $loadavg
	${color0}CPU Temperature: $color${acpitemp}°C
	${color0}CPU Usage:$color $cpu% ${color7}${cpubar}$color
	#${cpugraph 0000ff 00ff00}$color
	${color0}1:${color}${cpugraph cpu1, 24, 96 ffff00 ff0000 -t} $alignr${color0}2:${color} ${cpugraph cpu2, 24, 96 ffff00 ff0000 -t}
	${color0}3:${color}${cpugraph cpu3, 24, 96 ffff00 ff0000 -t} $alignr${color0}4:${color} ${cpugraph cpu4, 24, 96 ffff00 ff0000 -t}
	 
	# Top running processes
	${color1}TOP 5 PROCESSES ${hr 2}$color
	${color0}Processes:$color $processes  ${color0}Running:$color $running_processes
	${stippled_hr 2}
	${color0}CPU Usage$color
	${color3} NAME              PID    CPU %   MEM$color
	${color2} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}$color
	 ${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}
	 ${top name 5} ${top pid 5} ${top cpu 5} ${top mem 5}
	${stippled_hr 2}
	${color0}Mem Usage$color
	${color3} NAME              PID    CPU %   MEM$color
	${color2} ${top_mem name 1} ${top_mem pid 1} ${top_mem cpu 1} ${top_mem mem 1}$color
	 ${top_mem name 2} ${top_mem pid 2} ${top_mem cpu 2} ${top_mem mem 2}
	 ${top_mem name 3} ${top_mem pid 3} ${top_mem cpu 3} ${top_mem mem 3}
	 ${top_mem name 4} ${top_mem pid 4} ${top_mem cpu 4} ${top_mem mem 4}
	 ${top_mem name 5} ${top_mem pid 5} ${top_mem cpu 5} ${top_mem mem 5}
	 
	# Memory and swap space untilization
	${color1}MEMORY & SWAP ${hr 2}$color
	${color0}RAM Usage: ${color}$mem / $memmax
	$memperc% ${color6}${membar}$color
	${stippled_hr 2}
	${color0}Swap Usage: ${color}$swap / $swapmax
	$swapperc% ${color6}${swapbar}$color
	 
	# File System utilization
	${color1}FILE SYSTEM ${hr 2}$color
	${color0}SD Card:$color ${fs_used /} / ${fs_size /}
	${fs_used_perc /}% ${color8}${fs_bar /}$color
	${stippled_hr 2}
	${color0}Reads: $color$diskio_read/s${alignr}${color0}Writes: $color$diskio_write/s
	${color8}${diskiograph_read 20,100 33FF00 FF3333 scale -t}$color${alignr}${color8}${diskiograph_write 20,100 33FF00 FF3333 scale -t}$color
	 
	# Ethernet utilization
	${color1}NETWORKING ${hr 2}$color
	${color0}Wired (${addr eth0})
	${color0}Down:$color ${downspeed eth0}/s ${alignr}${color0}Up:$color ${upspeed eth0}/s
	${color0}Total:$color ${totaldown eth0} ${alignr}${color0}Total: $color${totalup eth0}
	${color0}${downspeedgraph eth0 25,120 000000 00ff00} ${alignr}${upspeedgraph eth0 25,120 000000 ff0000}$color
	${stippled_hr 2}
	${color0}Wireless (${addr wlan0})
	${color0}Down:$color ${downspeed wlan0}/s ${alignr}${color0}Up:$color ${upspeed wlan0}/s
	${color0}Total:$color ${totaldown wlan0} ${alignr}${color0}Total: $color${totalup wlan0}
	${color0}${downspeedgraph wlan0 25,120 000000 00ff00} ${alignr}${upspeedgraph wlan0 25,120 000000 ff0000}$color
	 
	# Print the tail of the Linux message log
	${color1}LOG FILES ${hr 2}$color
	${color0}Linux Message Log$color
	${color4}${font Arial:size=6}${execi 30 tail -n3 /var/log/messages | fold -w50}$color$font
    ```
4. 自動起動設定: `${HOME}/.config/lxsession/LXDE-pi/autostart`

    ```bash:こぴぺで、autostartに追記
grep conky ${HOME}/.config/lxsession/LXDE-pi/autostart > /dev/null|| echo '@conky -p 15' >> ${HOME}/.config/lxsession/LXDE-pi/autostart
    ```
    ```txt:${HOME}/.config/lxsession/LXDE-pi/autostart(編集例)
@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@point-rpi
@conky -p 15
    ```
    - `-p` オプションで、ん秒後にスタートを指定

        ```txt
       -p | --pause= SECONDS
              Time to pause before actually starting Conky
        ```

## その他
- `conky -c ore_no_setting`<br>で、設定ファイルを指定。
- ク～ルな設定があったら、コメントへ。