Віджет Conky

Отже, ми розглянули все, що вам потрібно для базової кастомізації вікна (це далеко не всі функції Conky - повний їх список з описом можна знайти на сторінці man conky). Тепер найцікавіша частина – блок TEXT.

Складно придумати, з чого почати - просто перерахувати всі можливі функції було б нецікаво, так що давайте зітремо стандартний текст, і перепишемо заново з прикладами та описом, додавши максимум інформації - після, беручи приклад з нашого Conky, ви зможете зібрати власний.

Для початку додамо, наприклад, великий і красивий годинник:

Тут все просто - спочатку задаємо шрифт з розміром - він діятиме на всі елементи, до наступного завдання шрифту (так само і з кольором). Аргументи, які перераховані після $time - формат виведення, %H - годинник, %a - буквене скорочення дня, і так далі (повний їх список можна подивитися на сторінці man time. Виглядають наші годинники ось так:

Conky

У Conky достатньо змінних для отримання та виведення інформації про стан системи - ресурсоспоживання, температура та інше. От і додамо, спершу їх. Почнемо з блоку CPU:

Спершу йде вже знайома нам змінна, лише з додаванням додаткової функції – стиль шрифту, у разі «жирний». Потім колір - потрібно додати, що шрифт і колір діють на все, що йде після них, до тих пір, поки не буде заданий новий шрифт і колір. Щоб повернути шрифт і колір за промовчанням, у потрібному місці напишіть $ і $. Далі йде звичайний текст, який із застосуванням кольору та шрифту виводиться в Conky. Останній аргумент - лінія, роздільник завтовшки 3 пікселя.

можна

Наповнимо блок даними! Для початку, наприклад, впишемо повне ім'я нашого процесора, отримавши висновок із «cat /proc/cpuinfo» (у файлізберігаються всі дані про CPU):

Змінна $execi виконує задану команду та виводить результат у Conky, у нашому випадку з інтервалом у 1000 хвилин). Наша команда - отримання виводу з /proc/cpuinfo, grep передає cat тільки рядок "model name:" з ім'ям CPU, а sed вирізає рядки "model name", залишаючи лише чисте ім'я CPU). Крім execi є також:

exec - те саме, без інтервалу оновлення.

Execbar/execgauge/execgraph - якщо результат виведення - число від 1 до 100, то виводить його як бар/круглий датчик/графік

Execibar/execigauge/execigraph - те саме, але з інтервалом.

Не переповнюйте Conky рядками сімейства exec (без великого інтервалу) – вони досить ресурсомісткі.

Зробимо блок більш інформативним:

Ви ще не бачили $ – змінна відсилає все, що йде після неї, у правий край екрану (є також $alignc – вирівнює текст по центру).

$cpu - показує процес зайнятості процесора у відсотках.

$ - показує температуру в градусах цельсію.

$ - створює «біжить» графік активності процесора.

Для відображення температури не забудьте встановити пакет lm_sensors (Linux-monitoring sensors - пакет різних драйверів та утиліт для відстеження стану заліза). Якщо ви не впевнені в правильності температури, що відображається $ - ви можете безпосередньо отримати висновок утилітою sensors за допомогою $exec, вирізати потрібну частину та виводити її в Conky з невеликим інтервалом.

У нашому випадку ми працюємо з одноядерним CPU. Для багатоядерних систем, змінні вище можуть набути вигляду $cpu 1, $cpu 2 або $cpugraph 1, і так далі, за номером ядра.

Ось як це виглядає:

Далі створимо блок з інформацією про споживання пам'яті.

Тут ви мали вже почати розумітисинтаксис конфіга Conky - інші функції ми вже використовували, а про нові все зрозуміло з назви:

$mem / memmax - використано RAM / всього RAM

Те ж саме для Swap (коли не вистачає оперативної пам'яті, система може писати дані на розділ жорсткого диска - це називається Swap-розділ, при встановленні системи він повинен був бути створений).

$buffers - пам'ять у буфері.

$cached - кешована пам'ять.

Знайдіть у першій частині конфігу рядок no_buffers. Якщо у неї стоїть аргумент yes - то кешована пам'ять вважається вільною і не виводиться як спожита $mem, а якщо no_buffers no - кеш також вважається. Обидва варіанти не зовсім вірні, адже при yes пам'ять все одно зайнята, а при no - вона все одно не використовується - саме тому стовідсотково довіряти $ mem не варто.

А наш Conky тепер виглядає так:

функції

Для пам'яті та Swap, як і для CPU, можна створити бар або графік:

$ - бар споживання RAM висотою 5 і шириною 40 пікселів.

Йдемо далі, і додамо блок «Процеси» з топ-5 найресурсомісткіших процесів, а також часом аптайму (час роботи комп'ютера). Також, виділимо найбільш ресурсомісткий процес червоним, щоб знати, яка програма від'їдає найбільше пам'яті:

$Name PID CPU% MEM%

*PID- process ID (зазвичай використовується щоб знати що вписати у kill для вбивства процесу).

Ось як це виглядає:

Мабуть, найкориснішим блоком (адже інформація інших оновлюється кожну секунду, але все одно прихована вікнами більшу частину часу) є наступний – «Файлова Система»:

$ - загальний обсяг розділу.

$ - зайнятість у відсотках.

Виглядає це так:

функції

Що ще можна додати до Conky? Та що завгодно, завдяки функціямна кшталт exec, що дозволяють запускати сторонні скрипти (також Conky підтримує POP3, IMAP та RSS) – найчастіше це погода та перевірка пошти. Для одного лише виведення погоди придумано стільки способів, що й не злічити – але найчастіше це скрипти на Lua чи Bash, як тут:

Мабуть, найпростіший і найгеніальніший спосіб наведено за першим посиланням - знайти на gismeteo.ru .gif-зображення з погодою на завтра, автоматично завантажити через wget, і відобразити в Conky за допомогою $ (за допомогою цієї ж функції можна додати іконки для розділів або жорстких дисків).

Або ж можна просто використовувати

/.conkyrc як блокнотик із нагадуваннями - надалі все на ваш розсуд. Посилання по темі: