바탕화면에서 시스템 상태를 보여주는 Conky

by Kevin posted Dec 17, 2023
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

하모니카는 사용자들이 마음껏 자신의 시스템 환경을 꾸밀 수 있도록 여러가지 도구를 제공하고 있습니다.

 

그 중 바탕화면에서 시스템의 다양한 정보를 예쁘게 보여줄 수 있는 Conky 를 기본으로 포함하고 있는데

아직 안써본 분들은 아래 문서를 참고해서 사용해 보세요.

 

https://docs.hamonikr.org/hamonikr-7.0/key-features/desktop/conky

 

이번 글에서는 위 링크에서 소개한 기본적인 내용에서 조금 더 고급으로 넘어가서 

이번에는 Conky 프로그램을 자신이 원하는 대로 구성하는 방법에 대해서 알아보겠습니다.

 

프로그램 메뉴 > Conky 설정도구를 실행해서 아래 이미지와 같은 연필모양의 버튼을 누르면 선택한 위젯의 설정파일이 편집기에 열립니다.

 

Conky Manager v2.73_001.png

 

 

원하는 Conky 위젯을 만들기 위해서는 몇가지 규칙을 알아야 합니다.

Conky 는 오랫동안 프로젝트가 발전하면서 2가지의 문법을 사용하고 있습니다.

 

conky-sample.png

 

 

위 그림에서 보이는 내용의 설정파일을 예로 들면, v1의 경우 아래와 같은 형식입니다.

 

background yes

double_buffer yes

 

alignment top_right

 

border_width 1

cpu_avg_samples 2

default_color white

default_outline_color white

default_shade_color white

draw_borders no

draw_graph_borders yes

draw_outline no

draw_shades no

 

gap_x 30

gap_y 50

net_avg_samples 2

no_buffers yes

out_to_console no

out_to_stderr no

extra_newline no

 

own_window yes

own_window_type normal

own_window_transparent yes

own_window_colour 000000

own_window_argb_visual no

own_window_argb_value 0

own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

 

minimum_size 170 0

stippled_borders 0

update_interval 2.0

uppercase no

use_spacer none

 

show_graph_scale no

show_graph_range no

 

use_xft yes

xftalpha 0.1

xftfont Droid Sans:size=8

color0 white

color1 EAEAEA

color2 FFA300

color3 grey

 

TEXT

${color2}CPU ${color0}${alignr}${cpu cpu0}%

${cpubar cpu0 5,}

${top name 1} $alignr ${top cpu 1}%

${top name 2} $alignr ${top cpu 2}%

${top name 3} $alignr ${top cpu 3}%

${top name 4} $alignr ${top cpu 4}%

${top name 5} $alignr ${top cpu 5}%

 

${color2}RAM ${color0}${alignr}${mem}

${membar 5,}

${top_mem name 1} $alignr ${top_mem mem_res 1}

${top_mem name 2} $alignr ${top_mem mem_res 2}

${top_mem name 3} $alignr ${top_mem mem_res 3}

${top_mem name 4} $alignr ${top_mem mem_res 4}

${top_mem name 5} $alignr ${top_mem mem_res 5}

 

${color2}ugreen ${color0}${alignr}${fs_used /media/hamonikr/ugreen}/${fs_size /media/hamonikr/ugreen}

${fs_bar 4,200 /media/hamonikr/ugreen}

${color2}system ${color0}${alignr}${fs_used /}/${fs_size /}

${fs_bar 4,200 /}

 

${color2}Download ${color0}${alignr}${downspeedf eth0} KiB/s

${downspeedgraph eth0 50,}

${color2}Upload ${color0}${alignr}${upspeedf eth0} KiB/s 

${upspeedgraph eth0 50,} 

${color2}Local${color0}${alignr}${addr eth0}

