Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
17
Добавлен:
20.04.2024
Размер:
17.68 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Linux the Bastille Way" и более 20 популярных статей на тему Unix/Linux security. Участвует в проекте Honeynet.

DAVE DITTRICH

Опытный программист и сисадмин, занимался поддержкой веб-сервисов на заре WWW. Сейчас главный security-инженер в Computing Services Security Operations group Вашингтонского Университета. Занимается исследованиями в области компьютерной безопасности и аналитикой хакерских атак. На протяжении последних 10 лет ведет курсы по администрированию UNIX. Активный мембер проектов Honeynet и Seattle's Agora.

http://insecure.org - одного из крупнейших в Сети источников информации по уязвимостям, и security-рассылки http://seclists.org.

MIXTER

Security-исследователь, программист. Написал ряд известных утилит: систему обнаружения атак spidernet, альтернативу SSH -Q, сетевые сервисы LibMix, TFN (Tribe Flood Network) и сетевой сканер NSAT (the Network Security Analysis Tool). Автор нескольких документаций, среди которых: "Protecting against the unknown", "Buffer overflow howto", "Paranoia vs. Transparency", "Automation Potentials for IT security". Работая в Израиле, помог ФБР обнаружить нескольких пакистанских дефейсеров. С 2000 г. работает на Hacktivismo - некоммерческую организацию, отстаивающую вопросы прав человека.

ЛИЦА ХАКСЦЕНЫ

ботавший одну из самых коммерчески успешных систем обнаружения атак Dragon. NSW впоследствии была куплена Enterasys Networks и переименована в Cabletron

Company. Рон работает в ней начальником отдела компьютерной безопасности.

3APA3A

Русский security-специалист, отец сайта http://security.nnov.ru. Автор многочисленных эдвайсоров. Работает в крупной российской компании, занимаясь поддержкой пользователей. Принимает активное участие в исследованиях и обсуждении компьютерной безопасности.

SCUT

Известный своими security-релизами член группы TESO. Талантливый программист, с 6 лет занимается компьютерами. Последние несколько лет исследует различные аспекты компьютерной безопасности.

FYODOR

Молодой талантливый программер, автор самого популярного сканера NMAP. Один из активных участников Honeynet Project. Отец

PEDRAM AMINI

Security-инженер в небольшой приватной компании iDEFENSE, занимается тестированием разных систем и поиском в них уязвимостей. Автор нескольких популярных securi- ty-утилит (phunc, dns hijacker, confuse router), разработчик плагинов OllyDbg и IDA Pro. Основатель http://redhive.com, своеобразного сетевого клуба для тех, кто интересуется компьютерной безопасностью.

MARTY ROESCH

Авторитетный специалист по техникам проникновения в компьютерные системы. Автор Snort Intrusion Detection System (www.snort.org) и многих других security-ути- лит (сканеры, honeypots и т.д.). Один из разработчиков политики безопасности в GTE Internetworking, Stanford Telecommunications Inc и Министерстве обороны США. Основатель и руководитель security-компании SourceFire.

ROBERT GRAHAM

Один из самых авторитетных в мире экспертов по компьютерной безопасности. С детства увлекается криптографией, первые security-утилиты написал еще в колледже, вдохновленный червем Морриса. В 1998 г. стал одним из основателей Network ICE, поставляющей на рынок ведущие продукты в сфере компьютерной безопасности (файрвол BlackICE Defender, Gigabit Sentry). Автор нескольких FAQ'ов. Постоянный участник и спикер на многочисленных security-конфе- ренциях.

RON GULA

Работал security-консультантом в US Internetworking, GTE Internetworking, BBN и Министерстве обороны США. Основатель Network Security Wizards - компании, разра-

KEITH OWENS

Кернел-хакер. Компьютерную карьеру начи- нал как системный программист на мейнфреймах IBM. Работал практически на всех клонах UNIX, с появлением первых версий Linux сразу влился в команду его поддержки. Написал несколько патчей и фиксов для ранних версий Linux, принимал активное участие в разработке ядра 2.5. В 2000 г. присоединился к группе SGI и сейчас занимается поддержкой kdb на системах ix86 и ia64. z

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

99

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЮНИКСОИД

 

 

 

 

to

BUY

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

Петр 'Roxton' Семилетов (tea@list.ru)

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

ХАКЕР/¹06(66)/2004

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

CENSORED

 

 

 

 

 

 

 

 

 

 

ПИНГВИН-ТЕЛЕЗРИТЕЛЬ

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

LINUX: ПРИЕМ ТВ И ЕГО ЗАПИСЬ В MPEG4

ОРИЕНТИРОВАНИЕ

лать с таким фильмом, его редактирование

может быть осложнено проблемой синхрони-

НА МЕСТНОСТИ

зации видео с аудио. Это не камень претк-

Í

ачнем с того, что в каждом ма-

новения, но прибавит хлопот. Насколько я

ло-мальски популярном дист-

знаю, тот же Virtual Dub не умеет работать с

рибутиве Linux есть и драйве-

переменным битрейтом, а Avidemux2 (о нем

ры, и софт для приема ТВ. Но

будет рассказано ниже) может, но результат

дистрибутив дистрибутиву

работы предсказать трудно.

рознь. Например, в Linux

В одной из статей на tuner.ixbt.com ÿ íàòê-

Mandrake есть 4 программы,

нулся на совет о том, что при записи звук

которые позволяют смотреть

надо всегда выбирать без компрессии, а

ÒÂ - XawTv, MoTv, Zapping è

сжимать только потом, чтобы избежать де-

Mplayer/Mencoder. По сути, только послед-

синхронизации. Возможно, в Windows такая

ний может записывать видео в нужный нам

проблема и актуальна, но в мире Linux я с

формат, например, DivX. Но особой заточки

ней не столкнулся. Всегда без проблем сжи-

именно под телевидение Mplayer не имеет, и

мал сразу mp3.

поэтому использовать его для этих целей не

БИТВА ВИДЕОТИТАНОВ

так уж удобно. Напрашивается вывод - ис-

êàòü ÷òî-òî åùå.

К видеокодекам стоит подойти более тонко.

Поиски привели меня к четырем продук-

В своих рассуждениях я буду исходить из

там, о которых я хочу тебе рассказать. Этот

того, что нам нужен кодек, который сразу

набор софта кажется мне самым удобным.

будет качественно сжимать видео. Думаю,

Ведь можно скачать кучу разных программ,

что никого не греет перспектива сначала за-

все установить и протестировать, потратив

писать с ТВ фильм в несжатый avi, а потом

на это время и усилия. Я же предлагаю тебе

на досуге конвертировать его в другой фор-

уже готовые результаты такого каторжного

мат. Еще нам нужна скорость. Чтобы про-

