Conky – instalacja i konfiguracja

Uwaga: Ten wpis został utworzony ponad rok temu. Informacje w nim zawarte mogą być nieaktualne!

Conky to alternatywa dla Screenlets (o których będę pisał później). Dzięki Conky możemy na naszym pulpicie zobaczyć rozmaite informacje o naszym systemie/aplikacjach, a nawet sprawdzić pogodę lub pocztę.

Instalacja:
1. Aby zainstalować Conky, otwórz terminal (Aplikacje > Akcesoria > Terminal) i wydaj polecenie:

sudo apt-get install conky

2. Teraz musisz stworzyć plik konfiguracyjny. Od niego będzie zależał wygląd Twojego Conky. Utwórz plik konfiguracyjny z ustawieniami proponowanymi przez autorów:

zcat /usr/share/doc/conky/examples/conkyrc.sample.gz > ~/.conkyrc

lub (dla nowszych wersji Conky):

zcat /usr/share/doc/conky/examples/conky.conf.gz > ~/.conkyrc

Conky zainstalowany i wstępnie skonfigurowany. Teraz pora sprawić, by uruchamiał się przy starcie systemu.

Uruchamianie Conky przy starcie systemu:
1. Kliknij kolejno System > Preferencje > Sesje.
2. Teraz wybierz Dodaj. W polu Nazwa wpisz np. Conky, a w polu Polecenie: conky.

Jest to najprostszy sposób, by dodać Conky do startu systemu. Jest też inne rozwiązanie – z opóźnieniem czasowym. Uchroni Cię to przed różnego rodzaju błędami Conky. Napiszę o tym osobny poradnik, jednak tutaj też zamieszczę ten sposób:

1. Otwórz terminal i wydaj polecenie:

nano

2. Wklej poniższy kod:

#!/bin/bash
sleep 20 && conky

Gdzie sleep 20 to czas w sekundach po którym zostanie uruchomiony Conky.
3. Zapisz plik (CTRL + O) jako .autostart
4. Wyjdź z edytora (CTRL + X) i wydaj polecenie:

chmod +x .autostart

5. Teraz kliknij kolejno System > Preferencje > Sesje. Usuń wszystkie sesje związane z Conky, stwórz jedną i w polu Polecenie wpisz:

/home/użytkownik/autostart

Gdzie użytkownik to nazwa Twojego konta.

Aby sprawdzić czy wszystko działa poprawnie uruchom ponownie komputer.

Uruchomienie Conky
:
Jeśli chcesz ręcznie uruchomić program Conky, otwórz terminal i wydaj polecenie:

conky

Na Twoim pulpicie powinien pokazać się program z domyślną konfiguracją.

Konfiguracja Conky:
Aby własnoręcznie skonfigurować Conky musisz „dobrać się” do jego pliku konfiguracyjnego. Aby to zrobić wydaj w terminalu polecenie:

sudo gedit ~/.conkyrc

Twoim oczom powinny ukazać się dziesiątki niezrozumiałych znaków. Aby wyjaśnić Ci dokładnie co one oznaczają potrzebowałbym 100 kolejnych artykułów. Jednak umieszczę poniżej przydatne linki i mój plik konfiguracyjny Conky – dla pokazania możliwości tego programu.

Linki:
Conky – komendy cz.1 (język angielski)
Conky – komendy cz.2 (język angielski)
Conky – konfiguracje umieszczone na oficjalnej stronie programu
Conky – konfiguracje użytkowników forum.ubuntu.pl

Moja konfiguracja:
Plik conkyrc:

background yes
use_xft yes
xftfont Zekton:size=9
xftalpha 0.5
update_interval 1.0
total_run_times 0
double_buffer yes
no_buffers no
own_window yes
own_window_transparent yes
own_window_type override
own_window_hints undecorate,sticky,skip_taskbar,skip_pager
minimum_size 500 5
maximum_width 250
default_color white
alignment top_right
gap_x 12
gap_y 20
uppercase no
override_utf8_locale yes

TEXT