${color2}Public${color0}${alignr}${execi 3600 wget -q -O /dev/stdout http://checkip.dyndns.org/ | cut -d : -f 2- | cut -d \< -f -1}

 

똑같은 내용을 v2의 문법으로 작성하면 아래와 같이 사용할 수 있습니다.

좀 더 직관적이고 기본 위젯 설정과 출력 부분이 잘 구분되는 형식이니, 아무래도 최신 버전의 문법으로 작성하는게 더 좋겠죠.

 

--[[

# HamoniKR Conky 2.0

# Author :  Kevin Kim 

# Release date : Sat, 16 Dec 2023 11:24:36 +0900

# Tested on : HamoniKR 7.0

# Email : chayea@gmail.com

# Issue : https://hamonikr.org/

]]

 

conky.config = {

    background = true,                    -- Conky를 백그라운드 프로세스로 실행

    double_buffer = true,                 -- 화면 깜빡임을 방지하기 위한 더블 버퍼링 사용

    alignment = 'top_right',              -- Conky 창의 위치를 화면 오른쪽 상단으로 설정

    border_width = 1,                     -- Conky 창의 테두리 너비 설정

    cpu_avg_samples = 2,                  -- CPU 사용량 계산을 위한 평균 샘플 수

    default_color = 'white',              -- 기본 텍스트 색상 설정

    default_outline_color = 'white',      -- 텍스트 윤곽선의 기본 색상

    default_shade_color = 'white',        -- 텍스트 음영의 기본 색상

    draw_borders = false,                 -- Conky 창 테두리 그리기 여부

    draw_graph_borders = true,            -- 그래프 테두리 그리기 여부

    draw_outline = false,                 -- 텍스트 윤곽선 그리기 여부

    draw_shades = false,                  -- 텍스트 음영 그리기 여부

    gap_x = 30,                           -- 화면 가장자리로부터 Conky 창까지의 가로 간격

    gap_y = 50,                           -- 화면 가장자리로부터 Conky 창까지의 세로 간격

    net_avg_samples = 2,                  -- 네트워크 사용량 계산을 위한 평균 샘플 수

    no_buffers = true,                    -- 버퍼링되지 않은 메모리 사용량을 표시

    out_to_console = false,               -- 콘솔 출력 여부

    out_to_stderr = false,                -- 표준 오류 출력 여부

    extra_newline = false,                -- 추가 줄바꿈 사용 여부

    own_window = true,                    -- Conky를 별도의 창에서 실행

    own_window_type = 'normal',           -- Conky 창의 유형 설정 (일반, 데스크탑, 도킹 등)

    own_window_transparent = true,        -- Conky 창의 투명도 사용 여부

    own_window_colour = '000000',         -- Conky 창의 배경 색상

    own_window_argb_visual = false,       -- ARGB 비주얼 사용 여부 (고급 투명도)

    own_window_argb_value = 0,            -- ARGB 투명도 값

    own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',

                                            -- 창 관리자에 대한 힌트: 데코레이션 없음, 항상 아래, 고정, 작업 표시줄 및 페이지 전환에서 제외

    minimum_size = '170 0',               -- Conky 창의 최소 크기

    stippled_borders = 0,                 -- 점선 테두리 스타일 (0은 비활성화)

    update_interval = 2.0,                -- 정보 업데이트 간격 (초)

    uppercase = false,                    -- 모든 텍스트를 대문자로 표시할지 여부

    use_spacer = 'none',                  -- 레이아웃 조절을 위한 공간 사용 여부

    show_graph_scale = false,             -- 그래프 스케일 표시 여부

    show_graph_range = false,             -- 그래프 범위 표시 여부

    use_xft = true,                       -- XFT를 사용하여 글꼴 렌더링

    xftalpha = 0.1,                       -- XFT 글꼴의 투명도

    xftfont = 'Ubuntu:size=9',            -- 사용할 XFT 글꼴 및 크기

    color0 = 'white',                     -- 사용자 정의 색상 0

    color1 = 'EAEAEA',                    -- 사용자 정의 색상 1

    color2 = 'FFA300',                    -- 사용자 정의 색상 2

    color3 = 'grey',                      -- 사용자 정의 색상 3

};

 

-- 실제 출력 부분

conky.text = [[

${font Ubuntu:size=9}${color2}CPU ${color0}${alignr}${cpu cpu0}%

${cpubar cpu0 5,}

${top name 1} $alignr ${top cpu 1}%

${top name 2} $alignr ${top cpu 2}%

${top name 3} $alignr ${top cpu 3}%

${top name 4} $alignr ${top cpu 4}%

${top name 5} $alignr ${top cpu 5}%

 

${color2}RAM ${color0}${alignr}${mem}

${membar 5,}

${top_mem name 1} $alignr ${top_mem mem_res 1}

${top_mem name 2} $alignr ${top_mem mem_res 2}

${top_mem name 3} $alignr ${top_mem mem_res 3}

${top_mem name 4} $alignr ${top_mem mem_res 4}

${top_mem name 5} $alignr ${top_mem mem_res 5}

 

${color2}ugreen ${color0}${alignr}${fs_used /media/hamonikr/ugreen}/${fs_size /media/hamonikr/ugreen}

${fs_bar 4,200 /media/hamonikr/ugreen}

${color2}system ${color0}${alignr}${fs_used /}/${fs_size /}

${fs_bar 4,200 /}

 

${color2}Download ${color0}${alignr}${downspeedf eth0} KiB/s

${downspeedgraph eth0 50,}

${color2}Upload ${color0}${alignr}${upspeedf eth0} KiB/s 

${upspeedgraph eth0 50,} 

${color2}Local${color0}${alignr}${addr eth0}

${color2}Public${color0}${alignr}${execi 3600 wget -q -O /dev/stdout http://checkip.dyndns.org/ | cut -d : -f 2- | cut -d \< -f -1}

]];

 

주석으로 주요한 항목들을 설명해두었으니 내용을 참고하시면 되겠습니다.

 

이외에도 사용할 수 있는 다양한 변수들이 있으니 아래 링크를 참고하셔서 자신만의 멋진 위젯을 만들어보세요.

https://conky.sourceforge.net/variables.html