суббота, 24 февраля 2007 г.

Скриншоты в стиле Web2.0, используя Gimp.

Нашел интересный плагин для Gimp - "Screenshot with style". Плагин превращает обычные скриншоты в нечто более прекрасное:).

Установка:

1. Скачайте плагин.
2. Скопируйте в папку ~/.gimp-2.2/scripts (2.2 замените на вашу версию Gimp).
3. Перезапустите Gimp или обновите список сриптов в панели меню Xtns -> Script-Fu -> Refresh Scripts.
Все. Скрипт установлен и готов к работе.


Использование:
1. Откройте созданный раньше скриншот (как сделать скриншот в KDE, описано здесь).
2. Пройдите в Xtns -> Script-Fu -> Screenshot with style. Появится следующее окошко настройки различных эффектов:



3. Выставьте все, что нужно или выберите по умолчанию
4. Запустите скрипт, нажав Ok.

Работа скрипта может занять некоторое время. Особенно это будет заметно на слабых компьютерах. Поэтому не спешите отменять задание, решив, что что-нибудь не работает.
Если все прошло успешно, то со скриншота XglSnow




должна получиться такая вот красота:





Замечания:
1. Скрипт лучше всего работает со скриншотами, снятыми с экрана с соотношением сторон 16:10 (на многих ноутбуках). В случае стандартного соотношения 4:3, картинка будет выглядеть немного хуже. Попробуйте подредактировать скрипт.
2. Окошко настройки различных визуальных параметров на французком языке. Если вас это смущает, переведите термины и замените их в скрипте.
3. Для более подробного разъяснения обратитесь на сайт разработчика(на французском). Если вы французским не владеете, то переведите страницу на английский с помощью сайта babelfish.altavista.com. Переводит довольно-таки неплохо.


Читать дальше...

Парадокс. Цена Windows Vista -53$.

Сколько всего было написано о том, что производители компьютеров выбирают Open Source, что Dell будет продавать компьютеры и ноутбуки с предустановленным Linux и как все будет замечательно в этом мире... И что мы имеем сейчас? Ноутбук с предустановленной Windows Vista стоит на 53 доллара дешевле, чем аналогичный - с OpenDOS.

Данную цифру получил Derek Buranen, взяв для примера ноутбук Dell D420.
Если не верите, можете проверить сами:

Ноутбук Dell’s D420N установленным OpenDOS: $1,252.



И такой-же ноутбук, но с Windows Vista: $1,199.


(изображения взяты отсюда)

Ну и кто теперь захочет покупать компьютер с OpenDOS на борту!? Я сомневаюсь, что найдутся такие энтузиасты. Сомневаюсь также и в том, что повторятся случаи с возвратом Windows и получением за это денег. Вам просто предложат доплатить и взять свободный DOS. Или я не прав?..

Читать дальше...

среда, 21 февраля 2007 г.

Стильный текст с помощью Gimp.

Вот такой симпатичный текст можно получить проделав действия, описанные ниже.

Начнем с того, что откроем Gimp и создадим новый файл (CTRL + N) шириной 800px и высотой 100px. В зависимости от того, что вы хотите написать и какой размер шрифта хотите выбрать, размеры изображения могут варьироваться. Только не выбирайте очень маленький шрифт (меньше 40px).
Дальше выбираем цвет фона, в моем случае я оставил белый. Жмем T на клавиатуре (или выбираем T в панели инструментов) и создаем текст. Я советую взять шрифт "Sans Bold" размером 50px. Если нужно, текст передвигаем с помощью инструмента перемещения (M). Заливам текст желаемым цветом. Я выбрал #2e25e5.
Теперь идем в меню изображения Dialogues - > Layers, жмем правой кнопкой мыши на слой с текстом и выбираем "Alpa to Selection".







Создаем новый слой (для этого кликаем по левой нижней кнопке окна "Layers" ) и называем его "Dark Border". Пункт Layer Fill Type оставляем прозрачным (Transparency).
Выставляем цвет переднего плана (foreground) в значение #1b1b1b. Теперь идем в пункт меню изображения select -> Grow и устанавливаем значение 1px. Заполняем выделение выбранным цветом с помощью инструмента заполнения (SHIFT + B)(весь текст должен окраситься цветом #1b1b1b). Переходим к окну слоев и опускаем слой "Dark Border" с помощью стрелочки внизу. Изменив порядок слоев, вы должны получить текст цветом #2e25e5 с краями цвета #1b1b1b. Вот так должно выглядеть окно слоев после этого:


Создаем новый слой (как это сделать описано выше) с названием "Light Border" с прозрачным заполнением. Изменяем цвет переднего и заднего плана на #ffffff и #b2b2b2, соответственно. Выбираем инструмент градиент (L) и создаем градиент (удерживая нажатой кнопку CTRL) от верхнего к нижнему краю текста. Опускаем и этот слой и снимаем выделение, нажав CTRL+SHIFT+A. Окно слоев после этого:



В окне слоев жмем правой кнопкой мыши на слой с текстом и выбираем "Alpa to Selection". Создаем новый слой с прозрачным заполнением и называем его "HighLight". Теперь в панели инструментов выбираем инструмент "прямоугольное выделение"(R) и выставляем Mode в значение Subtract (третья кнопка). Дальше идем к окну с текстом и снимаем выделение с нижней половины текста (выделите прямоугольник, охватывающий весь текст по ширине и нижнюю половину текста по высоте). Должно получиться следующее:



Снова выбираем инструмент градиент. В пункте Gradient: выставляем "FG to Transparent". Удерживая нажатой кнопку CTRL, создаем градиент с верхнего края текста к нижнему. Снимаем выделение (CTRL+SHIFT+A). Дальше, в окне слоев выбираем слой "Light Border" и в окне с изображением идем в Script-Fu -> Shadow -> Drop-Shadow и выставляем x и y offsets по нулям и blur radius - 6px.
Что мы имеем:



Можете попытаться усовершенствовать. Скажем, добавьте отблеск как описано здесь и получите отличный Web2.0 логотип для вашего сайта.
Источник: http://www.technomono.com/tutorials/gimp/stylish-text/index.php

Читать дальше...

четверг, 15 февраля 2007 г.

Мониторинг сервера и клиентов с помощью Munin.

Munin - это приложение для мониторинга серверов и обычных клиентских компьютеров под управлением Linux, написанное на языке Perl. Программа создает вывод изменений характеристик системы в виде графиков, встроенных в html страничку. По умолчанию осуществляется мониторинг использования файловой системы, памяти, процессора, активности сетевых служб и др. В принципе, вам должно этого хватить. Если же нужно отслеживать какие-нибудь специфические параметры, то можно добавить дополнительные плагины из уже созданных или написать самому.

В состав Munin входят пакеты как для сервера (munin), так и для клиентов (munin-node). Серверную часть нужно устанавливать только на самом сервере, клиентскую, как на сервере (если вы хотите анализировать и его), так и на всех клиентских машинах.

Здесь я опишу установку в Kubuntu Dapper Drake. Но, так как при написании я использовал материалы статей, описывающих установку в Debian, - считаю, что приведенное ниже годится для всех Debian-производных дистрибутивов. В конце приведена ссылка на статью, описывающую установку в SLES 10. Установив из RPM-пакетов, настраивать можно так же, как описано здесь.

Настройка Munin сервера.

Установка:
$ sudo apt-get install munin munin-node

Конфигурация:

Конфигурация munin сервера осуществляется редактированием конфигурационного файла /etc/munin/munin.conf.
Если вы осуществляете мониторинг лишь одной машины (самого сервера), то менять ничего не нужно. Если же есть клиентские машины - информацию о них нужно внести в этот файл.

$sudo vi /etc/munin/munin.conf

и найти секцию

# a simple host tree
[localhost.localdomain]
address 127.0.0.1
use_node_name yes

после этого добавляем клиентскую машину(ы);

[test.skku.ac.kr]
address 172.30.5.129
use_node_name yes

Замените test.skku.ac.kr и 172.30.5.129 на имя и IP клиентского компьютера соответственно.

Настройка munin клиента.

Установка:

$ sudo apt-get install munin-node

В результате установки будет создана директория /etc/munin, содержащая:

munin-node.conf - конфигурационный файл клиента

plugin-conf.d/munin-node - конфигурационный файл для настройки плагинов клиента

plugins - папка, в которой находятся символьные ссылки к плагинам в /usr/share/munin/plugins

Конфигурация:

Открываем файл munin-node.conf

$sudo vi /etc/munin/munin-node.conf

и добавляем:

полное имя клиентской машины

#host_name localhost.localdomain

host_name test.skku.ac.kr


и после allow ^127\.0\.0\.1$ записываем IP-адрес сервера, таким образом разрешая с него доступ на клиентскую машину

allow ^127\.0\.0\.1$

allow ^10\.52\.31\.41$

(можно задавать несколько серверов)

По умолчанию будут запускаться плагины, ссылки на которые находятся в директории /etc/munin/plugins. Это:

cpu entropy forks if_eth0 iostat memory mysql_slowqueries open_files processes df exim_mailqueue if_err_eth0 if_eth1 irqstats mysql_bytes mysql_threads open_inodes swap df_inode exim_mailstats if_err_eth1 interrupts load mysql_queries netstat postfix_mailvolume vmstat

Если же вы хотите добавить другие, нужно редактировать файл /etc/munin/plugin-conf.d/munin-node, где надо указать плагин, задание, пользователя и группу по аналогии с уже приведенными записями.

После этого нужно перезапустить munin клиент:

$sudo /etc/init.d/munin-node restart

и запустить следующее на сервере:

$sudo /usr/share/munin/munin-update --force-root

Munin задаст задание cron в файле /etc/cron.d/munin, который в свою очередь запустит /usr/bin/munin-cron.

Запуск и работа Munin.

Для того, чтобы проверить работу Munin на сервере в браузере, набираем:

http://ipaddress/munin

В случае возникновения каких либо проблем проверьте логи в папке /var/log/munin/
для сервера:
munin-node.log - отображает данные о состоявшихся соединениях
munin-graph.log - отображает данные о сервисах, для которых были построены графики
munin-html.log - информация о сгенерированном коде html.
для клиента:
munin-node.log - отображает данные о состоявшихся соединениях

Если же проблем не возникло, то в окне браузера должно появиться примерно следующее:



Т.е. я буду осуществлять мониторинг своей локальной машины (в данном случае она выступает и сервером) и удаленного клиента в домене skku.ac.kr.

Список параметров, для которых будут строиться графики, приведен на следующем рисунке:



Ну и сами результаты мониторинга (на следующий день после установки)






Ссылки:
http://munin.projects.linpro.no/
http://www.debianhelp.co.uk/munin.htm
http://www.debian-administration.org/articles/229
http://www.howtoforge.com/server_monitoring_monit_munin
http://www.novell.com/coolsolutions/feature/17913.html#9

Читать дальше...

среда, 14 февраля 2007 г.

Запись интернет радио в Linux. Streamripper.

В статье Запись интернет радио в Linux я описал простой пример, показывающий, как легко можно записать mp3 c интернет радио пользуясь популярным плеером Mplayer. Там же была упомянута программа Streamripper и то, как хорошо она работает в паре с Winamp в Windows. Но я даже и не подозревал, что эта программа существует и для Linux (спасибо anonymous, что подсказал в комментариях).

Что меня не устраивало в Mplayer и почему я решил попробовать Streamripper? Mplayer весь поток пишет в один файл, что для прослушивания не очень удобно. Полученный файл нужно разбивать на отдельные песни в специальном редакторе. Хлопотно, в общем. Streamripper же пишет отдельные треки в отдельные mp3 файлы. Бери и слушай!




