본문 바로가기

CS+/리눅스

리눅스 conky 설치 (2020.08.15)

최근에 데탑을 맞췄는데요. 

우분투 리눅스를 설치하면서 필요한 셋업을 필요할 때마다 하고 있습니다.

오늘은 그 중 하나인 'conky'라고 하는 패키지를 설치해보겠습니다. 

 

Conky? 

 

Conky is a free software desktop system monitor for the X Window System. It is available for LinuxFreeBSD, and OpenBSD.[3] Conky is highly configurable[4][5][6] and is able to monitor many system variables including the status of the CPUmemoryswap spacedisk storage, temperatures, processesnetwork interfaces, battery power, system messages, e-mail inboxes, Arch Linux updates, many popular music players (MPDXMMS2BMPxAudacious, etc.), weather updates, breaking news, and much more.[7] Unlike system monitors that use high-level widget toolkits to render their information, Conky is drawn directly in an X window. This allows it to be configured such that it consumes relatively few system resources.[8]

 

 

Conky (software) - Wikipedia

Conky is a free software desktop system monitor for the X Window System. It is available for Linux, FreeBSD, and OpenBSD.[3] Conky is highly configurable[4][5][6] and is able to monitor many system variables including the status of the CPU, memory, swap sp

en.wikipedia.org

 

 

위와 같은 시스템의 상태를 시각적으로 보여좋게 해주는 것이 Conky 라는 패키지입니다. 

 

conky 자체는 설치가 간단한데요. 

아래 커맨드를 순서대로 실행하면 됩니다. 

 

$ sudo apt-get update

$ sudo apt-get install conky-all

$ conky --version

 

(위에 스샷을 보면 저는 lm-sensors 라는 패키지도 같이 설치했습니다) 

 

문제는conky-manager 설치입니다. 

기본적으로 깔리는 conky 는 보기가 좋지 않아서 다른 위젯을 사용해야 되는데요.

이 때 필요한 것이 conky-manager 입니다. 

 

 

 

 

그냥 설치하면 위 스샷처럼 패키지를 못 찾습니다.

아래 명령어대로 진행해주세요.  

 

$ sudo add-apt-repository ppa:mark-pcnetspec/conky-manager-pm9 

$ sudo apt-get update

$ sudo apt-get install conky-manager

 

 

 

 

설치가 위와 같이 됩니다. 

conky manager 를 윈도우 키를 눌러서 타이핑 하면 아이콘이 보이는데요. 

그러면 기본 위젯을 고를 수 있습니다. 

 

 

 

 

 

하지만 선택해서 보면 알겠지만, 위치도 내가 원하는대에서 조정이 안되고 안 이쁩니다. 

그래서 커스텀이 필요한데요. 

아래 커맨드로 conkyrc 파일을 수정하겠습니다. 

 

 

$ gedit ~/.conkyrc  

 

 

-- vim: ts=4 sw=4 noet ai cindent syntax=lua
--[[
Conky, a system monitor, based on torsmo

Any original torsmo code is licensed under the BSD license

All code written since the fork of torsmo is licensed under the GPL

Please see COPYING for details

Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen
Copyright (c) 2005-2012 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS)
All rights reserved.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
]]

conky.config = {
 
        update_interval = 1,
        cpu_avg_samples = 8,
        net_avg_samples = 2,
        out_to_console = false,
        override_utf8_locale = true,
        double_buffer = true,
        no_buffers = true,
        text_buffer_size = 32768,
        imlib_cache_size = 0,
        own_window = true,
        own_window_type = 'normal',
        own_window_argb_visual = true,
        own_window_argb_value = 150,
        own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
        border_inner_margin = 5,
        border_outer_margin = 0,
        xinerama_head = 1,
        alignment = 'bottom_right',
        gap_x = 0,
        gap_y = 33,
        draw_shades = false,
        draw_outline = false,
        draw_borders = false,
        draw_graph_borders = false,
        use_xft = true,
        font = 'Ubuntu Mono:size=12',
        xftalpha = 0.8,
        uppercase = false,
        default_color = 'white',
        own_window_colour = '#000000',
        minimum_width = 400, minimum_height = 0,
        alignment = 'top_right',
 
};
conky.text = [[
 
 
${voffset -16}${font sans-serif:bold:size=36}${alignc}${time %H:%M %S}${font}
${voffset 6}${font sans-serif:normal:size=18}${alignc}${time %Y %m-%d}
${font}${voffset -4}
${font sans-serif:bold:size=14}SYSTEM ${hr 2}
${font sans-serif:normal:size=10}CPU :  ${color #FCAF3E}${execi 1000 grep model /proc/cpuinfo | cut -d : -f2 | tail -1 | sed 's/\s//'}
${font sans-setif:normal:size=10}${color1}GPU :  ${color #FCAF3E}${exec nvidia-smi --query-gpu=gpu_name --format=csv,noheader,nounits} $color
${font sans-serif:normal:size=10}$sysname $kernel $alignr $machine
Uptime:$alignr$uptime
 
${font sans-serif:bold:size=14}CPU ${hr 2}
${font sans-serif:normal:size=10}${color1}CPU Temp : ${hwmon 0 temp 1} °C
CPU0 :   ${freq 1} MHz ${alignr}${cpubar cpu0 6,250} ${cpu cpu1} %
CPU1 :   ${freq 2} MHz ${alignr}${cpubar cpu2 6,250}  ${cpu cpu2} %
CPU2 :   ${freq 3} MHz ${alignr}${cpubar cpu3 6,250}  ${cpu cpu3} %
CPU3 :   ${freq 4} MHz ${alignr}${cpubar cpu4 6,250}  ${cpu cpu4} %
CPU4 :   ${freq 5} MHz ${alignr}${cpubar cpu5 6,250}  ${cpu cpu5} %
CPU5 :   ${freq 6} MHz ${alignr}${cpubar cpu6 6,250}  ${cpu cpu6} %
CPU6 :   ${freq 7} MHz ${alignr}${cpubar cpu7 6,250}  ${cpu cpu7} %
CPU7 :   ${freq 8} MHz ${alignr}${cpubar cpu8 6,250}  ${cpu cpu8} %
CPU8 :   ${freq 9} MHz ${alignr}${cpubar cpu9 6,250}  ${cpu cpu9} %
CPU9 :   ${freq 10} MHz ${alignr}${cpubar cpu10 6,250}  ${cpu cpu10} %
CPU10 : ${freq 11} MHz ${alignr}${cpubar cpu11 6,250}  ${cpu cpu11} %
CPU11 : ${freq 12} MHz ${alignr}${cpubar cpu12 6,250}  ${cpu cpu12} %
CPU12 : ${freq 13} MHz ${alignr}${cpubar cpu13 6,250}  ${cpu cpu13} %
CPU13 : ${freq 14} MHz ${alignr}${cpubar cpu14 6,250}  ${cpu cpu14} %
CPU14 : ${freq 15} MHz ${alignr}${cpubar cpu15 6,250}  ${cpu cpu15} %
CPU15 : ${freq 16} MHz ${alignr}${cpubar cpu16 6,250}  ${cpu cpu16} %
 
${font sans-serif:bold:size=14}MEMORY ${hr 2}
${font sans-serif:normal:size=10}RAM $alignc $mem / $memmax $alignr $memperc%
${membar 6,400 }
SWAP $alignc ${swap} / ${swapmax} $alignr ${swapperc}%
${swapbar 6,400 }
 
${font sans-serif:bold:size=14}GPU ${hr 2}
${font sans-serif:normal:size=10}${color1}GPU Utilization ${color}${alignr}${exec nvidia-smi | grep % | cut -c 61-63} %
${color1}GPU Clock ${alignr}${color0}${nvidia gpufreq} MHz
${color1}Mem Clock ${alignr}${color0}${nvidia memfreq} MHz
${color2}Mem Used ${alignr}${color0}${execi 5 nvidia-settings -q [gpu:0]/UsedDedicatedGPUMemory -t} / ${exec nvidia-settings -q [gpu:0]/TotalDedicatedGPUMemory -t} MiB
${color1}GPU Power Draw ${alignr}${exec nvidia-smi | grep % | cut -c 21-23} W
${color1}GPU Temp ${alignr}${color0}${nvidia temp} °C
 
${font sans-serif:bold:size=14}DISK USAGE ${hr 2}
${font sans-serif:normal:size=10}${alignc}              ${fs_used /} / ${fs_size /} ${alignr} ${fs_used_perc /}%
${fs_bar 6,400}
 
${font Ubuntu:bold:size=14}NETWORK ${hr 2}
${font sans-serif:normal:size=10}Local IPs : ${execi 1000 ip a | grep inet | grep -vw lo | grep -v inet6 | cut -d \/ -f1 | sed 's/[^0-9\.]*//g'}  ${alignr}External IP : ${execi 1000  wget -q -O- http://ipecho.net/plain; echo}
${font sans-serif:normal:size=10}Down: ${downspeed enp6s0}  ${alignr}Up: ${upspeed enp6s0}
${color lightgray}${downspeedgraph enp6s0 40,190 } ${alignr}${upspeedgraph enp6s0 40,190 }$color
${font sans-serif:bold:size=14}TOP PROCESSES ${hr 2}
${font sans-serif:bold:size=10}Name $alignr PID   CPU%   MEM%${font sans-serif:normal:size=10}
${top name 1} $alignr ${top pid 1} ${top cpu 1}% ${top mem 1}%
${top name 2} $alignr ${top pid 2} ${top cpu 2}% ${top mem 2}%
${top name 3} $alignr ${top pid 3} ${top cpu 3}% ${top mem 3}%
${top name 4} $alignr ${top pid 4} ${top cpu 4}% ${top mem 4}%
${top name 5} $alignr ${top pid 5} ${top cpu 5}% ${top mem 5}%
]];

 

 

 

https://lucycle.tistory.com/307

 

리눅스에서 Conky로 실시간으로 시스템 정보 확인하기

|Conky 사용하기 리눅스에서 실시간으로 시스템 정보를 확인하려면 터미널에서 nvidia-smi와 같은 명령어를 사용하거나 기타 툴을 실행해야 합니다. 이를 더욱 편하게 하기 위해서는 Conky라는 위젯��

lucycle.tistory.com

 

위 사이트에 나온 config 파일을 그대로 복붙 하였습니다. 

구글 검색하면 여러 위젯에 대한 config 파일들이 있다고 하니 본인에게 맞는 방향으로 찾아서 복붙 해주셔도 됩니다. 

 

 

https://linuxconfig.org/system-monitoring-on-ubuntu-18-04-linux-with-conky

 

System Monitoring on Ubuntu 18.04 Linux with Conky - LinuxConfig.org

 

linuxconfig.org

위 사이트도 같이 보시면서 참고해주시면 좋습니다. 

 

그러한 저의 설정 결과는..

 

 

 

 

 

위처럼 나옵니다. 

어떤 작업을 할 때, 필요에 따라서 cpu, mem, gpu 사용량을 체크할 때는 conky 를 통해서 모니터링 하려고 합니다. 

제가 사용하는 cpu는 8코어 16스레드이고 해서 위와 같이 모니터링이 됩니다. 

이 부분은 본인의 cpu 코어나 스레드 맞춰서 config에서 조정해주시면 됩니다. 

alignment 부분도 본인의 메뉴바를 어디에 놓는냐에 따라 두시면 됩니다. 

 

저의 경우는 오른쪽 위에 붙게끔 해놓았습니다 :)

 

이상 conky 설치 였습니다.

많은 도움 되시길 바랍니다 :)