кафедра математики і кібернетики
Вишняк Олександр
Мелітополь 2008
Вступ
Вступ. 3
Можливості утиліт. 4
Поради до установки утиліт віртуальних робочих стільниць. 10
словники/правила перенесення/довідники. 11
Приклади утиліт. Детальне інформація. 13
Список використаної літератури. 69
Які асоціації викликає слово «стільниця»? Меню, панель задач, набір ярликів... Буденно. А що ви пов’язуєте з висловом «персоналізація стільниці»? Встановлення фонового зображення, зміна кольорової схеми, програми оптимізації меню, вдосконалені панелі. Думаєте, це все? Вмикайте фантазію на максимум, бо зараз ми будемо оживляти і персоналізувати стільницю по-справжньому. Відтепер вона виявиться для когось всезнаючим монітором, іншому стане вірним Internet-порадником, а декого звабить ексклюзивними панелями улюблених програм.
Недовгі пошуки привели до проекту SuperKaramba (http://netdragon.sourceforge.net/). Скромна, майже аматорська сторінка, ззовні нічого видатного. Читаємо (переклад авторський, напівхудожній):
SuperKaramba, говорячи по-простому, є інструментом, який дозволяє вам легко створювати інтерактивні цяцьки на вашій стільниці KDE.
Як це працює?
Автори створюють теми, або текстові файли, які задають віджети. Вони можуть додати python-сценарії для надання віджетам інтерактивності. Можливості нескінченні!
Ось лише кілька прикладів імовірних застосувань:
• відображення системної інформації, такої як використання CPU, програвання MP3 і т.п.
• створення крутих інструментальних панелей, що дозволять вам контролювати все що тільки можна уявити;
• створення мініатюрних ігор або віртуальних тварин, що живуть на вашій стільниці;
• відображення інформації з Інтернету, такої як погода та свіжі новини.
Можливості дійсно нескінченні!
Обіцянки спокусливі, варто спробувати. Качаємо (~1 Мб), розпаковуємо, встановлюємо. Пересвідчившись в наявності інтерпретатора python з його файлами заголовків (пакунок python-devel-*.rpm), набираємо стандартне ./configure && make && make install. Щоб не шукати скомпільовану програму в несподіваних місцях, при конфігуруванні KDE-програм не забуваймо дописувати до ./configure параметр --prefix=`kde-config –prefix`.
За умови успішного завершення процесу в KMenu знаходимо Утиліти > SuperKaramba (Desktop Widgets). Якщо ще немає, тиснемо Alt+F2, набираємо superkaramba, і вуаля, перший прояв Карамби, її діалогове вікно управління темами, поки що порожнє ( рис. 1).
Для пошуку тем в Інтернеті тут є спеціальна кнопка New Stuff. Вона активує зручний навігатор, який дозволить побачити доступні на даний момент для завантаження теми ( рис. 2). Списки тем зібрані за критеріями: найбільш ціновані, найчастіше завантажувані та просто останні надходження. Тут також є ескіз, розширена інформація, звідси ж вподобана тема встановлюється. Коли захочеться поділитися завантаженими темами з друзями, шукати їх слід у теці ~/.kde/share/apps/superkaramba/themes/.
Більше можна знайти за адресою www.kde-look.org/index.php?xcontentmode=38. Це бездонне, роками поповнюване сховище тем. Деякі займають символічний 1 Кб, окремі монстри вимірюються мегабайтами. Описати чи навіть пристойно класифікувати їх усі — справа безнадійна, краще зосередимось на процесі встановлення.
Теми SuperKaramba можуть поширюватися у двох формах. По-перше, в звичайному архіві. Найчастіше .tar.gz (.tgz) або .tar.bz2 (.tbz), зрідка .zip або .rar. Такий архів розпаковується в довільно обране місце. Усі файли теми компактно розташовуються в окремій теці. Там обов’язково буде .theme-файл, саме він задає форму, вигляд, місце віджета, його і слід вибрати для встановлення, використовуючи кнопку Open діалогу управління темами. Часто розробники надають в комплекті кілька файлів .theme, на вибір. У теці також можуть бути .py-файли, це і є згадані на сайті сценарії мовою python, відповідальні за інтерактивність. Якщо маєте інше бачення вигляду/функціональності віджетів — будь-ласка, вносьте свої правки. Усе відкрито, автори самі заохочують цей процес і просять присилати відгуки та правки. Синтаксис .theme-файлів більш ніж прозорий, для його розуміння не обов’язково навіть читати описи на сайті проекту (netdragon.sourceforge.net/sgeneral.html). Кому відома хоча б одна мова програмування, той небагато часу згає і на освоєння .py-сценаріїв. Все-таки недарма python задумувався як проста та потужна інтерпретована мова. Зекономити час допоможуть шаблони, API та приклади з сайту (netdragon.sourceforge.net/sbasic.html).
Друга форма поширення тем, запроваджена в останніх версіях Карамби, — файли з розширенням .skz. Фактично це ZIP-архів, але розпаковувати його вже не треба, движок усе зробить сам, розпаковуючи необхідні файли за «на льоту». В ці файли вносити зміни теж ніхто не забороняє, схема проста: розпаковуємо командою unzip, правимо, запаковуємо командою zip -r назва_теми.skz *, перевіряємо результат.
Встановлена тема активується подвійним кліком в діалозі керування темами.
А коли тема не активується, або працює не так як очікувалося? Бува й таке, але це не привід впадати у відчай, спробуймо вплинути на ситуацію. Для початку на користь буде уважно придивитися до файлів у теці теми (або в SKZ-архіві). Часто там можна знайти щось на кшталт README, який підкаже, як вирішити проблему — чи то прописуванням своїх параметрів у файлі теми або .py-сценарії, чи зазначенням шляхів до додаткових скриптів, чи вирішенням залежності від інших програм.
Коли задоволені усі забаганки автора, а ворожіння з файлами результатів не принесло, залишається останній метод. Я не маю на увазі лист до автора з власним «фе», хоча це можливо — www.kde-look.org організований так, що кожен викладений матеріал супроводжується своїм форумом. Дієвіше буде зайти з консолі і скомандувати: superkaramba шлях_до_файлу.theme. В результаті відстежимо весь процес ініціалізації теми та локалізуємо ймовірну помилку з точністю до номера рядка.
Тепер, коли ми озброєні усіма необхідними знаннями, можна виходити в Інтернет на полювання, щоб прикрасити стільницю здобутими трофеями ( рис. 3).
Щоправда успіх полювання завжди вирішує елемент удачі. Ні, з порожніми руками не повернеться ніхто. Теми публікують цілими колекціями, тематичними або стилістичними збірками. Хоча й не факт, що знахідки вас вдовольнять. Коли маєте якісь особливі вимоги, згадайте, що Карамба — це інструмент. Скористайтесь ним, щоб створити свою тему. Це зовсім нескладно.
Хочете бачити на стільниці «живий» протокол роботи проксі-сервера squid? Виготовте файл squidlog.theme приблизно такого змісту:
Такі очевидні три рядки відображатимуть останні 10 записів файлу /var/log/squid/access.log. Оновлюватиметься віджет кожні 10 секунд (10000 мілісекунд). До речі, цей простий настільний монітор недавно мене врятував — дозволив вчасно помітити помилки в параметрах розмежування доступу у файлі squid.conf.
Принцип зрозумілий? Тоді рухаємося далі. Спробуємо замахнутися, наприклад, на Монітор Всіх Часів і Народів — gkrellm. Зокрема, особисто мені подобається можливість оперативно відстежувати підключення до заданих сервісів (http, ftp, squid...), але не подобається те, що треба поцілити мишкою мініатюрну кнопку, та й список з’єднань бажає виглядати на краще. Напишемо свою тему. Візьмемо утиліту netstat і обробимо результати її роботи. Оброблятимемо сценарієм netstat.awk:
В блоці BEGIN задана IP-адреса локального інтерфейсу, за підключенням до якого будемо стежити, а також масив відповідності номерів портів назвам протоколів, які нас цікавлять. Решта операторів вичерпно описані в man awk.
Файл теми netstat.theme:
Тут видно, що джерелом інформації виступає наш bash-сценарій ~/karamba/netstat/ns, він простий:
Останній штрих, декоративний — запускаємо Gimp і даємо волю фантазії, створюючи фонову картинку bg.png розміром 100125 пікселів. Чому саме формат PNG? Не лише через його відкритість, а й тому, що він впроваджує ефект напівпрозорості. Така властивість дозволяє створювати універсальні теми, які гармонійно впишуться в будь-яку стільницю. Достатньо навіть просто створити сірий напівпрозорий прямокутник з плавним градієнтним зменшенням до абсолютної прозорості на краях — і успіх теми як мінімум в тісному домашньому колі гарантований.
Ще одна тема готова. Розташовуємо її в зручному місці. Тепер ми завжди будемо в курсі того, хто і наскільки інтенсивно користується мережевими службами ( рис. 4).
Сподіваюся, що через описані прості приклади ви відчули смак темотворчості, і в ваших головах вже формуються геніальні ідеї, якими ви вразите цілий світ. Допоможе в цьому відкритий для кожного сайт www.kde-look.org.
На десерт залишаю такий скріншот ( рис. 5). Це мій настільний мережевий монітор для спостереження за активними комп’ютерами локалки. Тільки розкривати його нутрощі я не стану. Вважайте це домашнім завданням, стимулом до пізнання. Скажу лише, що запрограмувати його виявилося на диво легко. Вистачило стандартних можливостей движка, без застосування python. Створити щось подібне, або навіть набагато краще вам допоможе дослідження готових тем. Якщо важко самому, то допоможуть інші дослідники, можливо і я чимось зможу бути корисним — озивайтеся в Jabber.