Установка.

Streamripper включен [K]Ubuntu репозитории. Поэтому ставим с помощь apt-get:

sudo apt-get install streamripper kstreamripper

kstreamripper - это KDE frontend для streamripper. Если Вас не пугает консоль, то его можно и не ставить. Здесь я буду рассматривать лишь streamripper.

Пользователи других дистрибутивов могут скачать исходники,
разархивировать и поставить:

$tar -xzvf streamripper-1.61.27.tar.gz
$cd streamripper-1.61.27
$./configure
$make
$sudo make install

(не проверив, есть ли эта программа в репозиториях, я ставил из источников. Так что проблем возникнуть не должно.)

Запись радио.

Наверное, это не законно :). Страшно? Если нет, то пошли дальше...

Первое что нам нужно - это собственно интернет радио. Будем тестировать на радио The EDGE ROCKS!!

$ streamripper http://67.43.161.248:6005 -d songs2
Connecting...

Синтаксис довольно прост. После команды нужно записать URL вещающего сервера. В принципе, этого достаточно. Треки будут сохраняться в директории, с которой был запущен streamripper. Если хотите, чтобы файлы сохранялись в отдельную директорию, задайте ее название после ключа -d.
А вот ответ сервера и информация о треках.

stream: The EDGE ROCKS!! - 100% ROCK :::: (Godsmack, Ozzy, SlipKnot, Pantera, etc) :::: Format: Active Rock / Extreme Rock 24 HOURS a day :::
server name: SHOUTcast/Linux v1.9.5
bitrate: 128
meta interval: 32768
[ripping... ] ****** - **** [ 2,53M]
[ripping... ] ***** - **** [ 4,49M]
..........................
Видим, что каждая песня идет одним файлом. Вместо **** должны быть названия исполнителя и песни.

Если возникает желание одновременно и сохранять песни и слушать радио, нужно воспользоваться ключем -r, который создает ретрансляционный сервер по умолчанию на порту 8000. Все что теперь нужно, открыть адрес http://localhost:8000 в любимом mp3 плеере.

Это, пожалуй, все, что я хотел сказать касательно самой программы.

Теперь пару слов о русскоязычных песнях. Может случиться, что названия песен и теги будут в кодировке CP1251 (скорей всего, так оно и будет). Поэтому придется их перекодировать. Как это сделать с помощь программы EasyTag, можно почитать здесь. Там же написано, как заполнить имена файлов из тегов. Если по каким нибудь причинам Вам это не нравится, то сами имена файлов можно перекодировать с помощь convmv:

$ convmv -f CP1251 -t UTF-8 --notest *.mp3

Это нужно запустить в директории с файлами. Если у Вас другая кодировка (KOI8-R) - замените UTF-8 на KOI8-R. Результат можно проверить командой ls.


Читать дальше...

вторник, 13 февраля 2007 г.

Результаты голосования "Какой вы используете дистрибутив Linux?"

Около двух месяцев на сайте проводилось голосование с целью узнать, какой дистрибутив Linux используют посетители. Как я и ожидал, у большинства установлен Ubuntu - 28%, на втором месте Debian - 17% и на третьем, что меня немного удивило - Gentoo 13%. Следующую тройку составляют так называемые RPM-дистрибутивы: SUSE - 10%, Fedora - 9% и Mandriva - 6%. Полная таблица результатов голосования выглядит так:




При организации голосования я допустил несколько ошибок. Главная, это то, что я не добавил никаких разъяснений. Так, к пользователям Ubuntu мысленно я отношу и Kubuntu и Edubuntu. Но люди, этого не зная, могли проголосовать "Other". Тоже касается и Fedora с RedHat.
Но несмотря на это, сделаю некоторые выводы. Если объединить пользователей Debian и Debian-производных дистрибутивов, получается 35%. Для дистрибутивов на основе RPM - 25%.
Общая картина этого голосования немного отличается от результатов, приведенных на сайте DistroWatch.com.



В первую очередь это касается Debian и Gentoo. На DistroWatch.com у них немного ниже показатели в процентном отношении. С чем это связано? Скорей всего с неточностью голосования. Или же русские пользователи более благосклонны к Debian и Gentoo чем в среднем в мире?

Представив результаты, голосование "Какой вы используете дистрибутив Linux?" я закрыл. Но зато открыл новое - "Как долго Вы в Linux?". Приглашаю всех проголосовать.

Читать дальше...

суббота, 10 февраля 2007 г.

Популярные Linux и Unix форумы.

Сегодня в своем RSS ридере Akregator я увидел довольно-таки интересную статью под названием Most popular GNU/Linux, Unix forums. Просмотрев ее, я захотел написать что-нибудь подобное, но с добавленными русскоязычными форумами.

Наверное это не будет новым, если я скажу, что одним из главных помощников начинающему пользователю Linux являются форумы. Фо́рум (от лат. forum) — это площадь для массового тематического общения. Слово произошло от первоначального Римского Форума, по подобию которого затем появились форумы по всей Римской империи; это слово также часто используется для обозначения мест публичного общения — в частности, интернет-форумов (wikipedia). На данный момент в Интернете существует огромное количество форумов, посвященных Linux. Это могут быть официальные форумы самих дистрибутивов Linux или же неофициальные, созданные любителями, чтобы помогать друг другу.

Начнем пожалуй с русскоязычных форумов.

Linuxforum.ru - наверное, самый популярный из русских форумов. Он работает уже почти три года и за это время на сайте оставлено порядка 330 тысяч сообщений и зарегистрировано почто 10 тысяч пользователей!. Этот форум является общим для таких сайтов как rus-linux.net, linuxforum.ru и linuxcenter.ru. Здесь можно найти информации буквально обо всем, касающемся Linux.

linux.org.ru - (сокращённо LOR). Одной из главных особенностей этого форума являются острые флеймы, возникающие при обсуждении практически каждой новости. Так что, если Вы являетесь фанатом какого-нибудь определенного дистрибутива (десктопа, оконного менеджера, браузера, плеера....) и хотите высказаться в его защиту - Вам определенно сюда.

lafox.net - это форум при одноименном украинском сайте. На сайте можно заказать диски дистрибутивов Linux. Удобно для жителей Украины. Что касается форума, то он тоже радует количеством постов - почти 120 тыс., и участников - 3634.

forum.opennet.ru - форум проекта OpenNet, предоставляющего информацию о Unix системах и открытых технологиях для администраторов, программистов и пользователей. На сайте можно найти много хороших статей, а в форуме - обсудить.

forum.posix.ru - форум сайта Posix.ru, созданного для пропаганды POSIX'ивизма и идей Open Source среди широких кругов прогрессивной общественности.

forum.oszone.net - вообще это общий форум, посвященный компьютеру вообще и операционным системам в частности. Для пользователей *nix систем работает ветка Linux-FreeBSD.

forum.ubuntu.ru - как видно из названия, форум посвящен самому популярному дистрибутиву - Ubuntu. Здесь зарегестрировано более 3 тыс. пользователей. Так что, думаю, новичок, установивший себе Ubuntu, без проблем сможет получить помощь на этом форуме.

slackware.pp.ru/forum/YaBB.pl - форум пользователей Slackware.

archlinux.org.ru/forum - форум пользователей ArchLinux.

Англоязычные форумы.

Linux Questions.org - Один из самых активных форумов, посвященных Linux, в мире. Количество постов и зарегистрированных посетителей просто поражает - 2.6 миллиона и 280 тысяч соответственно. Наверное здесь можно найти ВСЕ!

Ubuntu Forums - форум дистрибутива Ubuntu.


Linux Forums.org - даже не знаю что сказать. Еще один хороший Linux форум.

HowToForge.com - это сайт, который постоянно радует очень хорошими статьями, посвященными работе в GNU/Linux. А форум, собственно находится при этом сайте. Таким образом, если у Вас возникли вопросы по статьям сайта, можно всегда спросить на форуме.

SuSE Forums - форум, призванный помочь пользователям SuSE Linux.

Debian Forums - Я не смог найти официального форума Debian. Приведенный здесь является ближайшим кандидатом. Очень хороший форум пользователей Debian Linux.


BSD Forums - форум для пользователей BSDs.

Unix Forums - форум в основном ориентирован на различные юниксы - Solaris, HP-UX и AIX. Хотя есть и посты о Linux.
`
* Open Solaris Forum - Open Solaris форум.
`
Конечно, это не все форумы, посвященные операционной системе Linux. Почти каждый дистрибутив имеет свои. Поэтому, для Вас может быть полезным найти форум дистрибутива, установленного на Вашем компьютере. Однако большинство из рассмотренных здесь не относятся к какой-нибудь системе в отдельности, а охватывают все дистрибутивы. Таким образом, они будут полезны всем.

По мере расширения моего кругозора, информация о Linux форумах будет меняться. Может быть (скорей всего), я что-нибудь пропустил или (не дай Бог) какой-нибудь форум перестанет существовать.

Читать дальше...

Linux. Мониторинг системы.

Данная статья написана в основном для новичков в Linux. Большинство информации, представленной здесь, может быть найдено в страницах man. Если Вы опытный пользователь Linux - большинство из написанного здесь Вам должно быть знакомо. Так что можете спокойно переходить к другим статьям или же, если хотите проверить свои знания - можете просмотреть мельком. Но а в случае если Вы являетесь новичком в Linux, если Вам нудно читать страницы man и хочется узнать обо все этом побыстрей - эта статья для Вас.


Команда: top

Это одна из чаще всего используемых комманд раздела мониторинга системы. Команда top предоставляет информацию о запущенных процессах, включая данные об использовании процессом CPU и памяти, пользователях, запустивших процесс и их pid (Process ID), а также о времени, прошедшем с момента запуска процесса. Данные все время обновляются с определенной частотой (по умолчанию 3 сек). Изменить частоту можно нажав клавишу "s" - ввести нужное число - Enter.

Вывод команды top показан ниже:

$ top - 12:39:28 up 2:20, 1 user, load average: 0.09, 0.14, 0.09
Tasks: 131 total, 1 running, 130 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.7% us, 0.5% sy, 0.0% ni, 97.5% id, 0.0% wa, 0.2% hi, 0.2% si
Mem: 1028144k total, 911324k used, 116820k free, 28604k buffers
Swap: 530104k total, 20268k used, 509836k free, 396324k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5144 root 16 0 119m 63m 6452 S 1 6.3 3:07.04 Xorg
7867 serhiy 16 0 102m 18m 13m S 1 1.9 0:01.15 konsole
6379 serhiy 15 0 162m 35m 24m S 1 3.5 0:25.17 ktorrent
3666 root 15 0 0 0 0 S 0 0.0 0:00.82 kjournald
5393 serhiy 15 0 162m 33m 18m S 0 3.3 0:13.74 stardict
7885 serhiy 16 0 10700 1300 952 R 0 0.1 0:00.49 top
1 root 16 0 2640 564 476 S 0 0.1 0:00.89 init
2 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/0
3 root 34 19 0 0 0 S 0 0.0 0:00.00 ksoftirqd/0
4 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/0
5 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/1
6 root 34 19 0 0 0 S 0 0.0 0:00.00 ksoftirqd/1
7 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/1
8 root 10 -5 0 0 0 S 0 0.0 0:00.06 events/0
9 root 10 -5 0 0 0 S 0 0.0 0:00.00 events/1
10 root 10 -5 0 0 0 S 0 0.0 0:00.00 khelper