труда :). К сожалению, насколько мне изве-

цессор не перегревался, а система не тре-

стно, в рунете нет сайтов, посвященных зах-

щала по швам, когда идет запись видео.

вату видео и его обработке именно в Linux'е.

Обычно в обзорах советуют использовать

А для Windows-продуктов существует заме-

самый свежий кодек DivX. Возражу. Во-пер-

чательный ресурс tuner.ixbt.com, который стоит

вых, фактор его популярности в Windows не

посетить и линуксоидам. Но вернемся к на-

влияет на факт его непопулярности в Linux

шей теме. В этой статье речь пойдет о прог-

:). Во-вторых, на сайте флагмана видеоути-

рамме для приема ТВ, кодеках сжатия видео

лит под Windows, Virtual Dub, на момент на-

и аудио и утилите редактирования видео

писания этих строк висит манифест. В нем

(например, для вырезания из него рекламы).

 

сказано, что DivX 5.1 не будет поддерживаться в Virtual Dub никоим образом. Причи- на - разработчик не может отлаживать Virtual Dub при установленном DivX 5.1 из-за защитных механизмов последнего. Ситуация может измениться в следующих релизах DivX, но пока дела обстоят именно так.

Далее. Большинство фильмов сжаты либо DivX'ом, либо XVid'ом. Все это mpeg4-по- добные кодеки, различающиеся набором фишек и производительностью. Но прожорливы оба. О более скромном в плане ресурсов кодеке я расскажу в свое время.

Так вот, при тестировании на моем Athlon XP 1500 под Windows 98 SE старый добрый DivX 5.0 с параметрами по умолчанию загружал процессор на 80 процентов. Это при записи в BorgTV. Под Linux тоже по умолчанию настроенный XVid занимал 75% ресурсов процессора. Может быть, DivX в Linux'е повел бы себя иначе, чем в Windows, не знаю. Но думаю, что не зря мы сейчас видим все больше и больше фильмов, сжатых XVid'ом. Поэтому скачиваем с www.xvid.org свежую версию этого кодека и устанавливаем ее из исходников уже стандартным способом configure/make/make install.

ПРИНИМАЕМ НА ГРУДЬ

Теперь обратим взор на программу, которая будет отвечать за прием и запись - Xawdecode. С помощью этой программы мы будем принимать ТВ-сигнал и записывать его, подрядив под это дело внешние кодеки, которые обнаружатся у нас при запуске

ВЫБИРАЕМ АУДИОКОДЕК

Начнем с кодеков. Как правило, в mpeg4-по- добных форматах (DivX, XVid) для сжатия звука используется обыкновенный mp3. Кодеков для него предостаточно, но в последнее время стандартом де-факто стал Lame (хотя, на мой взгляд, вернее, слух, BladeEnc меньше искажает звук). Lame забирается с lame.sourceforge.net. Напомню, что не стоит сжимать звук переменным битрейтом, так как позже, когда ты надумаешь что-нибудь сде-

ПОЛЕЗНЫЕ ЗВУКОВЫЕ ФИЛЬТРЫ AVIDEMUX2

Normalize - нормализация звука, то есть "дотягивание" его до нуля дБ. Не очень хорошая идея, потому что самые тихие

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

Time shift - сдвиг звука относительно видео (надо ввести значе- ние в миллисекундах). Полезно, когда у тебя есть фильм с плохой синхронизацией видео с аудио.

100

Окно настроек Xawdecode

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

скрипта configure. Вот какие кодеки он найдет, их поддержка и будет работать после компиляции.

На первый взгляд Xawdecode может показаться неудобным. В самом деле, что это такое - менюшек нет, тулбара нет :). Но это лишь на первый взгляд оно топорно. Кнопка "C" вызывает к жизни окно со списком каналов. Каждый канал представлен скриншотом с этого канала. Разумеется, каналы нужно сначала найти. Во-первых, их можно переключать курсорными клавишами вверх/вниз (а влево/вправо - тонкая подстройка). Во-вторых, когда ты точно знаешь, где какой канал, отредактируй файл конфигурации - он лежит в твоей домашней директории в подкаталоге .xawdecode и называется xawdecoderc. В секции Global options, где задаются опции по умол- чанию, пишем следующее:

Описываем глобальные опции

norm = PAL capture = grab source = Television

Это значит, что ТВ-стандартом по умолча- нию у нас будет PAL, видеозахват будет производиться через антенну, а grab указывает на то, что картинка будет выведена на устройство экрана. Кстати, нажав в Xawdecode на кнопку O, ты попадешь в окно настроек.

Здесь присутствует аналогичная опция Capture. По умолчанию она выставлена в Overlay. Если у тебя оверлей не поддерживается, то в окне ТВ изображения не будет. Надо выбрать из списка значение "grabdisplay". То же касается, кстати, и программы XawTV.

Но вернемся к настройке каналов. В файле конфигурации в конце, за комментарием "Channel options", идет набор секций, каждая из которых описывает очередной канал. Пример такой секции:

Xawdecode, запущенный в среде KDE

Тюнинг ТВ-каналов

[NEW CHANNEL] channel = 52 fine = -6

norm = SECAM color = 16302 bright = 28483 hue = 29954 contrast = 32314 key = Ctrl+6

Названия параметров не введут тебя в заблуждение. Скажу только о fine - это та самая тонкая подстройка, которая изменяется клавишами влево/вправо. Исходное зна- чение - ноль. Клавиша "влево" изменяет fine в минусы, а "вправо" - наоборот.

Все эти значения можно регулировать и несколько иначе, прямо из Xawdecode. Клавиша E показывает окно настройки канала. Однако, во время написания этих строк, не все параметры сохраняются в конфиге, поэтому на практике удобнее и быстрее действовать в текстовом редакторе :).

Да, я знаю, что в bTv все регулируется че- рез графический интерфейс. Обратная сторона медали - bTv является коммерческим продуктом. Это раз. Относительно сырой интерфейс - вторичен. Это два.

И снова о каналах. Если нужный тебе канал работает в стандарте, отличном от по

ÎÄÀ FFMPEG'Ó

Íеобходимый минимум кодеков у нас есть, однако пригодится еще один - Ffmpeg. Вообще говоря, чтобы выжать из него

все возможное, надо записывать видео через mencoder, выбрав в качестве кодека "lavc". Но сейчас мы говорим о простоте и комфорте и стандартах отечественного ТВ. Поэтому качаем Ffmpeg в чистом виде (ffmpeg.sf.net) и устанавливаем его следующим образом (опция --enabled-shared нужна для того, чтобы софт для приема/записи ТВ увидел наш кодек):

#./configure --enabled-shared

#make

#make install