${color #ddaa00}System $hr

${color white}Ubuntu 8.04 "Hardy Heron"
${color white}$sysname ${color white}$kernel (${color white}$machine)
${color white}Procesy: $processes ${color white}w trakcie: $running_processes
${color white}Czas pracy: $uptime

${color #ddaa00}Temperatura $hr

${color white}Procesor: $alignr ${hwmon temp 1}°C ${hwmon temp 2}°C
${color white}Dysk twardy: $alignr ${execi 60 ~/conky/hddtemp}°C
${color white}NVidia GeForce 7300GT: $alignr ${execi 60 ~/conky/nvidia}°C

${color #ddaa00}Procesor $hr

${color white}Intel Core 2 Duo E2160 1.8 GHz
${color white}CPU: ${cpu cpu}% ${cpubar cpu}
$stippled_hr
${color white}Najwięcej CPU: $alignr ${color white}CPU%
${color white}${top name 1} $alignr ${top cpu 1}
${color white}${top name 2} $alignr ${top cpu 2}
${color white}${top name 3} $alignr ${top cpu 3}

${color #ddaa00}Pamięć RAM $hr

${color white}GoodRam DDR2 1GB 667MHz CL5
${color white}RAM: ${memperc}% ${membar}
$stippled_hr
${color white}Najwięcej RAM: $alignr ${color white}RAM%
${color white}${top_mem name 1} $alignr ${top_mem mem 1}
${color white}${top_mem name 2} $alignr ${top_mem mem 2}
${color white}${top_mem name 3} $alignr ${top_mem mem 3}

${color #ddaa00}Dyski $hr

${color white}home: ${fs_used /}/${fs_size /} $alignr ${fs_used_perc /}%
${color white}${fs_bar /}
${color white}swap: ${swap}/${swapmax} $alignr ${swapperc}%
${color white}${swapbar}
${color white}system ${fs_used /media/System}/${fs_size /media/System} $alignr ${fs_used_perc /media/System}%
${color white}${fs_bar /media/System}
${color white}pliki ${fs_used /media/Pliki}/${fs_size /media/Pliki} $alignr ${fs_used_perc /media/Pliki}%
${color white}${fs_bar /media/Pliki}

${color #ddaa00}Internet $hr

${color white}IP: ${color white}${addr ppp0}
${color white}Pobieranie: ${downspeedf ppp0} KB/s $alignr ${totaldown ppp0}
${color white}Wysyłanie: ${upspeedf ppp0} KB/s $alignr ${totalup ppp0}

${color #ddaa00}Poczta $hr

${color white}${execi 60 ~/conky/gmail}

Plik hddtemp:

#!/bin/bash
echo "$(nc localhost 7634 | cut -d'|' -f4)"

Plik nvidia:

#!/bin/bash
GPU_temp="$(DISPLAY=":0.0" nvidia-settings -q gpucoretemp | sed '/Attribute/!d;{s/.*):\ //;s/\.//}' 2>/dev/null)"
echo $GPU_temp

Plik gmail:

#!/bin/bash

gmail_login="login" #tutaj wpisz swój login!
gmail_password="hasło" #tutaj wpisz swoje hasło!

dane="$(wget --secure-protocol=TLSv1 --timeout=3 -t 1 -q -O - \
https://${gmail_login}:${gmail_password}@mail.google.com/mail/feed/atom \
--no-check-certificate | grep 'fullcount' \
| sed -e 's/.*//;s/<\/fullcount>.*//' 2>/dev/null)"

#if [ -z "$dane" ]; then
#echo "Connection Error !"
#else
#echo "GMail: $dane msg(s)"
#fi

if [ -z "$dane" ]; then
echo "Błąd połączenia"
else
let wynik=$dane;
if [ $wynik = 0 ]; then
echo "Nie masz nowych wiadomości."
elif [ $wynik = 1 ]; then
echo "Masz 1 nową wiadomość."
else
if [ $wynik -lt 5 ]; then
echo "Masz $wynik nowe wiadomości."
else
echo "Masz $wynik nowych wiadomości."
fi
fi
fi

Mój Conky

Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • goral 71

    mam ubuntu 9.04 i chcialem recznie skonfigurowac Conky ale pokazalo mi sie cos takiego
    czy mozesz mi pomoc

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

    Conky: MPD error: problems getting a response from „localhost” on port 6600 : Connection refused

  • http://ubuntu-pomoc.org Szmitas

    Podaj jeszcze swój plik ~/.conkyrc bo to właśnie w nim leży problem.

    Prawdopodobnie masz w nim wpisy odpowiedzialne za wyświetlanie artysty i tytułu piosenki, której właśnie słuchasz. Powinny one wyglądać tak:

    $mpd_artist
    $mpd_title
    $mpd_bar
    $mpd_status

    Usuń je :)

  • goral 71

    yang@yang-laptop:~$ sudo ~/.conkyrc
    [sudo] password for yang:
    sudo: /home/yang/.conkyrc: command not found

    jestem nowym uzytkownikiem i nie wiem od czego zaczac , wpisalem to w terminalu i to mi sie pokazalo

  • http://ubuntu-pomoc.org Szmitas

    Wpisz:

    sudo gedit ~/.conkyrc

    Poza tym jest to napisane na stronie :)

  • goral 71

    dzieki dziala

  • marcin111

    Witam.

    Dla mnie nie zrozumiały jest punkt 2, a dokładniej:
    „Teraz musisz stworzyć plik konfiguracyjny. Od niego będzie zależał wygląd Twojego Conky. Utwórz plik konfiguracyjny z ustawieniami proponowanymi przez autorów:
    zcat /usr/share/doc/conky/examples/conkyrc.sample.gz > ~/.conkyrc
    lub (dla nowszych wersji Conky):
    zcat /usr/share/doc/conky/examples/conky.conf.gz > ~/.conkyrc”
    i teraz pytanie: jak stworzyć taki plik konfiguracyjny?
    Gdy wpisywałem w terminalu to:
    zcat /usr/share/doc/conky/examples/conkyrc.sample.gz > ~/.conkyrc to wypluwa mi:
    gzip: /usr/share/doc/conky/examples/conkyrc.sample.gz: No such file or directory
    Jak to zrobić?

  • http://www.ubuntu-pomoc.org Szmitas

    Dlatego spróbuj:

    zcat /usr/share/doc/conky/examples/conky.conf.gz > ~/.conkyrc

    Napisane jest, że dla nowszych wersji Conky odpowiednia jest ta komenda.

  • archeol

    o, mam dokładnie ten sam problem co kolega marcin111; tylko u mnie nie działa żadno z tych poleceń. Nie mam katalogu /examples/ tylko /example-content/ – ale to też nie działa. Ubuntu 9.10

  • http://www.legendteam.net wiesniak

    Gmail mi nie działa :/ ciągle wyświetla mi błąd połączenia :/ wie ktoś jaka może być tego przyczyna? próbowałem na różne sposoby już wpisywać login i hasło w cudzysłowie i brak reakcji.

  • zgnilec

    mam ten sam problem, nie wykrywa folderu examples a jakiekolwiek zmiany wprowadzone do ~/.conkyrc są ignorowane. Również posiadam ubuntu 9.10. Jak miło że ktoś ze społeczności ubuntu pragnie pomóc początkującym użytkownikom linuxa

  • http://www.ubuntu-pomoc.org Szmitas

    Po prowadzonych zmianach musisz ponownie uruchomić conky, czyli w terminalu:

    killall conky && conky
  • PDK

    Mam problem ze stworzeniem pliku konfiguracyjnego, zarówno 1 jak i 2 polecnie wyrzuca „No such file or directory”. Mógłbym prosić o radę, gdyż dopiero zaczynam przygodę z Ubuntu

    • http://www.ubuntu-pomoc.org Szmitas
      gedit ~/.conkyrc

      Wystarczy.

  • PDK

    Niestety nie działa po zeedytowaniu i wrzuceniu kodu podanego w instrukcji za przykładowy. Po próbie uruchomienia z konsoli wyświetla:

    Conky: can’t open ‚/sys/class/hwmon/hwmon0/temp2_input’: No such file or directory
    please check your device or remove this var from Conky
    Conky: Error destroying thread
    Conky: Error destroying thread
    Conky: Error destroying thread
    ***** Imlib2 Developer Warning ***** :
    This program is calling the Imlib call:

    imlib_context_free();

    With the parameter:

    context

    being NULL. Please fix your program.

    Przed edycją wyświetlał domyślny (tak mi się wydaje – na czarnym tle podstawowe informacje).

    • http://www.ubuntu-pomoc.org Szmitas

      Działa, tylko wrzuć inny kod.

  • PDK

    Faktycznie masz rację. Działa po zmianie kodu. Dzięki wielkie, teraz muszę wyjść, a potem jeszcze zajmę się edytowaniem kodu „pod siebie” i może wtedy będę miał jeszcze więcej pytań. Jeszcze raz dzięki za pomoc.

  • pan_zabka

    Witam, mój conky wygląda tak: http://ubuntuone.com/5xaWoTwb5qMXL4UH9LJXYI

    Może mi ktoś powiedzieć jak „naprawić” kalendarz oraz dlaczego nie wyświetla mi temp. GPU?

    Kalendarz:

    use_xft yes
    xftfont Ubuntu:size=9
    xftalpha 0.8
    text_buffer_size 256
    update_interval 2
    total_run_times 0
    own_window yes
    own_window_transparent yes
    own_window_type override
    double_buffer yes
    minimum_size 150 0
    draw_shades no
    draw_outline no
    draw_borders no
    stippled_borders 0
    default_color grey
    own_window_colour grey
    alignment top_left
    gap_x 930
    gap_y 20
    no_buffers yes
    uppercase no
    cpu_avg_samples 2
    net_avg_samples 2
    override_utf8_locale yes
    use_spacer none

    TEXT

    ${execpi 60 DJS=`date +%_d`; cal | sed s/”$DJS”‚\b’/’${color orange}'”$DJS”‚$color’/}

    Boczny pasek:

    background yes
    use_xft yes
    xftfont Ubuntu:size=9
    xftalpha 0.5
    update_interval 2.0
    total_run_times 0
    own_window yes
    own_window_type normal
    own_window_transparent yes
    own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
    double_buffer yes
    minimum_size 200 5
    maximum_width 550
    draw_shades no
    draw_outline no
    draw_borders no
    draw_graph_borders yes
    default_color grey
    default_shade_color grey
    default_outline_color grey
    alignment top_right
    gap_x 1
    gap_y 48
    no_buffers yes
    uppercase no
    cpu_avg_samples 2
    override_utf8_locale yes

    TEXT
    ${alignc}${font OpenLogos:size=18}u${font}Ubuntu 12.04 LTS

    ${alignc}${time %A}, ${time %e %B %G}

    ${alignc}$sysname $kernel on $machine

    Hostname: $alignr $nodename
    Czas działania: $alignr $uptime
    Aktualne taktowanie: $alignr ${freq}MHz

    CPU $alignr ${cpu cpu0}%
    ${cpubar cpu0}

    RAM $alignc $mem / $memmax $alignr $memperc%
    $membar

    HDD $alignc ${fs_used /} / ${fs_size /} $alignr ${fs_free_perc /}%
    ${fs_bar /}

    Temperatura ${hr 2}
    Pierwszy rdzeń: $alignr ${hwmon temp 1}°C
    Drugi rdzeń: $alignr ${hwmon temp 2}°C
    HDD: $alignr ${execi 60 ~/conky/hddtemp}°C
    GPU: $alignr ${execi 60 ~/conky/nvidia}°C

    Procesy ${hr 2}
    $processes processes ($running_processes running)

    Nazwa $alignr PID CPU MEM
    ${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}

    Network ${hr 2}
    ${alignc} ${addr wlan0}
    Pobieranie $alignr ${downspeedf wlan0} kb/s
    ${downspeedgraph wlan0}
    Wysyłanie $alignr ${upspeedf wlan0} kb/s
    ${upspeedgraph wlan0}

    Poczta ${hr 2}

    Gmail1: $alignr ${execi 60 ~/conky/gmail}
    Gmail2: $alignr ${execi 60 ~/conky/gmail2}

    Skrypt nvidia:

    #!/bin/bash

    GPU_temp=”$(DISPLAY=”:0.0″ nvidia-settings -q gpucoretemp | sed ‚/Attribute/!d;{s/.*): //;s/.//}’ 2>/dev/null)”
    echo $GPU_temp

    Z góry dzięki.