Вы можете модифицировать вид выводимой информации. Так, нажав "i" можно отключить вывод неработающих процессов. Повторное нажатие "i" вернет все в прежнее положение. "M" - отсортирует по количеству используемой памяти, а "P" - по использованию процессора.
Приведенные опции вводились при запущенной команде top. В дополнение к этому, существуют опции, которые можно вводить при запуске команды. Например, с помощью "u" можно задать вывод только процессов, принадлежащих определенному пользователю:
$ top -u serhiy
top - 12:56:54 up 2:37, 1 user, load average: 0.08, 0.10, 0.09
Tasks: 137 total, 1 running, 136 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.7% us, 0.2% sy, 0.0% ni, 98.8% id, 0.0% wa, 0.2% hi, 0.2% si
Mem: 1028144k total, 972308k used, 55836k free, 33260k buffers
Swap: 530104k total, 20268k used, 509836k free, 445252k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6379 serhiy 15 0 162m 35m 25m S 1 3.6 0:30.55 ktorrent
5393 serhiy 15 0 162m 33m 18m S 0 3.3 0:15.96 stardict
7867 serhiy 15 0 102m 18m 13m S 0 1.9 0:03.91 konsole
8109 serhiy 16 0 10696 1304 952 R 0 0.1 0:00.24 top
5210 serhiy 17 0 7584 1896 1188 S 0 0.2 0:00.09 startkde
5260 serhiy 16 0 20144 852 492 S 0 0.1 0:00.00 ssh-agent
5263 serhiy 16 0 10084 696 528 S 0 0.1 0:00.00 dbus-launch
5264 serhiy 17 0 8448 888 744 S 0 0.1 0:00.00 dbus-daemon
5296 serhiy 18 0 74596 5720 2120 S 0 0.6 0:00.27 kdeinit

С помощью опции "k" можно убить процесс, а "r" (renice) изменит его приоритет (колонка PR в выводе команды top).
Для того, чтобы выйти из программы, нужно нажать клавишу "q".

Для более подробной информации о системных процессах следует обратиться к псевдофайловой системе /proc. Здесь информация о процессах представлена в виде файлов.
Будьте осторожны, поскольку это не обычные файлы, а лишь текущее состояние устройства, эти файлы редактировать НЕЛЬЗЯ!

Команда: ps

'ps' отображает список запущенных процессов.

$ ps
PID TTY TIME CMD
11065 pts/2 00:00:00 bash
11082 pts/2 00:00:00 ps

По умолчанию информация дается только о процессах, ассоциированных с данным терминалом. Выводятся идентификатор процесса, идентификатор терминала, истраченное к данному моменту время ЦП и имя команды. Если нужна иная информация, следует пользоваться опциями. Следует заметить, что данная команда может работать как в стандартном виде записи опций (-опция), так и в режиме BSD (знака "-" между командой и опцией нет).

Так, чтобы просмотреть информацию о всех запущенных в системе процессах можно воспользоваться как

ps -e
ps -ef
ps -eF
ps -ely

так и

ps ax
ps axu

Обычно используется команда ps axu. Она выдает практически всю информацию о системе.

serhiy@kubuntu:~$ ps axu
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 2640 564 ? S 10:19 0:00 init [2]
root 2 0.0 0.0 0 0 ? S 10:19 0:00 [migration/0]
root 3 0.0 0.0 0 0 ? SN 10:19 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S 10:19 0:00 [watchdog/0]
................................................
Вывод команды очень большой. Поэтому я привел лишь начало. Если же нужна информация о запущенных Вами процессах - воспользуйтесь.
ps cxu
или
ps cx
В первом случае информация будет выведена в более подробном виде. Обычно данную программу запускают для того, чтобы узнать PID (первая колонка) команды, с последующим ее уничтожением с помощью команды kill -9.

Команда: free

'free' показывает информацию о памяти компьютера, включающей в себя физическую память (RAM), swap, разделяемую память и буферы, используемые ядром. Вся информация выдается в килобайтах.
$ free
total used free shared buffers cached
Mem: 1028144 1020468 7676 0 16316 379828
-/+ buffers/cache: 624324 403820
Swap: 530104 21644 508460

В строке Mem: показано использование физической памяти, в строке Swap: — использование пространства подкачки, а в строке -/+ buffers/cache: — объем физической памяти, выделенный в настоящее время для буферов системы. Команда free выводит лишь единоразово информацию о задействованной памяти. Для того, чтобы просматривать показатели каждые n секунд, нужно воспользоваться опцией -s n, где n - число в секундах. Но это может быть неудобно. Строки пробегают по экрану и человеку тяжело уловить разницу. Поэтому следует воспользоваться командой watch:
$watch free
Вы можете менять задержку между обновлениями (по умолчанию 2 сек.) с помощью параметра -n или сделать так, чтобы любые отличия результатов выделялись, указав параметр -d, как показано в следующей команде:
$watch -n 1 -d free
Команда: du

'du' используется для того, чтобы узнать размер директории
$ du
Без дополнительных опций команда du выдает список директорий, находящихся в текущей директории, и их размеры. Последняя строка показывает общий размер текущей директории. По умолчанию информация отображается в килобайтах. Во многих случаях это может быть неудобно. Поэтому воспользуемся некоторыми дополнительными опциями.
$ du -h /home/serhiy/pic/
4,0M /home/serhiy/pic/from_sky
1,1M /home/serhiy/pic/smoke
11M /home/serhiy/pic/mini_world
16M /home/serhiy/pic/

В приведенном примере видно, что папка pic в домашней директории пользователя serhiy содержит три вложенных папки, размерами 4.0, 1.1, и 11 мегабайт. Размер всей папки - 16 Мб. Опция -h задает отображение в более удобном виде.
$ du -ah

du -ah /home/serhiy/pic/
148K /home/serhiy/pic/from_sky/1.jpg
144K /home/serhiy/pic/from_sky/2.jpg
168K /home/serhiy/pic/from_sky/3.jpg
100K /home/serhiy/pic/from_sky/4.jpg
..............................