Ffmpeg крайне нетребователен к ресурсам компьютера. Используя его в качестве декодера, люди СМОТРЯТ видео на компьютерах с процессорами эдак K6-2 300. В режиме сжатия видео этот кодек тоже более чем умерен в потреблении ресурсов - процентов на 70% меньше, чем XVid. Но XVid, по моим наблюдениям, лучше в тех ситуациях, когда ты записываешь видео с каналов, прием которых очень плох, и картинка содержит много мусора. Ffmpeg превращает этот мусор в нечто невообразимое на экране, а вот XVid выдает более пристойную картинку. Но, записывая с "хороших" каналов, я использую только Ffmpeg.

ПИНГВИН-ТЕЛЕЗРИТЕЛЬ

умолчанию, например в Secam, то добавь в секцию этого канала строку "norm = secam". Переключить стандарт на ходу можно в окне настроек, просто выбрав нужный из списка. Также можно назначить каждому каналу некую комбинацию клавиш - в приведенном выше примере это Ctrl-6.

ПРЕЛЕСТИ GUI

Вот когда удобно пользоваться графическим интерфейсом, так это при настройке параметров кодеков. В окне опций идем в меню Record Movie -> Parameters. В самом верхнем списке Codec выбираем Ffmpeg - Mpeg4 или XVid. В Width и Height задаем ширину и высоту записываемого видео. Для справки - в системах PAL и SECAM стандартные размеры картинки таковы: 768х576.

Следующая опция, Quality - качество сжатия. Чем выше, тем больше нагрузка на процессор и тяжелее файл. У разных кодеков - разная градация качества. Например, для XVid таких пресетов больше, чем для Ffmpeg.

Далее идут еще две, наверное, самые важные опции: Min Quantizer (равно 2 по умолчанию) и Max Quantizer (равно 8 по умолчанию). Это настройки квантайзера.

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

1.Указанные тобой размеры влияют на те самые "пиксельные квадраты", которые ты видишь на экране. Например, при Max Quantizer = 18 получится изображение, ВИДИМО состоящее из квадратов, каждый из которых состоит из пикселов.

2.Чем меньше оба значения, тем больше файл, больше нагрузка на процессор, но лучше качество.

3.Идеальное качество - когда оба параметра равны и невелики, например, 2-3. Но подумай, сколько это будет весить?

4.Изменение значений хотя бы на единицу влечет за собой ощутимые последствия, особенно в плане размера файла.

И еще одна важная опция, влияющая на ка- чество видео - это, конечно же, Bitrate. Обыч- но можно ставить от 800 до 1500. Разумеется, чем битрейт ниже, тем меньше файл, и наоборот. Ниже настроек графики идут всевозможные опции сжатия звука - подразумевается mp3. Параметр Bitrate mode устанавливаем в Constant (CBR), а для mp3 Bitrate будет достаточно 128, учитывая "ка- чество" звука по ТВ. В этом же окне настроек надо прописать, куда будут сохраняться видеофайлы. Их названия формируются автомати- чески, исходя из названия канала, а также даты

èвремени.

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

w Click

 

 

 

 

m

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

На Xakep CD ты найдешь весь софт, который был упомянут в статье. А именно: последние версии аудио- и видеокодеков, программы для захвата ТВ-сигнала и редактирования видео.

Особенность Avidemux2 - сохранение производится только в копию файла, оригинал при этом не затрагивается. Поэтому запасись большим винтом :).

101

Окно настроек кодеков в Xawdecode
102
После Build VBR time map, когда ты сохранишь файл в Avidemux2, результатом может быть проблематичная прокрутка видео (в плеере).
tuner.ixbt.com
xawdecode.sf.net
mydivx.lihoman.ru
fixounet.free.fr/ avidemux
www.xvid.org
www.roxton.kiev.ua
www.virtualdub.org
www.underbit.com/ products/mad
Главное окно ReZound

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЮНИКСОИД

 

 

 

 

to

BUY

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПИНГВИН-ТЕЛЕЗРИТЕЛЬ

ПИНГВИН-RECORD'СМЕН

Сохраняем настройки, закрываем окно. Теперь, чтобы записать видео, достаточно нажать кнопку R. Чтобы прекратить запись - тоже ее. Если снова нажать R, то начнется запись другого файла. Не перепутай с bTV, где очень популярна кнопка паузы, и видео сбрасывается в один и тот же файл, который ты указал в опциях.

Завершая тему записи, не могу обойти вниманием важный вопрос. Допустим, ты планируешь записать фильм длиной в полтора часа. И тебе нужно подобрать настройки кодека таким образом, чтобы полученный в результате файл с видео поместился на одну болванку, то есть был размером, скажем, до 700 Мб.

Без сомнения, подбор опций кодека надо делать вручную. Но не записывать же тебе видео на 1,5 часа, только чтобы посмотреть, сколько будет весить файл? Вывод - надо записать короткий фрагмент и на его основе вычислить, сколько будет весить файл с такими же параметрами кодека, но большего времени.

Можно в уме, можно на калькуляторе. Но проще всего скачать с www.roxton.kiev.ua/vidw.tar.bz2 маленькую (аж 8 килобайт) утилитку, которую я создал специально для этого. Документация прилагается. Кстати, аналог существует и под Windows, вот он - http://tuner.ixbt.com/capture/files/bbc_10.zip. Надо сказать, что сначала я написал свою программу, а потом уже узнал о "конкуренте" :).

РЕЖЕМ РЕКЛАМУ

Все, допустим, записали мы видео. Фильм какой-нибудь. Но вот реклама, будь она неладна! Как говорил один хирург, будем вырезать. Вводим в нашу пьесу нового персонажа - Avidemux2 (fixounet.free.fr/avidemux). Что любопытно - и Xawdecode, и Avidemux2 - французские программные продукты. Знать, любят видео в солнечной Франции! Avidemux2 очень напоминает просто Avidemux :). А тот, в свою очередь, похож на Virtual Dub. Но во второй ипостаси Avidemux'а больше отличий, чем сходства.

Открываем в Avidemux2 файл. Если в нем mp3 сжат с переменным битрейтом, то дополнительно надо применить операцию Audio -> Build VBR time map. Кстати, для

этой операции тебе понадобится еще mp3-кодек Mad - он часто бывает и на дистрибутивах Linux. Конечно же, его надо установить до инсталляции Avidemux2.

Я кратко расскажу, что можно делать с Avidemux2 - кратко потому, что на сайте есть полная документация на русском. Во-первых, ты можешь покадрово перематывать фильм :). Курсорными клавишами на цифровой части клавиатуры, при вклю- ченном NumLock. Влевовправо - это вперед и назад, а вверх-вниз - аналогично, но по ключевым кадрам.

Чтобы вырезать рекламу или вообще любой отрезок видео (вместе со звуком),

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

ХАКЕР/¹06(66)/2004

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

REZOUND - ЗВУКОВЫХ ДЕЛ МАСТЕР

Ïри работе в Windows, когда мне нужно было сделать что-ли- бо со звуком (вырезать ненужное, конвертировать в другой

формат, пропустить через реверс), я всегда использовал SoundForge или WaveLab. С переходом в Linux мне тоже понадобился аналогичный инструмент - удобный и многофункциональный. После некоторых поисков я обнаружил ReZound (rezound.sf.net). Rezound

работает на движке интерфейса FoxToolkit, поэтому придется скачать и его (www.fox-toolkit.org). Собрался он у меня с некоторыми трудностями. Пришлось после ./configure вручную отключать опции сборки с поддержкой OpenGL.

Пожалуй, ReZound стоит на одном уровне со своими коммерческими собратьями из мира Windows - с тем же

SoundForge. Уйма функций обработки звука и эффектов на все случаи жизни. Поддержка плагинов LADSPA. Некоторые уникальные фишки, например, колесико, которое в реальном времени регулирует скорость воспроизведения. Я использую ReZound для того, чтобы сжимать файлы в OggVorbis - по загадочной при- чине ReZound выдает файлы меньшего размера, чем оригинальный oggenc при одинаковых параметрах сжатия. Разумеется, ReZound может открывать файлы в форматах MP3 и Ogg и сохранять их. Не говоря уже о форматах без компрессии, вроде Wav.

ReZound практически целиком локализован на русский Александром Прокудиным - не обращай внимания на англоязычный скриншот, просто я предпочитаю "английские версии". Итак, ReZound - программа однозначно must have для любого соида, да и, пожалуй, профессионального звукорежиссера

нужно перемотать видео к началу фрагмента, который необходимо удалить. Здесь ставим маркер А через меню Edit -> Set marker A или кнопкой на нижнем тулбаре (выглядит как ">A"). Затем прокручиваем видео до конца фрагмента и ставим маркер B - из того же меню или кнопкой ">B". Теперь лезем в Edit -> Удалить. Да, интерфейс русифицирован пока не полностью. Тем менее, работает :).

После удаления ненужных фрагментов файл сохраняем. Вообще, нужно помнить, что если у тебя до сих пор установлены маркеры, то сохранен будет лишь тот участок, что находится между ними. Таким же образом ты можешь, например, выдрать из фильма понравившуюся музыку в титрах: выдели фрагмент и сделай File -> Save Audio.

При сохранении видео тебя спросят, желаешь ли ты использовать Smart Copy. Что это такое? Поясню. Avidemux2 работает в двух режимах - Copy и Process. Первый - это когда ты занимаешься просто редактированием видео, без применения эффектов, изменения формата и так далее. Process - когда ты обрабатываешь фильм эффектами, при этом меняя параметры кодеков. В любом случае, при режиме Process видео будет переконвертировано кодеком.

Но, допустим, мы только удалили некий фрагмент - рекламу, и теперь хотим сохранить файл. Возникает небольшая проблема. Если маркер B не является ключевым кадром, а неким "промежуточным", то при удалении такого фрагмента могут возникнуть "битые" кадры - ты, наверное, видел не раз, как видео вдруг превращается в эдакий импрессионизм, мешанину цветов и форм. Понятное дело, что вырезать фрагменты только по ключевым кадрам не очень удобно. Поэтому выбираем режим Smart copy. Причем та часть видео, где произошла потеря ключевых кадров (если маркер B был не ключевым, значит, при удалении фрагмента ты удалил и предшествующий маркеру B ключевой кадр), будет заново перекодирована. Тебя попросят ввести значение для квантайзера. Обычно это 4 или 5. Говоря проще, в режиме Smart copy кодеком будут заново пересжаты все "стыки".

Еще немного поговорим о режимах работы Avidemux. По умолчанию включен режим Copy. Чтобы активировать Process, надо нажать кнопку VProcess (на нижнем тулбаре). Аналогичный режим есть для аудио - включается он кнопкой AProcess. Когда они включены, ты можешь использо-

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

ПОЛЕЗНЫЕ ВИДЕОФИЛЬТРЫ AVIDEMUX2

Crop - обрезка изображения по краям. Причем сразу показывается, как именно картинка будет обрезана. Никакого "научного тыка", все визуально.

Resize - изменение размеров. Тут все понятно. Вернее, не совсем все понятно, так как изменение размеров сопряжено с возникновением искажений в видео, но это - тема обширная и выходит за рамки этой статьи.

Blacken borders - заливка рамки видео черным цветом.

Deinterlace - устранение "гребенки". Эту же проблему можно попытаться ликвидировать, экспериментируя с разными типами deinterlacing'а в Xawdecode, что, впрочем, нагрузит процессор, и без того озабоченный сжатием в mpeg4.

Subtitle - позволяет встроить субтитры непосредственно в видео, а не в форме отдельного файла. Можно задать источник текста, шрифт и его цвет.

Add Black Borders - добавить черную рамку. А потом можно наложить на ее нижнюю половину субтитры.

вать видео и звуковые фильтры. Для них предусмотрены кнопки A Filter и V Filter.

ПОДЫТОЖИМ

Однако пора подвести итоги. После должной настройки запись чего-либо с ТВ потребует минимума усилий с твоей стороны - знай сиди да нажимай на R. Учитывая широкие возможности Linux по плани-

рованию задач, даже этот процесс можно автоматизировать, чтобы Xawdecode автоматически запускался в указанное время и записывал столько-то времени видео по такому-то каналу (см. скрипт xawdecode_record из комплекта продукта). Ну а наличие такой программы, как Avidemux2, позволяет делать с видео практически все, что может понадобиться домашнему пользователю.

В настоящее время мультимедийные возможности Linux и Windows встали на один уровень (хотя в Linux гораздо шире реализована поддержка передачи потокового аудио и видео по сети, подробнее об этом читай в одном из прошлых номеров Х в статье "Вещаем в сети" - прим. ред.), но с одним важным различием: в Linux этот софт бесплатен. z

Главное окно Avidemux2

SOFT: LINUX VS. WINDOWS

Ëюбопытно резюмировать софт, аналогичный описанному в этой статье, но для платформы Windows. Кодек - XVid либо DivX

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

Многие продвинутые пользователи качают знаменитые твикнутые WDMдрова от Ивана Ускова (www.iulabs.com/rus), которые в некоторых слу- чаях позволяют выжать из их ТВ-тюнеров больше, нежели стандартные драйверы. Затем наш гипотетический продвинутый пользователь качает себе bTv (ранее BorgTV) с www.borgtech.org/btv. BTv - одна из лучших программ своего класса. Позволяет смотреть ТВ и записывать его на диск, используя один из установленных в системе кодеков (в том числе и DivX). Хотя bTv не бесплатна, я не знаю ее фриварных аналогов для Windows. Зато есть несколько коммерческих.

Итак, если у тебя нет желания платить за софт и пользоваться взломанными программами, то проблемы особой нет. Однако если некие моральные принципы запрещают тебе использовать нелицензионный софт, то в Windows выбор не так уж велик - базовый кодек DivX либо XVid, дрова от Ускова и bTV.

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

t

 

P

D

 

 

 

 

 

 

 

 

o

 

 

 

 

NOW!

r

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

df

 

 

 

 

e

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЮНИКСОИД

 

 

 

 

to

BUY

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

Anton Karpov (toxa@real.xakep.ru)

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

ХАКЕР/¹06(66)/2004

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

МОБИЛЬНЫЕЮНИКСЫVOL.1

Þоперационку (угадай, какую), чем настольный писюк. Управление питанием, яркостью экрана, "засыпание" с сохранением настроек, специфичные функциональные клавиши, беспроводная связь, редкое (т.к. мобильное) железо - все это требует специальных драйверов от конкретного производителя. Разумеется, почти все вендоры пишут свои дрова исключительно под одну популярную ОС и рекомендуют только ее для своей продукции. Даже IBM, самый, пожалуй, мощный на текущий момент спонсор

и пропагандист Linux, ставит на свою серию ноутов ThinkPad все тот же логотипчик "Designed For Windows XP". Тем не менее, никсы, хоть и не без проблем, вполне сносно живут на лаптопах.никс на ноутбуке - возможно ли такое? Не секрет, что современные мобильные лаптопы гораздо сильнее завязаны на конкретную

ПИНГВИН НА КОЛЕНЯХ

Äолгое время мне было глубоко наплевать, как моя настольная операционка работает с питанием, монитором, мобильными устройствами. Мой компьютер работал

(да и сейчас работает) двадцать пять часов в сутки безМЕНЯЕМ ОКНА НА ТУКСА

перезагрузки и выключения, а если мне надо было увеличить яркость монитора - я просто нажимал нужные кнопки вызова OSD (On Screen Display). Так было до тех пор, пока я не приобрел себе новенький лаптоп от Sony. С ноутом поставлялась предустановленная WinXP Home Edition с дополнительными программами и утилитами, которую строго не рекомендовалось сносить. Лицензионная WinXP прожила у меня ровно до первой перезагрузки - эта была перезагрузка с диска FreeBSD 5.1-RELEASE. Второй осью встал Slackware Linux. После этого и начались полные удовольствия ночи с заточкой операционок под лаптоп.

Испытания мобильностью проходят самые выдающиеся представители братства открытых исходников - Linux 2.4/2.6 и FreeBSD 5.

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

ACPI È LINUX

Самое важное отличие ноутбуков от настольных машин - это повышенное внимание к управлению питанием. В стандартный набор возможностей входят: возможность перехода в режим пониженного энергопотребления, регулировка яркости экрана, возможность

"засыпать" с сохранением текущей рабочей сессии (suspend to RAM/suspend to disk), а также умение реагировать на внешние события (например, уменьшать яркость экрана при выдергивании шнурка питания и возвращаться на максимальную яркость - при обратном подсоединении).

В Linux поддержка ACPI изначально присутствовала в виде патчей проекта ACPI4Linux, а затем эти изменения плавно перетекли в основную ветку ядра. Но и сейчас на сайте проекта появляются микроскопические пат- чики, исправляющие огрехи последних релизов. В Linux 2.4/2.6 поддержка ACPI включа- ется в ядро в разделе General Setup -> Power Management support -> ACPI Support. Поддержку управления температурным режимом, процессором, кулером и т.п. можно как включить в ядро, так и собрать модульно.

ACPI Â LINUX 2.4

Новая стабильная ветка 2.6 существенно продвинулась вперед в плане поддержки ACPI. Я бы даже не побоялся сказать, что в 2.6 ACPI поддерживается практически полноценно. К сожалению, не все могут позволить себе перейти на 2.6 в силу его "сырости": у кого-то не работает TV-тюнер, у кого-то глю- чит framebuffer - подобные сообщения не редкость в lkml (Linux kernel mailing lists), поэтому упоминание ядер 2.4 все еще актуально, хотя в них поддержка ACPI, прямо скажем, не на высоте.

Полноценная поддержка ACPI в 2.4 (здесь и далее под этим я буду подразумевать возможность не только включаться и выклю- чаться, но и "засыпать" с сохранением состояния в оперативную память или раздел винчестера) возможна только с помощью патча Software Suspend (swsusp2). Если быть

KDE имеет удобную утилиту для контроля уровня заряда батарей

точным, все, чему этот патч научит ядро 2.4 - это засыпать с сохранением дампа оперативки на раздел диска и просыпаться с восстановлением этого дампа. Для работы понадобятся два патча - специфичный для определенной версии ядра и основной coreпатч. На момент написания этих строк последним был патч для 2.4.24 ревизии 7 и core-патч версии 2.0. Разумеется, когда ты будешь читать эти строки, перечисленные версии будут делами давно минувших дней :), хотя патчи могут подойти и для новой версии ядра, например, патч для 2.4.24 может без проблем лечь на 2.4.25. Также не забудь глянуть на ACPI-патчи (это, как правило, косметические исправления) для актуального ядра на сайте acpi.sf.net.

Установка выполняется в четыре шага. Первым делом необходимо пропатчить ядро, сначала применив специфичный патч, а затем уже core-patch:

104

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Сайт проекта ACPI4Linux

$ cd /usr/src/Linux-2.4.x

#patch -p1 < location-of-swsusp-version-specific-patch

#patch -p1 < location-of-swsusp-core-patch

Затем включаем в конфигурации поддержку SWSUSP. Hint: если до этого ядро уже было сконфигурировано, можно набрать "make oldconfig", и система предложит вклю- чить появившиеся опции:

CONFIG_SOFTWARE_SUSPEND_SWAPWRITER=y

CONFIG_SOFTWARE_SUSPEND2=y

CONFIG_SOFTWARE_SUSPEND_COMPRESSION=y

Èëè â ìåíþ "make menuconfig":

General setup --->

Software Suspend support --->

Image Storage (you need at least

one writer) --->

[*] Swap Writer

Page Transformers ---> [*] Compress image

Компилируем и ставим ядро:

# make dep clean bzImage modules modules_install

