Conky jako monitor aktualizacji w Ubuntu
Conky to potężny monitor systemowy przeznaczony dla systemów GNU/Linux – używam go już od bardzo dawna i z błyskiem w oku testuję nowe funkcje pojawiające się z każdą kolejną edycją tego wspaniałego programu. Czasem jednak przypominam sobie o najważniejszej jego funkcji wewnętrznej. Mówię tutaj o ${execi}. Wtedy powstają rzeczy dziwne… Tak jak mój ostatni twór, który można podziwiać na obrazku (obok głównego okna Conky’iego). Podoba się?
Przezroczysty monitor aktualizacji na pulpicie Ubuntu!
Proces wdrożenia przebiega w kilku etapach, w których użytkownik musi sam przeprowadzać drobne przeróbki plików konfiguracyjnych w celu personalizacji. Postaram się omówić wszystkie kroki jak najdokładniej.
1. Instalacja Conky
Załóżmy, że użytkownik nigdy nie posiadał programu Conky. Możemy zainstalować go z repozytoriów:
sudo apt-get install conky
Jednak polecam własną kompilację gdyż wersja zawarta w repozytoriach jest bardzo stara i posiada pewne błędy. Postaram się udostępnić nowo skompilowane paczki w ciągu kilku dni roboczych. Na razie tyle o Conkym – za chwilę do niego wrócimy.
2. Prekonfiguracja monitora systemu
Skorzystamy w tym miejscu z mojego skryptu, który napisałem na tą okazję:
sudo nano -w /etc/init.d/UPGRADE.MONITOR
Gdzie wpisujemy:
#!/bin/bash
apt-get update
sh -c "apt-get dist-upgrade -s | grep Inst | cut -c 6- > /var/log/upgrades.log"
Oraz wywołujemy:
sudo chmod +x /etc/init.d/UPGRADE.MONITOR
Zasadą działania skryptu jest wrzucenie w plik tekstowy obecnie dostępnych aktualizacji w repozytoriach. Zauważyć należy, że skrypt nie instaluje żadnego oprogramowania bez naszej wiedzy.
3. Cron – czyli make it work!
Chcemy teraz, aby nasz malutki skrypt uruchamiał się co pewien wybrany przez nas, okres czasu i sprawdzał dostępne aktualizacje. Użyjemy do tego celu narzędzia systemowego „Cron”, który w skrócie można określić jako „sheduler”. Wykonamy w tym celu prosty zabieg:
sudo nano -w /etc/crontab
Wpiszmy do niego na samym końcu podaną regułkę:
10,20,30,40,50,59 * * * * root /etc/init.d/UPGRADE.MONITOR
Po czym uaktualniamy pliki konfiguracyjne cron'a.
sudo /etc/init.d/cron reload
Krótkie wyjaśnienie – jedyne o czym powinien zamartwić się użytkownik to pierwsze wartości, wpisywane po przecinku. Jest to definicja minut w wymiarze godziny, w których ma się uruchamiać nasz skrypt. Używane przeze mnie ustawienie wywołuje aktualizację monitora w 10, 20 (..) minucie każdej godziny. Jest to wygodne rozwiązanie, gdyż przy łączu 1mb/s nie zauważam w ogóle spadku wydajności łącza (aktualizacja repozytoriów przebiega w 100% transparentnie!). W wartościach każdy użytkownik powinien sam znaleźć „złoty środek” dla jego rodzaju łącza.
4. Conky – jak to pokazać na pulpicie?
Została nam już tylko kosmetyka. Dla celu monitora wywołajmy osobną, niezależną instancję Conky’iego. Pozwoli nam to używać równolegle naszego monitora systemowego i monitora aktualizacji (jak na powyższym screenie).
nano -w ~/.conkyrc2
Przykład pliku konfiguracyjnego
Uwaga – plik konfiguracyjny jest dostosowany do moich potrzeb. W celu powiększenia swojej wiedzy na temat pliku konfiguracyjnego programu Conky należy udać się na tą stronę co też doradzam. Najważniejszą linijką jest tutaj ${execi 20 cat /var/log/upgrades.log}, powoduje ona wyświetlanie się naszych aktualizacji na ekranie.
Jedyne co nam pozostaje to dodać poniższą linijkę do Autostartu naszego środowiska graficznego:
conky -d -c ~/.conkyrc2 &
Voila! Przezroczysty monitor aktualizacji apt’a na pulpicie. :)
Zainteresowanym polecam lekturę manpages dla wszystkich użytych w HowTo poleceń oraz zagłębienie się w struktury konfiguracji programu Conky. Do powyższego HowTo bardzo łatwo dodać powiadamianie sms’em o aktualizacjach (co podałem kilka dni temu), powiadamianie na Jabbera (poprzez sendxmpp) oraz kilka innych ciekawostek, które w ogólnym rozrachunku potrafią bardzo uprzyjemnić życie.
Enjoy!
Przy dłuższych wpisach na poziomie 0 w dobrym tonie jest używać taga (tagu? jak to się odmienia?) EXCERPT, który skraca wpis, zostawiając ładny link „Czytaj dalej..”. Ale to tylko takie moje marudzenie ;]
crash – nawet nie wiedziałem że mi się poziom na 0 przestawił.. OMFG :D. Już zmieniam :]. Nie miałem zamiaru publikować na głównej nigdy niczego – my fault. Przepraszam wszystkich!
nie no, świat się nie skończył :D Dzięki za szybką reakcję :)
Ja także dziękuję – zacząłem używać tego wygodnego znacznika dzięki Tobie (wcześniej nie mogłem na wiki znaleźć info o nim). THX :)
I nie ukrywaj takich wpisów… Eee, ja gorszymi rzeczami spamowałem główną, a to było przydatne. Ale Conky to i tak zaśmiecanie sobie pulpitu ;)
„Ale Conky to i tak zaśmiecanie sobie pulpitu ;)”
Muszę się niezgodzić. superkaramba gdesklets i inne oczowywroty to zaśmiecenie pulpitu – bez conkyiego już nie umiem żyć – wszystko pod ręką. Nie spełnia funkcji „upiekszacza” – jest po prostu przydatny. No i zasobów nie zżera
your desktop, your choice. korzystałem z gdeskletsów, karamb, gkremmli, torsmo i conky – IMO to ostatnie 2 najlepiej wpasowują się w pulpit bez względu na środowisko w jakim pracują.
Ja kiedyś tylko z gkrellm i torsmo. Torsmo wyglądało lepiej. Mnie nie interesuje ile ma mój procesor procent teraz. Czasem tylko sprawdzam co się działo jak mnie nie było, ale do tego napisałem kilka skryptów do rrdtoola.
Witam :D ja mam pytanko odnośnie tego theme’a na dodanym tu obrazku, może możecie podać jego nazwę bo bardzo mi się podoba.
Witaj Barret. Theme został stworzony przeze mnie – jest to mieszanka crystal+plastik+nuove, wszystko zmodyfikowane jak tylko można ;-). Beryla nie mam – wszystko to czyste Xy. Tapeta z kde-look.org
Hmm no ładnie :D Ja już od dawna szukam jakiegoś fajnego Theme’a na mojego Ubuntu. A nie da się tego jakoś przenieść na inne kompy?? Sorry za głupie pytanie ale zielony jestem :D
Hm... A co ja mam powiedzieć? Dopiero dzisiaj odkryłem "superkarambę". Jak dla mnie to pokazuje, gdzie "jestem" w temacie Linuxa :-) Dziękuję za wpis o Conkym. Mam co doskonalić ;-)
Screena niet... Imadż daz not egzist :(
Witam,
w jaki sposob zmodyfikowac te linie, sh -c "apt-get dist-upgrade -s | grep Inst | cut -c 6- > /var/log/upgrades.log" zeby moc korzystac z aptitude? Korzystam wlasnie z niego i zablokowalem przez hold 2 pakiety, ktore apt-get wyswietla przy uzyciu podanej lini - co oznacza, ze conky pokazuje ze mam 2 aktualizacje. Uzycie aptitude w skrypcie wyeliminuje ten problem:)