136K /home/serhiy/pic/mini_world/mini_world_84.jpg
152K /home/serhiy/pic/mini_world/mini_world_85.jpg
11M /home/serhiy/pic/mini_world
16M /home/serhiy/pic/
С помощью опции -a можно задать вывод размера каждого файла. Информация о полном размере вложенных папок также выводится.
$ du -mc /home/serhiy/pic/ | grep total
16 total
Здесь опция -m задает, чтобы размер выводился в мегабайтах, а -c добавляет дополнительную строку, показывающую полный размер директории (total). Таким образом мы можем воспользоваться командой grep, чтобы оставить лишь информацию о размере директории /home/serhiy/pic/. Это будет полезно, если директория содержит много вложенных поддиректорий и файлов, а Вам нужно знать лишь ее полный размер. Хотя это можно сделать и проще:
$ du -s /home/serhiy/pic/
16028 /home/serhiy/pic/

Если же Вам нужно узнать размер директории без входящих в нее директорий, воспользуйтесь опцией -S.
$ du -Sh /home/serhiy/pic/
4,0M /home/serhiy/pic/from_sky
1,1M /home/serhiy/pic/smoke
11M /home/serhiy/pic/mini_world
4,0K /home/serhiy/pic/

Как видно, директория pic/ содержит три поддиректории и ничего больше. Поэтому ее размер 4,0K.
Еще один пример из серии исключений:
$ du -h --exclude=*.jpg /home/serhiy/pic/
4,0K /home/serhiy/pic/from_sky
4,0K /home/serhiy/pic/smoke
4,0K /home/serhiy/pic/mini_world
16K /home/serhiy/pic/

Опция --exclude=*.jpg - исключает из отображения полной иформации о размере директории /home/serhiy/pic/ и ее поддиректории файлы, имеющие в своем названии .jpg. Поскольку в указанной директории и поддиректориях находятся лишь изображения в формате .jpg, все папки занимают 4,0K. Вместо .jpg можно вставить любую последовательность символов.
Например:
serhiy@kubuntu:~/pic/from_sky$ du -h --exclude=1?.jpg
2,8M .
serhiy@kubuntu:~/pic/from_sky$ du -h
4,0M .

В первом случае я исключил все файлы, состоящие из двух символов, первый из которых 1.

Команда: df

'df' - показывает информацию об использовании дискового пространства.
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda6 9629880 5732280 3408424 63% /
varrun 514072 112 513960 1% /var/run
varlock 514072 4 514068 1% /var/lock

Вывод команды df состоит из 6 колонок. Fylesystem - физический раздел, Mounted on - точка монтирования этого раздела, 1K-blocks - размер раздела в килобайтах, Used - сколько занято, Available - свободно, Use% - сколько занято места в процентах.
$ df -h
Как и в случае с командой du, опция -h задает вывод в удобном для человека виде. Обычно это мегабайты и гигабайты. (-m - вывести только в мегабайтах)
Команда df имеет и другие опции, но большинство пользователей ограничиваются лишь приведенными, поэтому я их рассматривать не буду. Если Вам интересно знать больше. обратитесь к man df.

Если хочется узнать лишь информацию о том, сколько места в процентах используется на заданном диске, то можно воспользоваться утилитами grep и cut.
$ df -h | grep /dev/sda8 | cut -c41-43
83%
Здесь grep из вывода команды df -h вырезает лишь строку, где встречается /dev/sda8 (на этот раздел у меня примонтирована директория /home), а cut-c41-43 обрезает лишь 41-43 символы строки (именно там находится информация о процентном использовании разделов).

Команда: who

Поскольку операционная система Linux является многопользовательской, количество пользователей компьютера может быть больше чем один. Для того чтобы узнать, кто работает за компьютером в данный момент, и предназначена команда who. Эта команда показывает, кто работает за компьютером, сколько времени прошло с момента, когда он вошел в систему, и когда он это сделал.
$ who
serhiy tty2 2007-02-04 13:50
root tty3 2007-02-04 13:50
serhiy :0 2007-02-01 10:19

С помощью этой команды можно узнать и информацию о себе:
$ whoami
serhiy

Команда: w

'w' - это собранный воедино вывод команд 'uptime', 'who' и 'ps a' для более подробной информации о системе. Для того, чтобы задать информацию для одного пользователя, а не для всех, допишите имя пользователя к команде:
w serhiy
14:05:12 up 3 days, 3:46, 1 user, load average: 0,35, 0,32, 0,33
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
serhiy :0 - Thu10 ?xdm? 9:06 0.09s /bin/sh /usr/bin/startkde

Команда: vmstat
vmstat - показывает информацию о процессах , виртуальной памяти, физических томах и активности ЦПУ . По умолчанию выдается полный список статистики с момента загрузки системы, что не очень полезно с точки зрения анализа ситуации в данный момент. Поэтому, стоит запускать vmstat с аргументом interval, указанным в секундах.

$ vmstat 5
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 21680 22248 16480 416000 0 0 99 45 166 3 3 1 95 1
0 0 21680 21872 16504 415976 0 0 0 34 1250 3087 2 1 98 0
0 0 21680 25388 16520 416436 0 0 96 11 1209 3458 3 1 95 1


(вывод может отличаться в зависимости от используемой системы)

Каждая последующая линия показывают параметры системы за предыдущие 5 секунд.
Рассмотрим поля вывода команды vmstat:

procs - число процессов, которые: r - находятся в очереди на выполнение;
b - заблокированы в ожидании ресурсов.

memory - информация о памяти: swpd - количество используемой виртуальной памяти;
free - незадействованная память; buff - количество памяти, используемой в качестве буфера, cache - в качестве кэш.

swap: si - количество свап-памяти взятой с диска, so - записанной на диск (/s).

IO: bi - количество блоков взятых с блочного устройства (жесткий диск), b0 - отправленных на блочное устройство.

System: in - количество прерываний за секунду, cs - количество контекстных переключений за секунду.

CPU: процент цикла процессора, затрачиваемый на различные режимы: us - пользователь; sy - система; id - ожидание; wa - ввод/вывод.