Затем в /etc/lilo.conf (или в конфиге Grub'а с соответствующими изменениями) прописываем ядру новый параметр - раздел диска, в который будет свопиться содержимое оперативки:

append="resume2=swap:/dev/hda4"

Где hda4 - заранее заготовленный раздел, размер которого вычисляем по формуле: 1,5*ОЗУ. Если создать новый раздел проблематично, то можно настроить свопинг в файл, подробности описаны в документации. Таким образом, запись для SWSUSP-ядра в /etc/lilo.conf может выглядеть так:

# vi /etc/lilo.conf

image=/boot/vmlinuz-2.4.24 label=LinuxSWSUSP root=/dev/hda2 vga=791

append="resume2=swap:/dev/hda4 hdc=ide-scsi"

read-only

Если все прошло удачно, то после перезагрузки с новым ядром файл

/proc/acpi/info должен показать появление нового state S4 (swsusp). В принципе, "заснуть" можно уже сейчас командой "echo 4 > /proc/acpi/sleep" (или "echo > /proc/swsusp/activate"), однако есть способ лучше - использовать поставляемый разработчиками скрипт suspend.sh. Он, например, выгружает "проблемные" модули, чтобы после пробуждения загрузить их снова. За подробностями отсылаю тебя к документации на swsusp.sf.net, а сам тороплюсь перейти

к возможностям ядра 2.6, все-таки мы рассматриваем современное железо в ноутбуках, а это обязывает нас быть на переднем крае ядерных разработок.

ACPI Â LINUX 2.6

В 2.6 полноценная поддержка ACPI доступна, что называется, "из коробки" - никаких пат- чей не надо. Помимо того же swsusp2, в ядро включены swsusp и pmdisk, которым соответствуют конфигурационные опции CONFIG_SOFTWARE_SUSPEND и CONFIG_PM_DISK соответственно. Обе технологии позволяют в качестве кроватки для пингвина указывать раздел диска (опять-таки опцией в lilo.conf). Для swsusp это будет resume=/dev/hda4, для pmdisk - pmdisk=/dev/hda4. Кроме этого, swsusp умеет снимать питание с процессора и винчестера, оставляя под напряжением лишь оперативку, то, что называется suspend to RAM.

Активировать режим swsusp можно все той же командой "echo 4 > /proc/acpi/sleep" (для суспенда на винт) либо "echo 3 > /proc/acpi/sleep" (для суспенда в ОЗУ). Однако в 2.6 рекомендуется использовать новую псевдофайловую систему /sys, таким образом, засыпание на винт будет выглядеть как "echo -n disk > /sys/power/state" (это и есть pmdisk), а в оперативку - "echo -n mem > /sys/power/state".

ЛАПТОП VS. НОУТБУК

Òак сложилось, что в среде юниксоидов (и не только их) ноутбуки принято называть лаптопами (laptop), буквально -

компьютер, расположившийся на коленях. В русском же языке прочно закрепился термин "ноутбук". Забавно, но это отнюдь не синонимы - лаптопами в прошлом веке назывались первые "мобильные" компьютеры, еще не имеющие аккумуляторов (они потребляли слишком много энергии, а источники питания тогда не были компактными и мощными, как сейчас), но по размерам гораздо меньше персоналок (умещающиеся на коленях), во всем похожие на ноутбуки. Ноутбук же - это лаптоп, оснащенный аккумулятором, что позволяет вытащить шнурок питания и пойти с ним (ноутбуком) гулять. В статье я следую современной трактовке термина и не разделяю эти два понятия.

МОБИЛЬНЫЕ ЮНИКСЫ VOL.1

Что же делать, если что-то пошло не так,

àядро упорно хочет resume'ться с раздела диска и от этого сходит с ума, впадая в панику? Swsusp можно отключить, передав ядру параметр загрузки noresume, swsusp2 - noresume2, а pmdisk - pmdisk=off.

Помимо различных тонкостей настройки,

àтакже того факта, что одна технология у тебя может работать, а другая - нет, отмечу, что только swsusp2 умеет засыпать в существующий раздел подкачки, работать с ядрами с включенной опцией HIGHMEM (т.е. на машинах с объемом оперативки от 1 до 4 Гб), и только он умеет работать с многопроцессорными машинами (как ни странно, только с ядрами 2.4). Вот и выбирай, что тебе по вкусу.

ACPI ACTIONS È LINUX

Не надо забывать, что ACPI - это не только засыпание и пробуждение, но и управление питанием всей машины. Подсистема реагирует на события (вроде закрывания дисплея ноутбука), сообщая изменения операционке. Стало быть, нужно ПО, воспринимающее эти изменения и реагирующее соответствующим образом. Для этого в Linux есть демон acpid. Скорее всего, для твоего любимого дистрибутива есть подходящий пакет, так что установку рассматривать не будем. А вот настройку - непременно.

По умолчанию каталог настроек демона - /etc/acpi. В нем содержатся управляющие скрипты и папка events, в которой располагаются конфиги событий. Каждый конфиг состоит из двух строчек - событие (event) и сопоставляемое ему действие (action). Каждое отслеживаемое событие представляется своей подсистемой. Состояния всех возможных подсистем содержатся в соответствующих файлах в каталоге /proc/acpi псевдофайловой системы proc. Действие - это обычный shell-скрипт, запускаемый при изменении состояния подсистемы, или просто команда. Поясню на примере с уже упомянутым дисплеем ноутбука. Создадим файл /etc/acpi/events/lidbtn следующего содержания:

event=button/lid

action=/etc/acpi/lidbtn.sh

Убедимся, что у нас загружен acpi'шный модуль ядра button (если мы его собирали как модуль, разумеется), и заглянем в /proc/acpi/button/lid. Здесь мы найдем папку LID (по количеству дисплеев, а он у нас один) и в ней два файла: info и state. Первый содержит информацию о том, что данная подсистема работает с Lid Switch - переключателем

Ядерные опции ACPI

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

w Click

 

 

 

 

m

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для управления беспроводными сетевыми картами

âLinux существует пакет wirelesstools, включающий

âсебя утилиту настройки сетевухи iwconfig и iwpriv, утилиты сбора статистики по беспроводным точкам iwlist и iwspy и многое другое.

www.kernel.org

freshmeat.net

acpi.sourceforge.net

swsusp.sourceforge.net

fdd.com/software/radeon/

105

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЮНИКСОИД

 

 

 

 

to

BUY

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

МОБИЛЬНЫЕ ЮНИКСЫ VOL.1

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

ХАКЕР/¹06(66)/2004

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для регулирования частоты работы процессора существует демон cpufreqd. Ядро 2.6 поддерживает его "из коробки" (Power management options (ACPI, APM) -> CPU Frequency scaling), а для 2.4 нужен патч. Сам демон можно ска- чать с cpufreqd.sourceforge.net.

Мониторинг состояния батарей

дисплея (из положения открыт/закрыт), второй содержит текущее состояние - open означает, что дисплей открыт. Если мы захлопнем крышку, подсистема ACPI сгенерит изменение состояния, и в файл /proc/acpi/button/lid/LID/state запишется новое состояние - closed. В свою очередь демон acpid отловит изменения в /proc, сопоставит с событиями, которые он должен отслеживать, найдет конфиг lidbtn и запустит скрипт, указанный в поле action - /etc/acpi/lidbtn.sh. Это самый обыкновенный скрипт, читающий состояние из файла /proc/acpi/button/lid/LID/state и гасящий экран, если тот закрыт (в файле записано состояние closed), и включающий обратно - если открыт (состояние - open). Для удобства добавим условие - гасить экран будем, только если ноут питается от батарей, ведь в противном случае беречь энергию некритично. Для этого прочи- таем файл /proc/acpi/battery/BAT1/state, содержащий информацию о текущем источнике питания, нас интересует строчка charging state: charging - если заряжаемся, т.е. питаемся от сети, и discharging - если питаемся от аккумулятора. Гашение экрана будет происходить, только когда батарея начнет разряжаться:

# vi /etc/acpi/lidbtn.sh

#!/bin/sh

lid_status=`awk '/^state:/ { print $2 }' /proc/acpi/button/lid/LID/state`

batt_status=`awk '/^charging state:/ { print $3 }' /proc/acpi/battery/BAT1/state`

case $lid_status in "closed")

