리눅스: xfce4데스크탑에서 원하는 정보만 표시하기
2020.02.05 09:03
저는 gnome cinnamon kde등의 데스크탑을 전전하다가 번번이 xfce로 돌아오게 되더군요
xfce4는 빠르고 작고 간단하고 간단하기에 버그가 덜하고 그렇습니다
정보를 띄워주기도하고 메뉴도 나오는 태스크바를 자주 사용하게 되는데 이거 명칭이 x에서는 그냥 일반적 panel이라고 해요
암튼 태스크바에 뭐 놓고 쓰는거 많은 데 윈에서도 그렇지만 리눅스는 자기가 꾸밀수 있는 자유도가 상당히 높죠
(conky라는 데스크탑에 띄워주는 것도 있는데 데스크탑을 가리는건 좀 불편하더군요)
그중에서 명령어를 주어서 generic monitor라는 panel 플러그인이 있는데 간단하고도 상당히 다양하게 쓸 수 있습니다. (cinnamon에서도 bash command 비슷한것이 있습니다. 동작하는 방식은 좀 차이가 있습니다만)
참고할 문서는:
https://docs.xfce.org/panel-plugins/xfce4-genmon-plugin
이렇게 xml형식으로 출력해주니 맞춰서 스크립트를 만들어 주면 됩니다.
<txt>Text to display</txt>
<img>Path to the image to display</img>
<tool>Tooltip text</tool>
<bar>Pourcentage to display in the bar</bar>
<click>The command to be executed when clicking on the image</click>
<txtclick>The command to be executed when clicking on the text</txtclick>
txt에 색을 지정하려면ccs로 정하면 되고
<span foreground="#ef0011"> text </span>
그러나 멀티라인등은 안되는 것 같네요
예를 들면
sensors 명령을 이용해 온도를 보여주려면 (다른 많은 방법이 있지만)
-----------------------_temp------------------------
#!/bin/bash
res=$(sensors)
get_color() {
if [[ $1 -lt 25 ]]; then
color="#00ff00"
elif [[ $1 -lt 50 ]]; then
color="#00787e"
elif [[ $1 -lt 75 ]]; then
color="#059a65"
elif [[ $1 -lt 100 ]]; then
color="#85bd4b"
elif [[ $1 -lt 125 ]]; then
color="#ffdd33"
elif [[ $1 -lt 150 ]]; then
color="#e44933"
elif [[ $1 -lt 175 ]]; then
color="#ca0035"
elif [[ $1 -lt 200 ]]; then
color="#970068"
elif [[ $1 -lt 300 ]]; then
color="#78003f"
elif [[ $1 -lt 400 ]]; then
color="#4e0016"
else
color="#ffffff"
fi
echo "$color"
}
ctemp=$(printf "$res" | grep edge | awk -F ' ' '{print $2}')
gtemp=$(printf "$res" | grep Tdie | awk -F ' ' '{print $2}')
color1=$(get_color $(echo $ctemp | sed 's/\+//g' | sed 's/\..*$//'))
color2=$(get_color $(echo $gtemp | sed 's/\+//g' | sed 's/\..*$//'))
echo "<txt><span foreground=\"$color1\">$ctemp</span> <span foreground=\"$color2\">$gtemp</span></txt>"
echo "<img>$HOME/.icons/cpu.png</img>"
------------------------------_temp 끝--------------------------
색지정때문에 지저분해 보이네요...
_temp라는 화일로 ./local/bin 에 저장하고
chmod +x _temp 로 실행권한을 줍니다
또 위에 지정된 $HOME/.icons 경로에 적당한 그림화일 넣고
generic monitor의 플러그인에 _temp 화일이름 지정하고 하면
아래처럼 뜹니다
cpu/gpu 온도, 램 사용, 가상화폐가격,대기질수치,날씨,입력기, 블루투스와 인터넷상황, 시계와 달력, 클립보드 상황 순으로 만들었는데 대부분이 별도로 플러그인 없이 general monitor plugin을 이용해 간단히 만들 수 있습니다.
대기질수치나 가상화폐 주식등은 기상청이나 aqicn에서 REST api 사용해서 bash나 파이선으로 읽어와 표시해주면 됩니다
이런식으로 자신이 필요한 정보를 뭐든 표시해줄 수 있습니다
전 매우 편하게 씁니다~
번호 | 제목 | 작성자 | 작성일 | 조회 |
---|---|---|---|---|
201 | PostmarketOS: `진짜`리눅스 스마트폰을 구하는 법. [2] | piloteer | 02.07 | 42664 |
200 | 리눅스민트: 화면분할해서 윈도우배치하기 | 영진 | 02.05 | 40707 |
199 | 안드로이드 -> 아이폰 이전시 주의할 점 [1] | matsal | 11.22 | 41697 |
198 | 리눅스: 구글tts를 이용하기 [1] | 영진 | 10.01 | 41074 |
197 | 리눅스민트 : 구글드라이브 연동하기 2 | 영진 | 09.23 | 40780 |
196 | 리눅스: 쉽고 빠른 백업은 없을까? [3] | 영진 | 09.16 | 9137 |
195 | xfce4에서 generic monitor활용 (막대그래프) | 영진 | 02.12 | 9016 |
» | 리눅스: xfce4데스크탑에서 원하는 정보만 표시하기 [1] | 영진 | 02.05 | 8931 |
193 | 해피해킹키보드 흉내내기 (리눅스) [1] | 영진 | 12.03 | 9236 |
192 | 리눅스민트: 네모액션으로 구글드라이브 연동 [2] | 영진 | 04.11 | 9353 |
191 | 구글킵 이용하기 [5] | 영진 | 04.06 | 9663 |
190 | 리눅스: 어학공부를 위한 mp3 플레이어 [2] | 영진 | 01.18 | 9320 |
189 | 리눅스민트: 구글캘린더 연결하기 [1] | 영진 | 12.19 | 9589 |
188 | 리눅스 : 음성타이머를 만들어보자 [2] | 영진 | 12.08 | 9228 |
187 | 리눅스데스크탑: 구글드라이브로 백업하기 [1] | 영진 | 11.21 | 8943 |
186 | 리눅스데스크탑: 오늘의 인용문 표시하기 | 영진 | 10.19 | 8911 |
185 | 리눅스 데스트탑 : i3wm [2] | 영진 | 10.17 | 9056 |
184 | 시내먼 데스크탑: 비트코인 티커 만들기 (초간단) [1] | 영진 | 10.01 | 8881 |
183 | 윈도에서 간단하게 배터리 수명 알아보기 [3] | matsal | 05.10 | 9490 |
182 | USB Type-C 케이블과 USB 3.2 그래픽 출력단자 [2] | matsal | 01.01 | 12911 |
호 이쁘네요. 이런거 쓰다가 윈도 못 쓸것 같아요. 옛날엔 xterm의 title bar에다 정보 올리는 스크칩트 많이 썼었는데. 요즘엔 파워포인트 엔지니어링 -_-;; 을 주로 하다보니.. 윈도 안 개구리네요.