Команда: iostat
(входит в пакет sysstat).
iostat (input/output statistics) - без аргументов показывает краткую статистику использования процессора и дисковых операций ввода/вывода:
$ iostat
Linux 2.6.15-23-amd64-generic (kubuntu) 21.02.2007

avg-cpu: %user %nice %system %iowait %steal %idle
1,64 0,87 0,84 1,33 0,00 95,32

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
hda 0,00 0,00 0,00 152 0
sda 9,97 399,79 182,30 18796197 8570744

В первой строке представлены версия ядра системы, имя узла и текущая дата. Во второй - усредненная информация использования процессора после загрузки системы. В поле Device - данные использования дисковых устройств (hda и sda):

tps - число операций передачи данных (или операций ввода/вывода) в секунду;
Blk_read/s - число блоков (обычно 512 байт), прочитанных за секунду;
Blk_wrtn/s - число блоков, записанных за секунду;
Blk_read - общее число прочитанных блоков;
Blk_wrtn - общее число записанных блоков.

Если Вам не удобно возиться с блоками, можете воспользоваться ключами -k - для отображения в килобайтах и -m - мегабайтах.

Надеюсь, данный обзор поможет Вам быстро освоиться с работой с основными командами по мониторингу системы Linux. Конечно, здесь рассмотрены не все программы из этой области, но я надеюсь, что для новичка в Linux этого будет вполне достаточно.


Читать дальше...

среда, 7 февраля 2007 г.

Howto: Установка Beryl в Ubuntu (Kubutu) 64-bit.

Просмотрев видео-ролики о том, как красив Linux с установленным Beryl и попробовав его на ноутбуке со стандартной i386 архитектурой, захотелось запустить это украшательство и на компьютере с 64-битным процессором. На компьютере установлен Kubuntu 6.06 LTS Dapper Drake 64-bit Linux. Погуглив немного, я узнал, что поскольку в репозиториях Dapper Drake пакета Beryl нет, обычной установкой не отделаешься. Но я так просто не сдался и нашел почти то, что мне нужно - HOWTO: Build beryl from source, gnome. Правда, вместо Gnome у меня KDE, но это не суть важно - разберемся.

1) Начнем с того, что добавим источники в файл /etc/apt/sources.list.
sudo vi /etc/apt/sources.list
в самом конце списка добавляем следующее
deb http://www.beerorkid.com/compiz dapper main main-amd64
deb-src http://www.beerorkid.com/compiz dapper main main-amd64

2) Установка драйверов видеокарты.

Nvidia:
sudo aptitude update
sudo aptitude dist-upgrade
sudo aptitude install nvidia-glx



Ati: (поскольку у меня Nvidia, установку драйверов Ati я не проверял)
Устанавливаем fglx, как описано здесь.
Запускаем:
glxinfo
И смотрим вывод. Если видите direct rendering: yes - можно идти дальше.


3) Редактируем xorg.conf.

Начнем с создания копии:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf_backup
Только для Nvidia:
sudo vi /etc/X11/xorg.conf
В открытом файле ищем секцию "Module". Если в этом разделе присутствуют Load "dri" и(или) Load "glcore" - комментируем их (ставим # в начале строки):
# Load "dri"
# Load "glcore"

Убедитесь что присутствует запись:
Load "glx"
Опускаемся дальше к секции "Device" и смотрим чтобы все было как указано ниже:
Section "Device"
Identifier "NVIDIA Corporation NV41.0"
Driver "nvidia"
BusID "PCI:1:0:0"
Option "RenderAccel" "true"
EndSection

Не изменяйте значение BusID, вверху приведен лишь пример, у Вас может быть другое значение. Если нет Option "RenderAccel" "true" - допишите.

(конец только Nvidia)

4) Установка xgl
sudo aptitude install xserver-xgl libgl1-mesa libglitz-glx1
Настройка запуска xgl.

Gnome:
sudo gedit /etc/gdm/gdm.conf-custom
В конец секции servers добавляем следующее:

Для Nvidia:
[servers]
0=Xgl

[server-Xgl]
name=Xgl server
command=/usr/bin/Xgl :0 -fullscreen -ac -accel glx:pbuffer -accel xv:pbuffer
flexible=true

Для Ati:
[servers]
# Override display 1 to use Xgl (DISPLAY 1 IMPORTANT FOR ATI FGLRX).
1=Xgl

[server-Xgl]
name=Xgl server
command=/usr/bin/Xgl :1 -fullscreen -ac -accel glx:pbuffer -accel xv:pbuffer
flexible=true

Только ATI:

Изменяем /etc/gdm/gdm.conf:
sudo gedit /etc/gdm/gdm.conf-custom
следующим образом
#0=Standard
1=Standard

Идем к строке 198 и изменяем GdmXserverTimeout=10 на (это очень важно!!!):
GdmXserverTimeout=50
KDE:

Nvidia:
sudo vi /etc/kde3/kdm/kdmrc
Ищем строку ServerCmd=/usr/X11R6/bin/X -br, комментируем ее и добавляем следующее:
#ServerCmd=/usr/X11R6/bin/X -br
ServerCmd=/usr/bin/Xgl -fullscreen -ac -accel xv:fbo -accel glx:pbuffer


Для Ati попытайтесь модифицировать, то что было сделано для Gnome.


5) Установка Beryl с исходников.

Начнем с того, что удалим compiz (если он установлен)
sudo aptitude remove compiz-core compiz-gnome cgwd csm
Если выдает, что не знает таких пакетов - это нормально. Не обращайте внимания.

Ну а теперь самая важная и самая тяжелая часть. Ниже будет приведен листинг. Все команды запускайте построчно, как указано там. Уделяйте внимание сообщениям об ошибках. Особенно это касается пунктов ./autogen.sh --prefix=/usr. Если видите надписи типа unmet зависимости и названия пакетов, установите указанные пакеты через sudo apt-get install пакет и запустите ./autogen.sh --prefix=/usr еще раз.

