포터블기기 강좌


지난 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



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

번호 제목 작성자 작성일 조회
203 크롬 브라우저 창을 전부 닫아버리는 단축키 없애기 file matsal 04.14 72
202 아이폰 블루투스 이어폰 연결시 볼륨 50% 리셋 문제 [1] file matsal 10.17 807
201 PostmarketOS: `진짜`리눅스 스마트폰을 구하는 법. [2] piloteer 02.07 44443
200 리눅스민트: 화면분할해서 윈도우배치하기 영진 02.05 42386
199 안드로이드 -> 아이폰 이전시 주의할 점 [1] matsal 11.22 43250
198 리눅스: 구글tts를 이용하기 [1] 영진 10.01 42596
197 리눅스민트 : 구글드라이브 연동하기 2 영진 09.23 42107
196 리눅스: 쉽고 빠른 백업은 없을까? [3] 영진 09.16 9736
» xfce4에서 generic monitor활용 (막대그래프) file 영진 02.12 9894
194 리눅스: xfce4데스크탑에서 원하는 정보만 표시하기 [1] file 영진 02.05 9552
193 해피해킹키보드 흉내내기 (리눅스) [1] 영진 12.03 9905
192 리눅스민트: 네모액션으로 구글드라이브 연동 [2] file 영진 04.11 10064
191 구글킵 이용하기 [5] file 영진 04.06 10340
190 리눅스: 어학공부를 위한 mp3 플레이어 [2] 영진 01.18 9999
189 리눅스민트: 구글캘린더 연결하기 [1] file 영진 12.19 10321
188 리눅스 : 음성타이머를 만들어보자 [2] 영진 12.08 9921
187 리눅스데스크탑: 구글드라이브로 백업하기 [1] 영진 11.21 9606
186 리눅스데스크탑: 오늘의 인용문 표시하기 영진 10.19 9803
185 리눅스 데스트탑 : i3wm [2] 영진 10.17 9827
184 시내먼 데스크탑: 비트코인 티커 만들기 (초간단) [1] 영진 10.01 9543

오늘:
14,271
어제:
20,854
전체:
20,902,184