[ -n $batt_status -a $batt_status = "discharging" ] && \ /usr/local/sbin/radeontool light off

exit 0

;;

"open") /usr/local/sbin/radeontool light on

exit 0

;;

esac

Где radeontool - утилита для контроля яркости ноутбучных мониторов для ATI Mobility Radeon. Можно изменить реакцию по вкусу, например, выключать ноутбук/уходить в standby, если питаемся от аккумулятора, просто гасить экран, если от сети.

Аналогичным образом создается реакция на остальные события. Для себя я написал скрипты, устанавливающие яркость монитора вполовину максимальной при питании от батарей, и переключающие яркость на пол-

ACPI В ПОДРОБНОСТЯХ

ÀCPI (Advanced Configuration & Power Interface, Расширенное Управление и Интерфейс Питания) - это открытый стандарт

1996 года, разработанный компаниями Intel, Toshiba, HewlettPackard и Microsoft, описывающий управление хардварными частями компа. В отличие от его предшественника APM (Advanced Power Management, Расширенное Управление Питанием), полная поддержка и управление подсистемой ACPI возможна не только на уровне BIOS (firmware), но и на уровне операционки. То есть теперь ОС может, согласно своим нуждам, управлять частотой процессора, контролируя температуру, потребление энергии и т.п., что дает гораздо большую гибкость. Текущая версия ACPI - 2.0c (acpi-20020404), поддерживает как 32-разрядные, так и 64-разрядные платформы. В разработке - версия 3.0.

Работа процессора контролируется режимами управления питанием, т.н. C-states (С1-С3), когда используется не вся мощность процессора (например, когда система неактивна и вся мощь процессора не требуется), тем самым регулируется его температура, а также "усиленным" управлением питанием (throttling control, T-states), когда процессор "засыпает" на определенные промежутки времени, например, для избежания перегрева и экономии потребляемой энергии. Кроме этого, существует т.н. управление производительностью (performance control, P-states), в простейшем случае это программное снижение частоты работы процессора со снижением рабочего напряжения все с той же целью - протянуть на аккумуляторах как можно дольше (технологии Intel SpeedStep и Centrino).

СОННОЕ ЦАРСТВО ACPI

Ñамая известная и, пожалуй, часто используемая фишка в подсистемеACPI -этот.н. sleep states, состояния системы.Всего их

шесть, обозначаются они как S-state (от S0 до S5). Помимо очевидных состояний "все включено" (S0 - "working"), когда идет нормальная работа, и "все выключено" (S5 - "soft off"), когда питание отклю- чено, однако система может реагировать на внешние воздействия (например, всем известная возможность включения компа нажатием на клавишу или включение по сети - "wake-on-lan" - как раз из областиS5),существуютрежимыS3-"SuspendtoRAM",когдасис- тема выключается, но текущее состояние дампится в оперативную память, позволяя моментально восстановить рабочую сессию без повторной загрузки ОС и приложений, виндовый "Suspend" - как раз переход в это состояние. S4 - "Suspend to Disk", то же самое, но состояние оперативки дампится на раздел винчестера или в файл, что позволяет не затрачивать энергию на "подпитку" памяти, в виндах этому состоянию соответствует режим "Hibernate". Наконец, режим S1 - "Stopgrant" - выключение процессора, и S2 - зарезервированное, но не используемое состояние.

Конкретная реализация ACPI может не поддерживать некоторые состояния, но, как правило, S3, S4 и S5 поддерживаются всегда. Помимо sleep states, ACPI умеет управлять температурным режимом, регулируя работу кулера, а также контролиро вать работу процессора.

ную - при втыкании шнурка в розетку,

СПЕЦИФИЧНЫЕ ПРОГИ

а также корректно выключающие ноутбук

Часто бывает, что поддержка ноутбуков опре-

при нажатии на кнопку питания. Теперь ты

деленной фирмы выделена особой опцией в

знаешь, как это сделать - нужно всего лишь

ядре. Это связано не с ACPI, а скорее с тон-

обработать соответствующий файл

костями взаимодействия операционки с желе-

в /proc/acpi и иметь самые начальные

зом ноутов конкретного вендора. Так, напри-

познания в shell-скриптинге.

мер, для лаптопов от Sony в Linux есть специ-

 

альный девайс sonypi, создаваемый одноимен-

106

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

ным модулем (который, разумеется, должен быть собран во время конфигурирования ядра). Его зада- ча состоит в том, чтобы предоставить интерфейс доступа к железу userland-программам. На ноутбуках же других вендоров он совершенно бесполезен. Для Sony существуют пакеты sjog, picturebook, vaiomagic, которые позволяют пользователю контролировать яркость экрана, просматривать заряд батарей, и делают функциональные клавиши (которые в силу компактности ноутбучных клавиатур есть почти в каждом лаптопе) не такими уж бесполезными в не windows среде. Для ноутов других производителей наверняка должно быть нечто подобное.

СЕТЕВОЕ ЖЕЛЕЗО