Проделываем все как здесь:
cd ~/
sudo aptitude update
sudo aptitude dist-upgrade
sudo apt-get update
sudo apt-get build-dep compiz
sudo aptitude install fakeroot libtool automake1.9 librsvg2-dev x11proto-gl-dev subversion libneon25-dev libapr0-dev libsvn0-dev
sudo update-alternatives --config automake
svn co svn://svn.beryl-project.org/beryl/tags/release-0.1.4/

ln -s ~/release-0.1.4/distro-specific-build-files/bdock/debian ~/release-0.1.4/bdock/
ln -s ~/release-0.1.4/distro-specific-build-files/beryl-core/debian ~/release-0.1.4/beryl-core/
ln -s ~/release-0.1.4/distro-specific-build-files/beryl-plugins/debian ~/release-0.1.4/beryl-plugins/
ln -s ~/release-0.1.4/distro-specific-build-files/beryl-dbus/debian ~/release-0.1.4/beryl-dbus/
ln -s ~/release-0.1.4/distro-specific-build-files/beryl-manager/debian ~/release-0.1.4/beryl-manager/
ln -s ~/release-0.1.4/distro-specific-build-files/beryl-settings/debian ~/release-0.1.4/beryl-settings/
ln -s ~/release-0.1.4/distro-specific-build-files/emerald/debian ~/release-0.1.4/emerald/
ln -s ~/release-0.1.4/distro-specific-build-files/emerald-themes/debian ~/release-0.1.4/emerald-themes/
ln -s ~/release-0.1.4/distro-specific-build-files/heliodor/debian ~/release-0.1.4/heliodor/

cd ~/release-0.1.4/beryl-core
make clean
./autogen.sh --prefix=/usr
fakeroot dpkg-buildpackage
cd ..
sudo dpkg -i beryl-core*.deb beryl-dev*.deb

cd beryl-plugins
make clean
./autogen.sh --prefix=/usr
fakeroot dpkg-buildpackage
cd ..
sudo dpkg -i beryl-plugins-data*.deb beryl-plugins*.deb

cd emerald
make clean
./autogen.sh --prefix=/usr
fakeroot dpkg-buildpackage
cd ..
sudo dpkg -i emerald*.deb

cd emerald-themes
make clean
./autogen.sh --prefix=/usr
fakeroot dpkg-buildpackage
cd ..
sudo dpkg -i emerald-themes*.deb

cd beryl-settings
make clean
./autogen.sh --prefix=/usr
fakeroot dpkg-buildpackage
cd ..
sudo dpkg -i beryl-settings*.deb

cd beryl-manager
make clean
./autogen.sh --prefix=/usr
fakeroot dpkg-buildpackage
cd ..
sudo dpkg -i beryl-manager*.deb *.deb

Если все прошло без проблем - значит, Beryl установлен.

Проблемы, которые возникли у меня.
1.
sudo dpkg -i beryl-core*.deb beryl-dev*.deb
не поставило, а потребовало библиотеки libberylsettings0*, но они были в той же папке. Поэтому поставил их, а потом уже без проблем пакеты указанные выше:

sudo dpkg -i libberylsettings0*.deb
sudo dpkg -i beryl-core*.deb beryl-dev*.deb
2.
sudo dpkg -i emerald*.deb
Выдало, что пакеты зависят от libemeraldengine0*. Фокус, проделанный выше, не прошел, так как при установке libemeraldengine0* выдало, что пакеты зависят от emerald*. Какой-то замкнутый круг. Не знаю, что нужно делать в таких случаях. Сделал по своему. Поставил emerald*, указав игнорировать зависимости от libberylsettings0* и после этого поставил без проблем libberylsettings0*:

sudo dpkg -i --ignore-depends=libberylsettings0 emerald*.deb
sudo dpkg -i libberylsettings0*.deb
Со всем остальным проблем не было.

6) Автозапуск при старте KDE (GNOME):

Для KDE:
ln -s /usr/bin/beryl-manager ~/.kde/Autostart/beryl-manager
Для Gnome:
В Control Center -> Sessions -> Startup Programs добавляем:
beryl-manager
Перегружаем иксы (Ctrl + Alt + Backspace) и с умилением смотрим на работу Beryl :).

При написании данного Howto главным образом использовался материал отсюда

http://www.ubuntuforums.org/showthread.php?t=281613
и дополнительно
http://www.linuxjournal.com/node/1000081
http://linuxforum.ru/index.php?showtopic=30208&st=0


Если у Вас возникли какие-нибудь проблемы при установке или предложение сделать все это более рационально - пишите в комментарии. С удовольствием все рассмотрю.

Читать дальше...

пятница, 2 февраля 2007 г.

Запись интернет радио в Linux.

Простой пример, показывающий, как можно записать mp3 с интернет радио:


$ mplayer http://85.214.51.87:8128 -dumpstream -dumpfile recorded_music.mp3 -vc dummy -vo null


Все, что нужно - это установить mplayer (если не установлен).
В Debian или Ubuntu:


sudo apt-get install mplayer

Затем найти адрес сайта, предоставляющего "радиовещание".
Список некоторых сайтов можно найти здесь http://www.shoutcast.com. Нужно нажать на "Tune It" --> открыть радио в xmms --> нажать Ctrl + 3 --> скопировать адрес в поле Filename.
Еще один пример. Сайт - http://polytones.ru/radio/. Кликаем на любое радио и в запущенном окне проигрывателя смотрим адрес. Вставляем в приведенную выше команду. Так, для Европа Плюс Москва - это http://stream.fluendo.com:8846.
Надеюсь, здесь проблем не возникнет.

Идея взята отсюда.

В Windows для Winamp есть специальный плагин Streamripper 1.61.27, который полученные файлы автоматически разбивает и называет именем исполнителя и песни, в итоге вы получаете обычные MP3 файлы.

Читать дальше...