Conky

From FluxboxPL.org

Spis treści

Opis

Conky to oparty na kodzie torsmo, monitor systemowy dla X Window System. Potrafi wyświetlać informacje na pulpicie lub we własnym oknie. Dzięki zastosowaniu specjalnych zmiennych, funkcjonalność programu wybiega daleko poza zwykły monitor systemu; umożliwia m.in wyświetlanie sformatowanego wyjścia dowolnych programów konsolowych oraz skryptów. Dzięki temu użytkownik ma pełną kontrolę nad tym co, i w jaki sposób ma być wyświetlane na ekranie.

Konfiguracja

Domyślnym plikiem konfiguracyjnym jest $HOME/.conkyrc. W przypadku braku .conkyrc, zastosowane zostaną ustawienia "fabryczne", które można znaleźć również na http://conky.sourceforge.net/conkyrc-default, w systemowym katalogu z dokumentacją programów, np. /usr/share/doc/conky lub w źródłach programu.

Konfiguracja polega na edycji opcji i zmiennych. Opcje konfiguracyjne określają jak informacje mają być wyświetlane, natomiast zmienne - co ma być wyświetlane.

Opcje

Odpowiadają za ogólny wygląd programu:

  • kolorystykę praktycznie każdego elementu
  • dokładne rozmieszczenie na ekranie (pozycja, odstępy)
  • obramowanie (grubość, rodzaj)
  • czcionkę (również Xft)
  • częstotliwość odświeżania informacji

Pełna lista opcji dostępna jest na oficjalnej stronie oraz w man conky. Część z nich wraz z komentarzami znajduje się w domyślnym pliku konfiguracyjnym.

Składnia:

opcja wartość

Wartość zależy od rodzaju opcji, może nią być liczba, kolor, nazwa czcionki itp.

Przykład:

# Rysować cienie?

draw_shades no

# Odświeżanie w sekundach

update_interval 5.0

Zmienne

Zmienne należy umieszczać po napisie TEXT.

Składnia:

${zmienna argument(y)}


Do dyspozycji jest ponad 150 zmiennych, które odpowiadają za wyświetlanie m.in:

  • wersji kernela, uptime
  • interfejsów sieciowych (IP, pakiety wysłane/odebrane, prędkość wysyłania/pobierania)
  • zajętości dysku, określonych partycji, katalogów, pamięci RAM, swapu
  • ilości nowych wiadomości w skrzynce pocztowej
  • najbardziej obciążających procesów
  • temperatury dysku, procesora (wymagane poprawnie skonfigurowane programy zewnętrzne)
  • stanu procesora (obciążenie, częstotliwość, napięcia)
  • stanu baterii w laptopie
  • prędkości obrotowych wentylatorów
  • informacji wskazanych przez użytkownika
  • statusu odgrywanych utworów w wybranych odtwarzaczach (Audacious, XMMS (nie obsługiwany od wersji 1.4.3), MPD, BMPx)

Uwaga: niewspierane już przez Conky odtwarzacze XMMS oraz beep-media-player można obsługiwać przez wtyczkę XMMS InfoPipe działającą ze zmienną $exec

Zmienne rozszerzające funkcjonalność Conky

Co w przypadku jeśli żadna ze zmiennych nie posiada pożądanej funkcjonalności? Z pomocą przychodzą zmienne takie jak $exec, $execi, $texeci. $exec wykonuje dowolne polecenie wyświetlając na ekranie jego wynik.

Przykład:

Ostatnio zmodyfikowane pliki: ${exec ls -FAt | head -n 3}

Wyświetli trzy ostatnio zmodyfikowane pliki w katalogu domowym.

Uwaga! Zmienna $exec wykonuje polecenie podczas każdego odświeżania Conky, dlatego zużywa o wiele więcej zasobów niż pozostałe.


Wyświetlanie na pulpicie programu telewizyjnego, losowego cytatu z pliku czy ostatniego newsu z ulubionej strony nie jest problemem pod warunkiem znajomości narzędzi takich jak: lynx z opcją -dump lub wget (również z odpowiednimi opcjami), grep, sed etc. Odpowiednio napisany skrypt dać może ładnie sformatowaną informację odczytywaną przez $exec. Jeżeli nie zachodzi potrzeba częstego odświeżania informacji, można skorzystać ze zmiennej $execi, która za argument przyjmuje wartość wyrażoną w sekundach. Musi być ona oczywiście większa od globalnej częstotliwości odświeżania określonej w opcji update_interval.

$texeci jest podobna do zmiennej $execi, z tym że uruchamia polecenie i wyświetla jego wynik w określonym odstępie czasu - jako wątek. Jest to przydatne kiedy skrypt wykonuje się zbyt wolno względem globalnego odświeżania Conky. Czas odświeżania powinien być nieznacznie dłuższy niż czas potrzebny na wykonanie skryptu, np. jeśli potrzebuje na to 5 sekund, ustawić należy tych sekund przynajmniej 6.

Istnieją również zmienne warunkowe $if_*, $else.

Wykresy oraz paski wizualne

Część zmiennych może być reprezentowana za pomocą eleganckich wykresów lub pasków zajętości/postępu.

Przykład:

${fs_bar 5,98 /home}

gdzie:

  • fs_bar - poziomy pasek przedstawiający wizualnie ile miejsca zajmuje określony katalog (na zrzucie poniżej)
  • 5,98 - wysokość i szerokość (w pikselach) paska
  • /home - katalog, którego zajętość ma być pokazywana

Korzystanie z kilku różnych plików konfiguracyjnych

Służy do tego opcja -c przy włączaniu Conky:

conky -c /ścieżka/do/innego/pliku/konfiguracyjnego

Przykładowe pliki konfiguracyjne

Przykładowe pliki konfiguracyjne wraz ze zrzutami ekranu można znaleźć na:

Zrzuty ekranu

Przykładowy wygląd conky

Więcej zrzutów:

Linki

Strona domowa Conky:

Programy pokrewne: