포터블기기 강좌


지난 generic monitor 활용글에 이어지는 글입니다. 
가끔씩 그림으로 정보를 표시해야 할 필요가 있는데요 이럴때도 역시 다른 플러그인 사용할 필요 없이 generic monitor plugin을 사용할수 있더군요
메모리상황을 보여주는 것을 한번 예를 들어 볼게요

일단 메모리 명령은 free -h 를 하면 다음처럼 나오는데 이를 가공해서 만들어줍니다
$ free -h
              total        used        free      shared  buff/cache   available
Mem:            15G        1.2G         12G         69M        1.7G         14G
Swap:           15G          0B         15G


그림 생성은 imagemagick를 이용합니다
imagemagick는 커맨드라인에서 이미지 만들 수 있어서 이럴때 매우 유용해요.
convert란 명령으로 그림화일을 만들고 <img></img>태그로 보여줍니다.

imagemagick는  웹서버에서도 이미지 처리에 잘 쓰이는 패키지로 20년은 된 아주 강력한 이미지 생성ㆍ편집ㆍ조합툴입니다
데비안계 리눅스에 서 설치는 
sudo apt-get install imagemagick 고요 리퍼런스는 아래에 있습니다.
https://imagemagick.or


  0 #!/bin/bash
  1 res=$(free -h)
  2 total=$(printf "$res" | grep Mem | awk -F ' ' '{print $2}')
  3 used=$(printf "$res" | grep Mem | awk -F ' ' '{print $3}')
  4
  5 t="${total::-1}"
  6 u="${used::-1}"
  7 if [[ "${used: -1}" ==  "M" ]]; then
  8     r=$(echo "$u / $t * 0.1" | bc -l)
  9 elif [[ "${used: -1}" ==  "G" ]]; then
 10     r=$(echo "$u / $t * 100" | bc -l)
 11 fi
 12
 13 res=$(printf "%.0f\n" $r)
 14 color="#ffffff"
 15
 16 # image size
 17 width=85
 18 height=24

 19 bar_length=$(echo "$r * $width / 100" | bc -l)  
 20 r=$(printf "%.*f\n" 1 $r)  
 21 echo "<txt><span foreground=\"$color\">$r%</span></txt>"
 22                                                                  
 23 convert -size "$width"x"$height" canvas:white  -stroke "orange" \       
 24     -draw "fill black rectangle 0,0,$(( width - 1 )),$(( height - 1))" \
 25     -draw "fill cyan rectangle 0,0,$bar_length,$height" \
 26     $HOME/.icons/mem_bar.png           
 27                                            
 28 echo "<click>xfce4-taskmanager</click>"    
 29 echo "<tool>Used: $used / $total</tool>"                                    
 30 echo "<img>$HOME/.icons/mem_bar.png</img>"  



이전처럼 ./local/bin 에 실행권한 주고 generic monitor에서 적당한 시간간격으로 업데이트하게 합니다
클릭하면 태스크매니저를 띄워주게 하고 호버링하면 더 상세한 정보를 보여주도록 click태그와 tool태그에 넣어줍니다
이런식으로 모바일기기에서도 간단히 가제트를 만들수 있습니다

 <그림>
capture.png



요렇게 보입니다~ 
옆의 비트코인이나 요즘 급등하는 종목을 알려주게도 만들수 있고요. 따른걸 만들 필요없이 아주 편합니다

번호 제목 작성자 작성일 조회
61 구형 안드로이드폰들에서 2-step verification 사용하여 구글계정관리하기 [4] scotch 09.23 32832
60 iPhone 이 진짜 벽돌이 되었다고 느낄때. [16] 김강욱 09.24 33434
59 SmartQ Z-Watch의 배터리를 오래 사용할수 있는 팁입니다. [14] 저스틴 11.18 34940
58 아이튠즈에서 iOS 앱이 내 구매기록에서 사라졌을 때 [3] file 파리 02.04 32522
57 중국산 스마트폰 구입시 한국 사용 가능 여부 체크 포인트 [7] file tomeast 05.21 32377
56 onda 975i 1.0.6 으로 업데이트 방법 [1] n4 08.14 27562
55 성야무인식 타블렛 배터리 효율 측정공식 [13] file 星夜舞人 09.24 28849
54 초보자들을 위한 타오바오에서 중국 폰 구매시 주의 사항 [8] 풀맨 10.13 28875
53 중국산 태블릿 터치패널 교체 하기 [7] file 풀맨 01.23 30610
52 중국산 8인치 윈도우 태블릿 터치감 기준 구매 가이드 [9] 풀맨 05.13 27760
51 palm m500 롬 업그레이드 하기 [14] file jubilee 08.12 8638
50 CPU 세팅 어플 [1] 페퍼민트 08.26 4846
49 루팅 없이 통신사 좀비어플 비활성화 시키는 앱 [7] 페퍼민트 08.30 6414
48 MEEP 태블릿 > 일반 태블릿으로 변경하기 [1] 제이티 10.18 5214
47 중국에서 구입한 갤럭시S6 갤럭시노트5 같은폰은 폰카의 셔트음이 무음으로 되나요, [9] 그린 11.25 2331
46 중국 저가 AP 7세대의 운명과 8세대의 향방 [7] 星夜舞人 12.10 2130
45 미친척하고 비영리 Kickstarter 프로젝트 진행하기 (1편) 星夜舞人 12.28 3351
44 미친척하고 비영리 Kickstarter 프로젝트 진행하기 (2편) [2] 星夜舞人 12.28 4173
43 리눅스: bash스크립팅 [3] file 영진 01.29 3726
42 리눅스: 텍스트 브로우징을 이용하자 [3] file 영진 01.31 4324

오늘:
218
어제:
653
전체:
15,204,340