Ноутбуки - устройства мобильные, поэтому неудивительно, что их оснащают всевозможными средствами связи. Встроенная 10/100/1000 сетевая карта и 56K модем - это вчерашний день, сегодня любой уважающий себя лаптоп несет на борту встроенный Wi-Fi или Bluetooth-адаптер. По поводу встроенных сетевухи и модема все понятно - первые делаются на тех же чипсетах, что и их "большие братья", а значит, отлично поддерживаются unix-миром, вторые же в ноутах всегда софтовые aka win-модемы, поэтому, во-первых, по определению убогие, и во-вторых, практически все рассчитаны на работу под виндой, за редким исключением, вроде модемов на lucent'овских чипах. Так что разъем RJ-11 можешь заклеить скотчем - в юниксе он тебе не понадобится :). Wi-Fi адаптеры в ноутбуках в основной своей массе рассчитаны на стандарт 802.11b, только недавно начали выходить лаптопы со встроенными 802.11gкартами, и с огромной долей вероятности можно предположить, что карточка опознается и будет работать. И в Linux, и во FreeBSD лучше всех поддерживаются карты на чипсете Intersil Prism2, под этим понимается полноценная поддержка WEP до 128/256 бит и возможность работы в режимах ad-hoc, infrastructure и даже в роли точки доступа (ap-mode) - если, конечно, карта это умеет. Что же касается последовательных или COM-портов, достававшихся ноутам в наследство от настольных компов, то они теперь безнадежно устарели.

dmesg может о многом рассказать

PCMCIA È LINUX

PCMCIA - довольно старый интерфейс для подключения мобильных устройств. Тем не менее, он и по сей день используется в ноутбуках, и альтернативной замены ему не предвидится. Можно найти любой девайс для ноутбука, от модема до Wi-Fi-карточки, в PCMCIA-исполнении. Часто PCMCIA называют просто PC-CARD, в никсах особенно часто встречается этот синоним. Для начала убедимся, что ядро собрано с поддержкой шины cardbus и pcmcia:

CONFIG_PCMCIA=m

CONFIG_CARDBUS=y

Подробности - в разделе PCMCIA/CardBus support конфигурации ядра. Следующие сообщения при загрузке говорят о том, что слот опознан и готов к работе:

Linux Kernel Card Services 3.1.22 options: [pci] [cardbus] [pm]

Yenta ISA IRQ mask 0x0cb8, PCI irq 9 Socket status: 30000006

Помимо ядерной поддержки, нужен демон, обрабатывающий события вроде вставки-вынимания карточки из слота и управляющий PCMCIA-устрой- ствами. В Linux этот демон зовется cardmgr из пакета pcmcia-cs. Его задача - опознать, что за карта вставлена в PCMCIA-слот, загрузить соответствующие модули, выделить устройству прерывания и т.п. Конфигурационные файлы лежат в /etc/pcmcia, главный из которых - config - представляет собой базу карт. Пример записи из config:

card "Ositech Jack of Spades Fast Ethernet/Modem" manfid 0x0140, 0x0012

bind "epic_cb" to 0, "serial_cb" to 1

Таких строчек сотни, и твоя карта наверняка должна опознаться соответствующей записью в файле настроек. Если же в конфиге дистрибутивной поставки ее нет, стоит поискать в Сети - наверняка кто-либо уже прикручивал подобную карту к Linux, либо твой пакет cardmgr может быть просто outdated. В Сети есть списки совместимости существующих PCMCIA-устройств с Linux, так что стоит посмотреть подобный Linux pc-card compatibility list. Наконец, управление картой может быть осуществлено из консоли с помощью утилиты cardctl из того же пакета.

Как видишь, пингвин может вполне уютно разместиться на коленях, доставляя тебе немало радости :). To be continued... z

ВСЕ НА БОРЬБУ С ПОДЕЛКАМИ

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

ноуты. Так, Linspire (бывший Lindows), наравне со своим десктоп-дист- рибутивом продает LindowsOS Laptop Edition. Лично мое мнение - от таких вещей надо бежать как от огня, т.к. это сильно изуродованные дистрибутивы, которые разработчики пытаются превратить во "вторую windows" в плане дружелюбности и простоты. Обычно получается глючная поделка, легче и лучше все самому с умом настроить руками. Первый признак таких дистрибудивоваятелей - всяческое абстрагирование от того, что они производят собственно дистрибутив Linux, гордо называя свои поделки "операционными системами".

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

 

df

 

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

E

 

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

d

 

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

КОДИНГBUY

w Click

to

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

DELPHI

Фленов Михаил (www.vr-online.ru)

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

ХАКЕР/¹06(66)/2004

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

ÒРЕПАНАЦИЯ

ÄËß

ПОЧТОВОЙ

ÌÛØÈ

Ïего адресной книги засекречен. Если в Outlook любой вирус может получить доступ к адресбуку и разослать себя твоим друзьям, то в The Bat! это нереально. Вернее, кажется нереальным. Мы как IBM-совместимые люди вполне можем написать сервис, которыйочему The Bat! считается самым безопасным почтовым клиентом? Дело в том, что он не поддерживает всякие VB скрипты, а формат

вытащит все e-mail'ы и аккуратненько сложит их в txt-файл.

ПИШЕМ СЕРВИС, СКАНИРУЮЩИЙ АДРЕСНУЮ КНИГУ THE BAT!

АДРЕЗ

Теперь запускаем Delphi и сразу закрыва-

Í

ачнем с создания сервиса как

ем созданный по умолчанию проект. Теперь

такового. Есть два способа.

выбирай File/New/Other (Для Delphi меньше 7

Можно, конечно, слегка пору-

версии просто File/New) и в появившемся

коблудить и написать его с по-

окне на закладке New ищи Service Application

мощью WinAPI, но зачем выду-

(см. рис.1). Кликай на нем. Можно считать,

мывать пистолет, когда есть

что первый надрез на теле почтовой мышки

пулемет? Поэтому мы вос-

уже сделан ;).

 

пользуемся готовым классом

ИССЛЕДУЕМ СОДЕРЖИМОЕ

 

TService от великой корпорации Borland.

 

 

 

 

Код главного модуля по-

 

 

 

 

хож на все те, с которы-

 

 

 

 

ми ты уже привык рабо-

 

 

 

 

тать. Но изюминка спря-

 

 

 

 

тана под печенью (под

 

 

 

 

печенью обычно прячется

 

 

 

 

гонококковый перигепа-

 

 

 

 

òèò :) - ïðèì. Dr), à

 

 

 

 

именно - в объекте, от

 

 

 

 

которого все происходит.

 

 

 

 

Если стандартное прило-

 

 

 

 

жение происходит от

 

 

 

 

объекта TForm, то тут мы

 

 

 

 

пляшем мазурку от

 

 

 

 

TService.

 

 

 

 

Визуальная форма

 

 

 

 

больше похожа на модуль

 

 

 

 

данных (Data Module), и

 

Рисунок 1. Окно выбора типа создаваемого проекта

 

на ней можно размещать

только невизуальные компоненты. Это и понятно, ведь сервис работает невидимо для пользователя.

А теперь давай посмотрим на самые вкусные свойства объекта TService, которые ты можешь увидеть в объектном инспекторе.

Рисунок 2. Свойства объекта TService

108

Соседние файлы в папке журнал хакер