LXF99:10 проектов

Материал из Linuxformat.

(Различия между версиями)
Перейти к: навигация, поиск
(4)
(Почувствовать движение)
 
(8 промежуточных версий не показаны.)
Строка 190: Строка 190:
====Музыка, iTunes и DAAP====
====Музыка, iTunes и DAAP====
-
Если вы предпочитаете не фильмы/фото, а потоковое вещание, есть варианты и получше типового UPnP-сервера. Проще всего установить ''Slimserver'', открытое ПО для устройства Squeezebox. ''Slimserver'' годится для всевозможных клиентов: чтобы проигрывать музыку, подойдет даже web-браузер! А самое приятное в нем то, что большинство дистрибутивов уже содержит готовые пакеты, и установка займет примерно 30 секунд. Однако если вы или кто-нибудь из ваших домочадцев использует iTunes, есть еще лучший вариант: ''Firefly Media Server''. Домашняя страница проекта содержит пакеты для большинства дистрибутивов. Установка и настройка весьма несложные: просто добавьте пакет и отредактируйте одну строку в файле конфигурации, чтобы ''Firefly'' знал, где искать вашу музыкальную коллекцию. Построение базы данных займет некоторое время. При следующем запуске ''iTunes'' сервер возникнет автоматически, благодаря протоколу '''Bonjour''', и вы сможете просматривать и проигрывать музыку с сервера так же, как и локальную. Единственным ограничением является отсутствие просмотра обложек; нельзя также синхронизировать ваши удаленные файлы с iPod'ом.
+
Если вы предпочитаете не фильмы/фото, а потоковое вещание, есть варианты и получше типового UPnP-сервера. Проще всего установить ''Slimserver'', открытое ПО для устройства Squeezebox. ''Slimserver'' годится для всевозможных клиентов: чтобы проигрывать музыку, подойдет даже web-браузер! А самое приятное в нем то, что большинство дистрибутивов уже содержит готовые пакеты, и установка займет примерно 30 секунд. Однако если вы или кто-нибудь из ваших домочадцев использует ''iTunes'', есть еще лучший вариант: ''Firefly Media Server''. Домашняя страница проекта содержит пакеты для большинства дистрибутивов. Установка и настройка весьма несложные: просто добавьте пакет и отредактируйте одну строку в файле конфигурации, чтобы ''Firefly'' знал, где искать вашу музыкальную коллекцию. Построение базы данных займет некоторое время. При следующем запуске ''iTunes'' сервер возникнет автоматически, благодаря протоколу '''Bonjour''', и вы сможете просматривать и проигрывать музыку с сервера так же, как и локальную. Единственным ограничением является отсутствие просмотра обложек; нельзя также синхронизировать ваши удаленные файлы с iPod'ом.
-
===5===
+
===Проект 5: Ферма для рендеринга===
-
===6===
+
Что нужно:
 +
* Один или два свободных ПК.
 +
* Локальная сеть
 +
* Необходимость в дополнительных вычислительных мощностях.
-
===7===
+
Время: 1 час
-
===8===
+
'''У всех нас по углам завалялась пара машин, которые только зря занимают место. Им, может, и слабо запустить современный рабочий стол, но как-никак они способны перемалывать миллионы операций в секунду. Хитрость состоит в том, чтобы заставить их работать параллельно, прибавляя свою мощь к вашей установке. Это называется распределенными вычислениями, и Linux для них - самая подходящая ОС: мало того, что она свободная, она еще и идеально настраивается на перераспределение задач по сети. Обычно по сети распределяют две задачи. Первая - компиляция с участием приложения по имени ''distcc'': сопутствующая нагрузка на CPU делится между множеством машин. Такую компиляцию легко настроить и использовать, но тем, кто не компилирует ядро ежедневно и не работает в университетской лаборатории, проку от нее мало. Вторая задача среднему пользователю куда интереснее: это ускорение 3D-рендеринга в Blender, прекрасном приложении для трехмерного моделирования. При минимуме настройки машина, бездельно пылившаяся у вас под столом, резко уменьшит время, требуемое для отрисовки сцены. Чем больше компьютеров в этой компании, тем больше ускорение. Быть может, вам даже захочется использовать Live CD, чтобы призвать на подмогу машины с Windows.'''
-
===9===
+
====Управление очередью====
-
===10===
+
Для ''Blender'' есть несколько инструментов разделения задачи рендеринга по компьютерной сети. Наиболее всесторонний из них называется ''DrQueue'', но настраивать и использовать его не так-то просто. Будучи хорош для профессионалов (он, например, использовался в ''Пиратах Карибского моря: Сундук мертвеца''), ''DrQueue'' не совсем подойдет тем, кто имеет только пару свободных часов по выходным. К счастью, есть более легкий вариант. ''Farmer Joe'' легок в установке: просто скачайте и распакуйте архив на каждую машину, которую вы хотите использовать в коллективной отрисовке. Следующий шаг - создать общий каталог, доступный со всех машин. В большинстве дистрибутивов предусмотрен мастер '''Shared Directory''', делающий именно это с помощью ''Samba''. Убедившись, что все машины имеют доступ к общему каталогу, нужно будет на каждой из них отредактировать файл конфигурации '''farmerjoe.conf'''. Выберите одну машину в качестве сервера, и используйте IP-адрес этой машины для поля '''Master''' в каждом файле конфигурации. Также убедитесь, что поле '''linux_root''' указывает на общий каталог, поле '''linux_blender''' - на исполняемый файл ''Blender'', а поле '''linux_composite''' - на исполняемый файл ''composite''. Отредактировав все файлы конфигурации, отправляйтесь обратно на сервер и введите '''./farmerjoe.linux -- master''' - сервер запустится. На каждом клиенте запустите '''./farmerjoe.linux''', и они подсоединятся к серверу автоматически.
 +
 
 +
{{Врезка
 +
|Заголовок=
 +
|Содержание=В настоящее время Blender Foundation работает над '''Peach''', коротким продолжением '''"Мечты Слона"''', используя ''Blender'' и другие открытые приложения. http://tinyurl.com/296vhx
 +
|Ширина=200px}}
 +
 
 +
====Blend значит <смесь>====
 +
 
 +
Теперь можно запускать ''Blender'' и загружать сцены для отрисовки. ''Farmer Joe'' использует скрипт для отправки задачи на рендеринг машинам фермы, и вы можете либо скопировать его из каталога '''Render Joe''' в каталог скриптов ''Blender'', либо запустить вручную через '''Load New'''. Откроется новое маленькое окно, где нужно нажать на кнопку '''Submit Render'''. Больше ничего делать не надо. Каждый клиент примет новую задачу от сервера и примется за работу, сохраняя каждый завершенный рисунок в каталоге '''jobs''' общей папки. Если хотите наблюдать за ходом выполнения работы, с главной машины, можно запустить небольшой web-сервер, введя '''./farmerjoe --appserver''' и открыв в web-браузере порт '''2007''' на главной машине. Вы даже можете приостанавливать и перестраивать очередь задач, если у вас появится срочная работа, требующая завершения. Вот и все: вы научились создавать собственную ферму для рендеринга.
 +
 
 +
===Проект 6: Создаем синтезатор===
 +
 
 +
Что нужно:
 +
* Способ прослушивать аудиовыход вашего компьютера и сочувствующие либо глухие соседи.
 +
 
 +
Время: 1 час и более
 +
 
 +
'''Синтезаторы - это здорово. Они вобрали в себя лучшие аспекты программирования, такие как сцепление модулей воедино и управление потоком данных, и используют это для создания звуков, а не приложений. И не требуется писать ни строчки кода. В Linux есть два замечательных инструмента, пригодных для создания синтезаторов. Один называется ''Alsa Modular Synth'' (AMS) и используется уже много лет, другой называется ''Om'', он возник сравнительно недавно. Оба находятся в активной разработке и делают, в общем-то, одинаковую работу. Они используют для дизайна синтезатора графический интерфейс, а не встроенную среду разработки, а источник их вдохновения - модульные синтезаторы 1960-х и 1970-х: любое количество функциональных модулей связывается воедино внутри мешанины виртуальных кабелей. Итак, вместо целой комнаты с техникой, которая требовалась в 1976, вам потребуется только компьютер и Linux.'''
 +
 
 +
====Типа Moog====
 +
 
 +
Мы будем использовать ''AMS'', так как он более стабилен и по умолчанию есть почти во всех дистрибутивах; но сделать синтезатор в ''Om'' ничуть не сложнее. Создадим классический трехосцилляторный синтезатор, способный генерировать старомодное звучание 1970-х. Дизайн его похож на знаменитый '''Minimoog''', и все еще широко используется в наше время. Имеется три основных компонента. Первый - осциллятор (VCO): он генерирует начальный звук, используя предопределенную форму сигнала (как правило, синус, импульс или пилообразный). Затем этот звук проходит через вторую компоненту - фильтр (VCF), который убирает часть частотного диапазона исходной формы сигнала, добавляя глубину и тембр. Последний компонент называется модулятором и имеет множество разновидностей. Модуляторы изменяют уровень сигнала, добавляя огонька. Чаще всего в синтезаторах используются модуляторы амплитуды - Envelope (ENV) и низкочастотный - LFO (low frequency oscillators). Envelope меняет уровень со временем, к примеру, позволяя звуку начинаться громко и постепенно затихать. LFO постоянно добавляет модуляцию и обычно используется при добавлении к звуку эффектов вибрато или тремоло.
 +
 
 +
====Классический модуляр====
 +
 
 +
Для создания этого синтезатора, сначала запустите AMS. Также понадобится установить программу виртуальной клавиатуры ALSA, чтобы проигрывать ваши звуки. Внутри AMS вы увидите пустой коричневый экран. Правым щелчком мыши или через меню Module можно добавлять необходимые модули - нам потребуются 3xVCO, 2xENV, 1xVCF, 1xMCV, 1xVCA, 1xPCM Out и какой-нибудь микшер. Теперь настает более сложный этап. Перетащите модуль MCV налево и, щелкнув по разу на квадратиках рядом с каждым входом и выходом, прикрепите выход Gate ко входу Gate на обоих ENV-модулях. MCV - управляющий модуль, он сигнализирует о нажатии клавиши, используемой для запуска Envelope. Затем присоедините частотный выход модуля MCV к частотным входам трех модулей VCO. Это сообщит осцилляторам, какую частоту им генерировать, то есть задаст высоту звука. Подключите пилообразные выходы всех VCO к отдельным входам микшера, чтобы суммировать звуки от всех осцилляторов, и присоедините выход микшера ко входу VCF. Выход из одного ENV направьте на вход Gain 0 на VCA (усилитель), а выход другого ENV - на вход Exp. FM на VCF, и соедините выход VCF со входом VCA. Все понятно?
 +
 
 +
Наконец, соедините выход VCA со входом модуля PCM Out - аудио отправится на звуковую карту. Вы только что собрали свой первый синтезатор, и нажатие клавиши должно издать звук. Последний шаг - установка таких параметров каждого модуля, чтобы звук получался хороший. Панель параметров возникает при щелчке по модулю правой кнопкой, а наш синтезатор так похож на Minimoog, что вы можете использовать параметры патчей, доступных для этой старой классической версии, в нашей новой программной. Взгляните на экранный снимок, там патч для простого мягкого соло.
 +
 
 +
[[Изображение:LXF99_101.jpg|Мягкое соло]]
 +
 
 +
===Проект 7: Перекраиваем маршрутизатор===
 +
 
 +
Что нужно:
 +
 
 +
*Ненужный маршрутизатор, с которым вы готовы распрощаться.
 +
 
 +
Время: 2 часа
 +
 
 +
'''Если вы готовы рискнуть, перепрошивка маршрутизатора даст вам полный контроль над вашим оборудованием и установит на устройство ваши собственные утилиты, превратив его из пассивного кирпича в маленький компьютер с Linux. Получив над ним контроль, можете установить почти любой сервер Linux, какой пожелаете, включая платформу телефонии ''Asterisk'', DHCP, DNS, VPN и многое другое. В некоторых маршрутизаторах вы даже получите доступ к заблокированному оборудованию или сможете разогнать устройство и выжать из машины дополнительную скорость. '''
 +
 
 +
====Открытая прошивка====
 +
 
 +
{{Врезка
 +
|Заголовок=
 +
|Содержание=Зачем ломать идеально работающий маршрутизатор на гарантийном сроке, рисковать стабильностью и поддержкой? Да, собственно, незачем! Дождитесь, пока ваш старый маршрутизатор пойдет на выброс. Нужен также солидный опыт работы с Linux: если что-то пойдет не так, подсоединить клавиатуру и мышь и найти неисправность с экрана не удастся. Недокументированные действия с маршрутизатором ведут к риску потери гарантии, а также есть вероятность полного выхода вашего оборудования из строя.
 +
|Ширина=200px}}
 +
 
 +
Все это возможно благодаря ''OpenWRT'', проекту, который стартовал как замена для Linksys WRT54G, но с тех пор дорос до охвата десятков других маршрутизаторов. И вот первый шаг: убедитесь, что ваш маршрутизатор поддерживается. Просмотрите длинный список поддерживаемых устройств на http://toh.openwrt.org. Поддерживаются многие устройства от Asus, Belkin, Buffalo, D-Link и Netgear, хотя львиную долю устройств все еще занимает Linksys. Ссылка в таблице приводит к инструкциям для вашего устройства, а также к специальным программным прошивкам, которые заменят те, что стоят у маршрутизатора по умолчанию. Если вашего устройства нет в списке <поддерживаемых>, то использовать его нельзя, хотя там имеется несколько, помеченных <в разработке>, с которыми может все получиться. Как правило, трюк с заменой ваших программных прошивок состоит в перехвате процесса загрузки маршрутизатора, но для разных маршрутизаторов он разный, и вам следует свериться с таблицей совместимости и следовать инструкциям именно для вашего оборудования. Но недавно были созданы двоичные пакеты, имитирующие официальные обновления прошивок для всех распространенных маршрутизаторов - то есть можно установить ''OpenWRT'', не пользуясь ничем, кроме кнопки Обновить web-интерфейса вашего маршрутизатора. Несколькими мгновениями спустя, после перезагрузки маршрутизатора, у вас будет установлен ''OpenWRT'', малой кровью. Только вы не сможете разговаривать: по умолчанию ''OpenWRT'' пока не включает пользовательский интерфейс, и единственный интерфейс к вашей новообретенной свободе - почтенный ''telnet''. Первым делом подсоединитесь к маршрутизатору и смените пароль администратора. Просто введите ''telnet'', затем - IP-адрес маршрутизатора (он зависит от конфигурации сети, однако если вы совершенно не в курсе, попробуйте '''192.168.0.1'''). Вы автоматически подсоединитесь, так как защиты паролем пока нет. Переделайте это, введя '''passwd''', а потом - новый пароль администратора. Теперь после перезагрузки маршрутизатора доступа по telnet уже не будет. Вместо него можно использовать заданный пароль для доступа через ''SSH'' - куда более безопасный вариант. Это Linux, и ваши обычные навыки будут творить чудеса и здесь. Введите '''help''', чтобы увидеть список распространенных команд, но без '''ipkg''' вы далеко не уйдете: эта команда устанавливает на маршрутизатор дополнительные пакеты. Введите '''ipkg update''', чтобы скачать последний список доступных пакетов, затем выведите этот список по '''ipkg list'''. Первое, что вы, наверное, захотите установить - это ''X-Wrt'', управляющую web-консоль. К вящей путанице, доступны и другие прошивки, по умолчанию включающие ''X-Wrt'', но web-интерфейс можно установить вручную, набрав
 +
<code>
 +
ipkg install http://ftp.berlios.de/pub/xwrt/webif_latest.ipk -forcereinstall
 +
</code>
 +
 
 +
Ваш маршрутизатор перезагрузится, и вы сможете управлять высвобожденным оборудованием, открыв web-браузер и указав IP-адрес маршрутизатора. Если вы ранее пользовались утилитой ''Webmin'', то будете чувствовать себя, как дома.
 +
 
 +
===Проект 8: Создайте свою Fedorа===
 +
 
 +
Что нужно:
 +
 
 +
* Дистрибутив Fedora 7, Linux с привилегиями root'а.
 +
 
 +
Время: 2 часа
 +
 
 +
'''Существует много причин стремления создать свою версию дистрибутива Fedora, и это намного проще, чем вы думаете. Много лет назад спецы Red Hat и сообщество Fedora создали поразительное компактное скриптовое приложение ''Revisor''. Идея его состояла в том, чтобы запросто пересобирать Fedorа, добавлять собственное содержание или даже заранее выбирать приложения для включения. На заре юности ''Revisor'' имел причуды, но сейчас он гораздо лучше!'''
 +
 
 +
====Начало====
 +
 
 +
Во-первых, скачайте ''Revisor'' с http://revisor.fedoraunity.org. Правда, имеется несколько зависимостей, которые тоже потребуется установить, но не особо сложных. Скорее всего, нужны будут только ''livecdtools'' и, быть может, дополнительные пакеты ''Python''`а. В идеале хорошо бы у вас уже работала Fedora 7, и не обойтись без привилегий суперпользователя.
 +
<code>
 +
yum install revisor
 +
</code>
 +
 
 +
Объем загрузки не превышает 15 МБ. Теперь можно запустить ''Revisor'', просто введя команду в окне терминала. Вас попросят ввести пароль '''root'''`а, и после этого все заработает.
 +
 
 +
Заглавная страница предложит вам варианты отображения продвинутых опций, которые следует учесть, если вы хотите делать что-то кроме CD/DVD. Щелчок по '''Next''' приведет вас в настройку '''Media Type''' (типа носителя). Здесь важно решить, хотим ли мы устанавливать систему с нашего дистрибутива или просто загружаться с него. Вы также можете сделать виртуальный установочный набор, но, возможно, это уже слишком круто. Для нашего проекта мы просто сделаем Live CD с PDF-браузером и кое-какими старыми номерами журнала, то есть нам надо выбрать '''Live media'''.
 +
 
 +
Следующая страница попросит указать тип носителя. Мы выберем '''Optical'''.
 +
 
 +
====Repo man====
 +
 
 +
{{Врезка
 +
|Заголовок=
 +
|Содержание=
 +
Хотите добавить свои файлы? Установите пакет ''createrepo'' и просто запустите его в каталоге, содержащем эти файлы, для генерирования заголовков. Затем вам нужно запустить FTP- или HTTP-сервер, чтобы позволить ''Revisor'' выбрать пакеты.
 +
|Ширина=200px}}
 +
 
 +
Следующий раздел - настройка ваших репозиториев. Выпадающий список '''Section''' предлагает выбрать базовый код для вашего дистрибутива. Версия разработчиков - это ''Rawhide'', а fc7 в настоящее время - релиз ['''к тому моменту, когда вы будете читать эти строки, релизом будет fc8, - прим. ред.''']. Выбрав конфигурацию, вы увидите список репозиториев. При желании его можно пополнить (например, добавить '''livna'''). Если вы хотите добавить в дистрибутив собственные файлы, следует создать для них пакет и настроить локальный репозиторий для их обслуживания. Смотрите на желтую подсказку вверху!
 +
 
 +
Затем выберите себе пакеты, почти тем же способом, как при первой установке Fedora. Все организовано по группам, и зависимости разрешаются автоматически. Чтобы вы могли прикинуть, во что это выльется, скажем, что минимально возможный размер - 480 МБ, но учтите: сюда не включено даже окружение рабочего стола!
 +
 
 +
Следующая стадия - самая длинная: этап сборки, когда ''Revisor'' получает необходимые пакеты. Затем проходит процесс завершения установки (он может тянуться еще дольше, так что наберитесь терпения). Если вы предпочли Live-дистрибутив, то вдобавок понадобится "установить" пакеты на сжатую файловую систему, откуда они будут запускаться, а также настроить загрузчик. Конечным результатом будет ISO-образ, который можно прожечь на диск и наслаждаться, наслаждаться!
 +
 
 +
Конечно, если вы хотите чего-то посолиднее, потребуется повозиться с пакетами и файлами ''kickstart''. Файл ''kickstart'' - это просто файл, который сохраняется в конце установки Fedora, с журналом всех сделанных вами выборов. Его можно использовать для автоматизации будущих установок или для определения набора пакетов, предназначенных для создания новой личной версии Fedorа. С виду кажется, что потребуются большие усилия, но вы всегда можете загрузиться на виртуальной машине, которую вы так и так используете для тестирования!
 +
 
 +
===Проект 9: Создаем комиксы в Inkscape и Gimp===
 +
 
 +
Что нужно:
 +
 
 +
* Дар художника, способности рассказчика.
 +
 
 +
Время: долго
 +
 
 +
'''Мир требует все больше комиксов. Правда-правда. Можете включиться в этот процесс - это проще, чем вы думаете. Перед стартом следует уяснить несколько моментов:'''
 +
 
 +
* Есть масса способов создания рисунков и окончательного документа; показан только один. Хотите делать по-другому? Вперед!
 +
* Прочтя этот проект, вы не станете лучше рисовать. Улучшить рисование можно только рисуя.
 +
* Вообще-то схема применима и без рисунков - визуализируйте 3D-сцены или пользуйтесь фотографиями, подобно любовным фотоисториям Jackie или долгожданному 1985 Марка Миллара [Mark Millar].
 +
 
 +
Положим, что вы все-таки собираетесь рисовать комикс. Вариантов ввести рисунки в компьютер существует несколько. Можно, конечно, прямо там их и нарисовать - наличие графического планшета здорово упростит задачу. А если вы сделали рисунки на бумаге, отсканируйте или сфотографируйте их. В зависимости от стиля рисунка, даже дешевая цифровая камера может дать приличное качество. И сканированные, и сфотографированные рисунки, скорее всего, сперва потребуют небольшой чистки, что, возможно, лучше всего делает ''GIMP''. Но мы забегаем вперед.
 +
 
 +
====Размер имеет значение====
 +
 
 +
Определитесь с размером комикса и создайте документ в Inkscape того же размера. Стандартный размер комикса в США - 6 5/8" x 10 1/4". В Британии стандарта нет (знаменитый ''"2000 н.э."'' выходил во всех размерах); если хотите, используйте '''A4'''. Помните про поля страниц; прикиньте, сколько места потеряется в зависимости от переплета - скрепками или клеем.
 +
 
 +
Далее следует сделать набросок вашей страницы и примерно представить ее раскладку. Размер и форму кадров полезно знать заранее, чтобы сразу рисовать правильно. Кадры рисуйте по отдельности. Для лучшего результата, рисуйте как профи - сначала наметьте мягким карандашом, затем обведите линии толстой кистью или пером. Большинство художников делает рисунки в 120 % от окончательного размера, а то и больше, а вы можете работать при 150 % и использовать реально толстое перо для контуров и более тонкое для деталей. Не забудьте оставить место для пузырей изо рта, которые с текстом!
 +
 
 +
Загоните рисунки в компьютер через сканер или камеру и обработайте их '''GIMP'''`ом. Повысьте контрастность и яркость: серые пятна исчезнут, останутся только темные контуры. Переключитесь в режим индексированных цветов, потом в монохромный, затем обратно в градации серого, и сохраните продукт. Теперь рисунки можно импортировать в ''Inkscape'' и разместить по кадрам. Если вы в основном рисовали жирными линиями, можно получить изящный эффект очистки, трассировав растр и создав из него контуры. Это сгладит некоторые области рисунка и приведет к более гладкому результату, но может исказить ваш стиль.
 +
 
 +
====Чаво сказал?====
 +
 
 +
Думаете, в ''Inkscape'' создавать пузыри с текстом просто? Может, вы и правы, но они не будут выглядеть как полагается. В зависимости от стиля вашего комикса, может быть лучше нарисовать несколько вариантов, отсканировать их и преобразовать в SVG-объекты ''Inkscape''. Хороший совет - нарисовать сначала диалог: легче оформить пузырь вокруг нормального, хорошо выглядящего куска текста, чем пытаться втиснуть слова в нарисованную фигуру. Сами буквы, конечно, можно выполнять от руки, но в наши дни профессионалы используют шрифты (обычно собственные, выполненные своим почерком). К счастью, множество шрифтов для комиксов доступно как Freeware или вообще Public Domain. Подберите шрифты комиксов на http://www.1001fonts.com или http://www.blambot.com/fonts.shtml, скопируйте их (под root) в вашу папку '''/usr/share/fonts''' и перезапустите ''Inkscape'', чтобы их можно было выбирать. Для надписей больше подходят шрифты, имеющие несколько размеров, они дают возможность выделения увеличением. Нужно ли говорить, что легче создавать их на отдельном слое, заблокировав остальные, чтобы предотвратить смешение с расположенным ниже рисунком.
 +
 
 +
====Добавление цвета====
 +
 
 +
Вам хочется цвета - прелестно! Существует чудный способ его добавить. Экспортируйте все страницы из ''Inkscape'' как растровые рисунки. Потом загрузите их в ''Gimp'' и раскрасьте по велению вашего сердца. Контуры можно использовать для плоской заливки, градиентов или чего-нибудь еще, а можно раскрашивать области. Главное, что не нужно беспокоиться о выходе за линии, как вы сейчас увидите. Снова сохранитесь в виде растра и переключитесь в ''Inkscape''. Прежде чем делать что-то дальше, выберите '''Layers > Add New Layer''' и создайте новый слой. Теперь импортируйте раскрашенный растр. Подгоните его так, чтобы он идеально совпал со страницей, чего легко добиться, введя '''0''' в поля смещения по '''x''' и '''y''' в панели инструментов. Теперь нажмите '''Shift+PgDown''', чтобы поместить этот слой ниже всех, и рисованный слой закроет все участки, где вы заехали на линии. Ура!
 +
 
 +
===Проект 10: Широковещание web-камерой===
 +
 
 +
Что нужно:
 +
 
 +
* Web-камера, совместимая с Linux
 +
* Постоянное интернет-соединение
 +
* ''Asterisk'' необязателен.
 +
 
 +
Время: 15 минут
 +
 
 +
'''Все мы уже купили web-камеры пару лет назад. Тогда это казалось отличной идеей. Мы полагали, что сможем на халяву болтать с друзьями и родными, видя их радостные лица, созерцающие нас. Увы, даже когда это удавалось, первые полчаса тратились на устранение по телефону нестыковок с их web-камерой, что убивало всю идею. Так что в основном web-камеры валялись забытые по коробкам, в компании прочего хлама. Но сейчас их время пришло. Используйте вашу web-камеру для широковещания маленького окна в вашу жизнь на остальной мир (или на локальную сеть, если вы скромны).'''
 +
 
 +
====Web-камера====
 +
 
 +
Это покажется очевидным, но самое главное в этом проекте - убедиться, что ваша web-камера должным образом поддерживается. Linux проявляет разборчивость в этом вопросе. Старая Phillips PCVC675K не создала нам проблем, но мы знаем более новые устройства, которые не работают. Простейший способ протестировать вашу камеру - подключить ее к машине и запустить приложение, показывающее видео, например, ''Ekiga''. Если это не работает, ищите в базе данных поддержки вашего дистрибутива любые намеки на то, как приставить устройство к делу. Если работает, то следующим шагом будет установка программы, делающей снимки и отсылающей их на сайт. Лучшей небольшой утилитой, которую мы нашли, оказалась ''webcamd''. Это - простой демон, выполняющийся в фоновом режиме: он захватывает рисунок с web-камеры через заданные промежутки времени и копирует полученный файл на локальную web-страницу или FTP-сервер (два наиболее распространенных способа хостинга потока с web-камеры). ''Webcamd'' надо установить через менеджер пакетов вашего дистрибутива, а если вы хотите запустить еще и локальный web-сервер, потребуется установить еще и ''Apache''.
 +
 
 +
====Дни демона====
 +
 
 +
После установки, выберите пользователя, под которым вы хотите запускать демона ''webcamd''. Если вы используете ''Apache'', убедитесь, что этот пользователь имеет право на запись в каталог web-содержимого (обычно '''/var/www'''). Переключитесь на этого пользователя и введите '''webcamd''' в командной строке. Создастся файл конфигурации '''~/.webcamd/webcamd.conf'''. Если вы хотите загружать изображения на FTP-сервер, откройте этот файл вашим любимым текстовым редактором, измените '''enable_ftp = no''' на '''enable_ftp = yes''' и убедитесь, что настройки сервера соответствуют IP-адресу, имени пользователя и паролю, требуемым вашим FTP-сервером. Может быть, вы захотите изменить в этом файле и другие параметры, например, скорость обновления и разрешение изображения. Наконец, закончив все исправления, просто введите '''webcamd start''' для запуска демона в фоновом режиме. Если у вас запущен ''Apache'', вы сможете указать web-браузеру ваш IP-адрес, и тогда вы увидите страницу с внедренным в нее изображением с web-камеры. Если вы используете FTP-сервер, то изображение загрузится на сервер. Все, что вам останется сделать - это изменить встроенную web-страницу на ваше собственное усмотрение.
 +
 
 +
====Почувствовать движение====
 +
 
 +
Если вам удастся получить работающую web-камеру, примените ее практически, употребив как сенсор движения. Такой используется в ''ZoneMinder'', домашней системе безопасности, которая опрашивает web-камеры на предмет засеченного движения. Что-нибудь обнаружив, она может либо подать тревогу, либо послать электронное письмо, либо даже позвонить, если у вас используется ''Asterisk''. ''ZoneMinder'' также увязан с LinuxMCE, домашним медиацентром (мы писали про него в [[LXF98:LinuxMCE 0704|LXF98]]), так что вы можете превратить ваш ТВ в Linux-эквивалент HAL9000. Но если ''ZoneMinder'' слишком роскошен для нужд вашей безопасности, обратите внимание на небольшое приложение командной строки под названием ''motion''. Оно включено в большинство дистрибутивов, а зависимостей у него нет. ''Motion'' великолепно своей простотой: просто наберите ''motion'' в командной строке. При обнаружении какого-либо движения в ваш компьютер записывается снимок (по умолчанию, в '''/var/lib/motion/snapshots/'''). Очень просто.
 +
'''LXF'''

Текущая версия

Содержание

10 лучших проектов "Сделай сам"

У нас прорва других проектов коорые просто не влезли в этот номер. Хотите увидеть некоторые из них?

Напишите и сообщите нам, как вы поладили с нашими проектами - можете даже присылать ваши 3D-рисунки, или ссылки на респины Fedora, или даже комиксыЮ если хотите.

Мы также хотим услышать, какие еще проекты вам интересны - а может, вы и сами создали проект, о котором будет интересно узнать другим.

Отправьте электронное письмо на [letters@linuxformat.ru]

Появление компьютеров открыло для людей уйму возможностей потратить свое время. Мы рассудили, что средний линуксоид, вероятно, пытлив – ему нравится исследовать новое и вытворять всякие фокусы со своим компьютером; разве не поэтому вы пользователь Linux?

Работа на свободной и открытой платформе позволяет людям не только создавать причудливые приложения, но и также означает, что вы свободно можете использовать их причудливыми способами. Все проекты, выбранные нами для этого обзора, доступны каждому и, как правило, не требуют других условий, чем часок-другой свободного времени и машина с Linux. Каждый проект мы свели к одной странице, чтобы вы не испортили себе глазки. Исследуйте возможности, что дарит вам Linux, и вливайтесь!

Проект 1: Создаем 3D-изображение из фото

Что нужно:

  • Красно-голубые 3D-очки или их заменитель
  • фотокамера (желательно цифровая)
  • GIMP

Время: 20 минут

Для создания достойного 3D-изображения вам потребуются две исходные фотографии, по одной на каждый глаз. Две камеры не нужны, хватит одной, если вам удастся сдвигать ее на малое расстояние и делать новый снимок. Некоторые фотомагазины продают скользящие треножники, облегчающие эту работу (или сделайте такой сами). Есть несколько важных моментов, которые следует помнить при фотографировании — обратитесь к советам.

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

Создание цветов

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

Для создания градаций серого сначала выберите Colours > Desaturate(подберите яркость). Теперь на картинке для левого глаза, видимой через красное стекло, переделаем эти градации в бело-голубые.

Продублируйте слой (Shift+Control+D), откройте диалог Layers и выберите слой Background. Его нужно заполнить голубым. Выберите Dialogs > Colours, и введите в текстовое поле 00ffff (RGB-значение голубого).

Теперь нужно залить слой Background голубым цветом, для чего нажмите Control+, (запятая). Само изображение не изменится, но вы увидите изменения в диалоге Layers. Теперь щелкните по верхнему слою диалога Layers и в списке режимов выберите Screen. Рисунок раскрасится в бело-голубые цвета. Нам потребуется плоское изображение, так что нажмите Control+M для слияния слоев.

Повторите те же действия для другого фото, на этот раз введя вместо голубого красный (ff0000). Итак, у нас есть два цветных рисунка, и настало время их скомбинировать.

Составление изображения

Щелкните по окну голубого рисунка и нажмите Control+A (выделить все) и Control+C (копировать). Затем перейдите в окно красного рисунка и нажмите Control+V для вставки слоя и Control+Shift+N, чтобы создать новый слой. В диалоге Layers измените режим этого нового слоя на ‘Multiply’. Теперь вы видите красный и голубой рисунки одновременно. Надевайте ваши красно-синие очки и любуйтесь!

Перед уплощением изображения, вы, возможно, захотите использовать инструмент Move для подгонки положения верхнего слоя, ради наилучшего 3D-эффекта. Это поможет, например, если фотографии отличаются только по горизонтали, но в общем зависит от того, насколько удачны исходные изображения.

Советы

  • Постарайтесь выбрать сцену, имеющую хорошую пространственную глубину. 3D-эффект выходит правдоподобнее, когда объекты находятся на заметно различном расстоянии от вас
  • Фотографируйте в ясную погоду. Используйте малую диафрагму, чтобы все было в фокусе.
  • Достали зеркалку? Используйте 50-мм объектив, более-менее совпадающий по углам обзора с человеческим глазом. При большем фокусном расстоянии картинка будет сильно искажаться на краях кадров и достигнуть 3D-эффекта будет очень сложно.

Проект 2: Защитим ваш Linux от детей

Что нужно:

  • Ребенок или несколько.
  • Терпение
  • клавиатура без залипания.

Время: Пока им не исполнится 18, а то и дольше

Маленькие дети бурлят страстью к познанию, но с таким сложным устройством, как компьютер, это чревато неприятностями. Если вы не защитите вашу машину, то пара исследовательских щелчков мышью могут угробить операционную систему. Хуже того, еще одна пара щелчков мыши в поисковой машине может открыть наименее уместную информацию из сети, так что, настраивая систему для детей, поставьте хорошее фильтрующее ПО. И вот как все это объединить.

Учетные записи

Для каждого ребенка, допущенного к компьютеру, обязательно создайте отдельную учетную запись: шкодливым ручонкам незачем щелкать где надо и не надо и удалять файлы с вашего рабочего стола! Для создания новых учетных записей пользователей в Ubuntu щелкните System > Administration > Users and Groups; в Mandriva и SUSE это можно сделать посредством Control Center и YaST, соответственно.

Укрепление

Войдите под учетной записью ребенка и сделайте рабочий стол более дружелюбным. Для новичков лучше удалить такие штуки, как апплеты сети или обновлений: они только запутают ребенка или, что опаснее, дадут ему доступ к функциям системного администрирования. Отключение виртуальных рабочих столов – тоже неплохая идея: не будут возникать вопросы типа «Куда подевались мои игры?» Если вы выбрали Gnome, щелкните правой кнопкой по объектам на панелях и прикрепите их, чтобы исключить случайное перемещение. В KDE для того же эффекта щелкните правой кнопкой по панели Kicker и выберите Lock Panels.

Выбор приложений

Теперь, имея специальную учетную запись и расчищенный рабочий стол, можно добавлять развлечения. Их выбор зависит от возраста пользователя: для самых маленьких (от 2 до 7 лет) Gcompris предоставляет более ста обучающих утилит и игр, построенных вокруг нашего любимого талисмана – пингвина. Вы можете найти их на DVD в разделе Рабочий стол. Для детей постарше добавьте Planet Penguin Racer и Frozen Bubble – отличные игры, без всякого насилия. А если вы хотите воодушевить ваше чадо на начала программирования, Little Wizard (http://littlewizard.sf.net) покажет, как создавать программы, объединяя иконки, а не участки кода. И всегда есть TuxPaint, предохраняющий вашу мягкую мебель от живописи! http://www.tuxpaint.org

Фильтрация web

Это, безусловно, самая важная задача при создании детского рабочего стола. Когда ребенок отважится ступить в большой и грязный мир Интернета, ему нужна охрана, чтобы он/она не наткнулся на какую-нибудь гадость. (Для старших детей иногда также стоит блокировать ряд сайтов, чтобы ваши потомки не просиживали там днями напролет!) Прекрасное приложение для таких целей – Willow (http://www.digitallumber.com/willow/): прокси-сервер, фильтрующий содержимое. Его можно найти в разделе Интернет на DVD.

Скопируйте willow-3.18.tar.gz в ваш домашний каталог, откройте терминал и переключитесь в root через su или sudo bash. Затем введите следующее:

cd /var
tar xfvz ~/willow-3.18.tar.gz

Теперь Willow установлен в /var/willow. Перед запуском отредактируйте /var/willow/filters/domain, добавив в черный список сайты, какие находите нужным. Если ребенок попытается добраться до URL из этого списка из браузера или поисковой машины, он/она получит желтую страницу с предупреждением ‘not accessible’. Затем введите (все еще под root):

/var/willow/willow.py --config=/var/willow/willow.conf

(Если вы получили сообщение об ошибке, касающееся модулей exefilter, отредактируйте /var/willow/willow.conf и уберите exefilter из строки filters.)

Теперь прокси запущен в фоновом режиме. Откройте браузер и настройте его на использование 127.0.0.1:8000 в качестве проксисервера; например, в Firefox зайдите в Edit > Preferences, щелкните по Connection Settings во вкладке General и выберите Manual Proxy Configuration. Введите адрес 127.0.0.1 и порт 8000. Назначьте это для использования всеми протоколами.

Убедитесь, что все работает, просто попробовав зайти на запрещенный URL – например, Http://playboy.com из списка по умолчанию. Теперь настройте список фильтрации доменов, добавляя туда все, что хочется [возможности Willow простираются куда дальше блокирования по имени – прим. ред.]!

Резервирование

Возможно, вы не нуждаетесь в напоминаниях, но стоит повторить: последнее, что осталось сделать перед тем, как дать малышу волю - позаботиться, чтобы его домашний каталог имел резервную копию. Тогда настройки уцелеют, даже если малютка грохнет рабочий стол. Например, если Боб изловчится поломать KDE, а /home/bob у вас заархивирован, вы мигом извлечете домашний каталог и восстановите исходные настройки.

Специальные дистрибутивы

Edubuntu "Linux для маленьких человечков" звучит лучше, чем "Моя первая ОС". В Edubuntu полно обучающих приложений. http://www.edubuntu.com

Ktuberling Прикинтесь, что установили это якобы для детей, и под шумок насадите физиономию вашего босса на виртуальную голову-помидор. http://games.kde.org/kde_kids

Проект 3: Запуск Linux с USB-брелка

Что нужно: USB-брелок на 128 MB или больше.

Время: 30 минут

Live CD прекрасно подходят для запуска ОС типа Linux, где бы вы ни были, но у них есть один вопиющий недостаток: на них нельзя записывать файлы. То есть, если вы загрузили, например, Knoppix и хотите сохранить только что созданный файл, вам потребуется иная форма съемного носителя – обычно это USB-накопитель. А не изгнать ли Live CD вообще, и не запускать ли все хозяйство сразу с накопителя USB? При помощи Feather Linux это более чем возможно! Учтите, что для данного проекта ваш ПК должен поддерживать загрузку с запоминающего устройства USB: зайдите при загрузке в установки BIOS (обычно это делается нажатием клавиш F2 или Del) и узнайте, есть ли опция для устройства USB в списке порядка загрузки.

Создание разделов

Для данного проекта потребуется USB-брелок на 128 MБ (или больше). Чтобы установить на него Linux и сделать его загрузочным, нужно заново создать разделы на устройстве, подобно тому, как это делается с жестким диском. При таком процессе потеряется все, что было записано на USB-брелке – так что заранее сделайте копию на другой машине!

Воткните брелок в Linux-машину; некоторые дистрибутивы тут же подмонтируют его автоматически, но мы-то хотим работать непосредственно с устройством, так что на сей раз отмонтируйте его (например, правым щелчком мыши по иконке на рабочем столе). Теперь откройте терминал и введите dmesg. Ближе к концу вывода вы увидите пример но такую строку:

sd 0:0:0:0: Attached scsi removable disk sda

Имя устройства в конце строки (здесь – sda) Linux присвоил нашему накопителю. Не исключено, что в вашей системе оно будет sdb, а то и другое какое-нибудь; тогда в последующих шагах заменяйте sda на то, что там выдано. Для запуска утилиты создания разделов введите

cfdisk /dev/sda

Здесь можно отвести место под установку Linux. Большинство USB-накопителей имеют один раздел, и его вы увидите в верхней части окна cfdisk; нажмите правую кнопку мыши и выберите опцию Delete из списка внизу, затем нажмите Enter, чтобы убрать его. (Если число разделов больше одного, удалите все.)

Теперь из нижних опций выберите New, затем Primary, и нажмите Enter. Вы создали раздел заново, как видно по списку вверху. Затем с помощью опции Maximise распространите его на весь накопитель, потом выберите Type и введите 06, чтобы была поддержка DOS FAT16. Наконец, пометьте раздел как Bootable. «Запишите» изменения на накопитель, и можете закрывать cfdisk.

Далее следует создать на накопителе файловую систему DOS. Введите

mkdosfs /dev/sda1

Обратите внимание на sda1': это означает первый раздел на устройстве sda. Как и выше, при необходимости поменяйте его имя на sdb1 – точнее, на имя устройства вашего USB-брелка. Теперь следует подмонтировать устройство, так что переключайтесь на root (путем ввода sudo bash в Ubuntu, а в других дистрибутивах просто su), и монтируйте его следующим образом:

mkdir /usbkey
mount /dev/sda1 /usbkey

Теперь на нашем USB-брелке создан новый раздел и установлена файловая система, совместимая с DOS FAT16 и доступная в каталоге /usbkey!

Установка

В разделе Distros/Feather нашего DVD имеется последний выпуск Feather Linux – это небольшой дистрибутив на базе Knoppix, идеально подходящий для USB-брелков. Скопируйте файл feather-0.7.4-usb.zip в ваш домашний каталог, затем, снова в терминале, введите

cd /usbkey
unzip /home/username/feather-0.7.4-usb. zip

заменив username вашим именем. Вы увидите, что содержимое архива извлечется в /usbkey, куда подмонирован наш брелок. Итак, все приложения на своих местах; отмонтируйте накопитель

cd /
umount /usbkey

и теперь брелок можно извлечь. Осталось только установить загрузчик, чтобы ПК знал, как загружаться с USB-накопителя. Скачайте Syslinux 2.11 из http://www.kernel.org/pub/linux/utils/boot/syslinux/Old/ и скомпилируйте его (просто распакуйте и введите make syslinux). Это довольно старая версия Syslinux, но для нашего проекта она сойдет. Затем, чтобы установить загрузчик Syslinux на наш USB-накопитель, введите

./syslinux /dev/sda1

Запуск

Теперь ваш USB-брелок готов к загрузке. Перезапустите ПК и перейдите в настройки BIOS путем нажатия F2 или Del. (на некоторых ПК кнопки могут быть другими – обратитесь к руководству пользователя). Найдите установки порядка загрузки и поменяйте их так, чтобы устройство USB оказалось первым в списке. Выйдите из настройки BIOS; теперь при загрузке ПК должен обнаруживать USB-накопитель и начинать загрузку Feather Linux!

При неудаче, попробуйте более позднюю версию Syslinux – например, 3.x из менеджера пакетов вашего дистрибутива – или возьмите утилиту mbr из http://tinyurl.com/yt3a8e. Это небольшое приложение устанавливает новую главную загрузочную запись (MBR), так что для создания нового MBR на USB-накопителе запустите его как install-mbr /dev/sda1, потом заново создайте файловую систему (mkdosfs) и опять разархивируйте Feather Linux на USB-накопитель описанным выше способом.

Проект 4: Медиа-сервер для Linux

Что нужно:

  • Маломощная Linux-машина
  • Проводная или беспроводная локальная сеть
  • Уйма дискового пространства.

Время: 20 минут

Многие из нас накопили большие коллекции мультимедиафайлов, и хочется иметь к ним доступ с любой машины, подсоединенной к той же сети, или даже через Интернет - отсюда и популярность устройств Network Attached Storage (NAS). NAS'ы сочетают колоссальную емкость с быстротой передачи, а некоторые даже предоставляют потоковые серверы для быстрого доступа с мультимедиа-устройств или iTunes (см. раздел Обзоры: QNAP TS109 Pro - отличный пример). Многие из NAS'ов используют для обеспечения своей функциональности встроенную версию Linux с набором заранее настроенных открытых приложений; а стало быть, ничто вам не мешает заставить точно такие же приложения на старом Linux-компьютере выполнять то же самое.

UPnP

UPnP - это популярный протокол, используемый многими устройствами для передачи потока музыки, видео и фото между UpnP-совместимыми сервером и оборудованием. Например, устройства Xbox 360 от Microsoft, PS3 от Sony, SoundBridge от Roku, линейка MediaLounge от DLink, а также N770 и N 00 от Nokia могут отображать и воспроизводить медиа с сервера. Просто подключите их к сети и к телевизору - и все. Существует два свободных сервера UPnP, доступных под Linux: Fuppes и Media Tomb. Media Tomb - прекрасное решение, но в текущей версии не предусмотрено транскодирование. А это важно, если ваше оборудование не поддерживает непосредственно тот формат, в котором хранится мультимедиа. Playstation 3 или XBox 360 не могут проигрыватьфайлы Ogg Vorbis: их приходится переводить в поддерживаемый MP3. Fuppes умеет это делать, используя различные поддерживаемые библиотеки, и на настоящий момент является лучшим вариантом.

Если в ваш дистрибутив не включены пакеты (в большинстве случаев так и есть), тогда вам нужно скачать исходный код, скомпилировать и установить приложение самому. Сначала скачайте последнюю версию из Subversion по адресу http://fuppes.ulrich-voelkel.de: поскольку все меняется очень быстро, скачивание версии разработчиков - единственный способ использовать самые новые возможности. Вам также понадобится установить пакеты разработчика sqlite3, lame и libpnp. Используйте менеджер пакетов вашего дистрибутива, и поищите суффиксы dev в именах файлов пакетов. Распакуйте исходный код, который вы скачали (tar x source.tar.gz), перейдите в новый каталог и введите ./configure. Вас проинформируют о недостающих библиотеках, требующих установки. В Ubuntu нам потребовалось установить libxml2-dev, libpcre3-dev, libsqlite3-dev, uuid, taglib и libavformat-dev, а также последнюю версию ffmpeg. Затем, для установки Fuppes введите make install под учетной записью администратора.

Запуск сервера теперь достигается простым выполнением команды fuppes. Файл конфигурации создастся в скрытом каталоге ~/.fuppes вашего домашнего каталога, и его надо будет отредактировать, чтобы добавить расположение ваших файлов мультимедиа. После перезапуска сервера вы сможете получать доступ к вашим файлам из любого UPnP-совместимого устройства.

Музыка, iTunes и DAAP

Если вы предпочитаете не фильмы/фото, а потоковое вещание, есть варианты и получше типового UPnP-сервера. Проще всего установить Slimserver, открытое ПО для устройства Squeezebox. Slimserver годится для всевозможных клиентов: чтобы проигрывать музыку, подойдет даже web-браузер! А самое приятное в нем то, что большинство дистрибутивов уже содержит готовые пакеты, и установка займет примерно 30 секунд. Однако если вы или кто-нибудь из ваших домочадцев использует iTunes, есть еще лучший вариант: Firefly Media Server. Домашняя страница проекта содержит пакеты для большинства дистрибутивов. Установка и настройка весьма несложные: просто добавьте пакет и отредактируйте одну строку в файле конфигурации, чтобы Firefly знал, где искать вашу музыкальную коллекцию. Построение базы данных займет некоторое время. При следующем запуске iTunes сервер возникнет автоматически, благодаря протоколу Bonjour, и вы сможете просматривать и проигрывать музыку с сервера так же, как и локальную. Единственным ограничением является отсутствие просмотра обложек; нельзя также синхронизировать ваши удаленные файлы с iPod'ом.

Проект 5: Ферма для рендеринга

Что нужно:

  • Один или два свободных ПК.
  • Локальная сеть
  • Необходимость в дополнительных вычислительных мощностях.

Время: 1 час

У всех нас по углам завалялась пара машин, которые только зря занимают место. Им, может, и слабо запустить современный рабочий стол, но как-никак они способны перемалывать миллионы операций в секунду. Хитрость состоит в том, чтобы заставить их работать параллельно, прибавляя свою мощь к вашей установке. Это называется распределенными вычислениями, и Linux для них - самая подходящая ОС: мало того, что она свободная, она еще и идеально настраивается на перераспределение задач по сети. Обычно по сети распределяют две задачи. Первая - компиляция с участием приложения по имени distcc: сопутствующая нагрузка на CPU делится между множеством машин. Такую компиляцию легко настроить и использовать, но тем, кто не компилирует ядро ежедневно и не работает в университетской лаборатории, проку от нее мало. Вторая задача среднему пользователю куда интереснее: это ускорение 3D-рендеринга в Blender, прекрасном приложении для трехмерного моделирования. При минимуме настройки машина, бездельно пылившаяся у вас под столом, резко уменьшит время, требуемое для отрисовки сцены. Чем больше компьютеров в этой компании, тем больше ускорение. Быть может, вам даже захочется использовать Live CD, чтобы призвать на подмогу машины с Windows.

Управление очередью

Для Blender есть несколько инструментов разделения задачи рендеринга по компьютерной сети. Наиболее всесторонний из них называется DrQueue, но настраивать и использовать его не так-то просто. Будучи хорош для профессионалов (он, например, использовался в Пиратах Карибского моря: Сундук мертвеца), DrQueue не совсем подойдет тем, кто имеет только пару свободных часов по выходным. К счастью, есть более легкий вариант. Farmer Joe легок в установке: просто скачайте и распакуйте архив на каждую машину, которую вы хотите использовать в коллективной отрисовке. Следующий шаг - создать общий каталог, доступный со всех машин. В большинстве дистрибутивов предусмотрен мастер Shared Directory, делающий именно это с помощью Samba. Убедившись, что все машины имеют доступ к общему каталогу, нужно будет на каждой из них отредактировать файл конфигурации farmerjoe.conf. Выберите одну машину в качестве сервера, и используйте IP-адрес этой машины для поля Master в каждом файле конфигурации. Также убедитесь, что поле linux_root указывает на общий каталог, поле linux_blender - на исполняемый файл Blender, а поле linux_composite - на исполняемый файл composite. Отредактировав все файлы конфигурации, отправляйтесь обратно на сервер и введите ./farmerjoe.linux -- master - сервер запустится. На каждом клиенте запустите ./farmerjoe.linux, и они подсоединятся к серверу автоматически.

В настоящее время Blender Foundation работает над Peach, коротким продолжением "Мечты Слона", используя Blender и другие открытые приложения. http://tinyurl.com/296vhx

Blend значит <смесь>

Теперь можно запускать Blender и загружать сцены для отрисовки. Farmer Joe использует скрипт для отправки задачи на рендеринг машинам фермы, и вы можете либо скопировать его из каталога Render Joe в каталог скриптов Blender, либо запустить вручную через Load New. Откроется новое маленькое окно, где нужно нажать на кнопку Submit Render. Больше ничего делать не надо. Каждый клиент примет новую задачу от сервера и примется за работу, сохраняя каждый завершенный рисунок в каталоге jobs общей папки. Если хотите наблюдать за ходом выполнения работы, с главной машины, можно запустить небольшой web-сервер, введя ./farmerjoe --appserver и открыв в web-браузере порт 2007 на главной машине. Вы даже можете приостанавливать и перестраивать очередь задач, если у вас появится срочная работа, требующая завершения. Вот и все: вы научились создавать собственную ферму для рендеринга.

Проект 6: Создаем синтезатор

Что нужно:

  • Способ прослушивать аудиовыход вашего компьютера и сочувствующие либо глухие соседи.

Время: 1 час и более

Синтезаторы - это здорово. Они вобрали в себя лучшие аспекты программирования, такие как сцепление модулей воедино и управление потоком данных, и используют это для создания звуков, а не приложений. И не требуется писать ни строчки кода. В Linux есть два замечательных инструмента, пригодных для создания синтезаторов. Один называется Alsa Modular Synth (AMS) и используется уже много лет, другой называется Om, он возник сравнительно недавно. Оба находятся в активной разработке и делают, в общем-то, одинаковую работу. Они используют для дизайна синтезатора графический интерфейс, а не встроенную среду разработки, а источник их вдохновения - модульные синтезаторы 1960-х и 1970-х: любое количество функциональных модулей связывается воедино внутри мешанины виртуальных кабелей. Итак, вместо целой комнаты с техникой, которая требовалась в 1976, вам потребуется только компьютер и Linux.

Типа Moog

Мы будем использовать AMS, так как он более стабилен и по умолчанию есть почти во всех дистрибутивах; но сделать синтезатор в Om ничуть не сложнее. Создадим классический трехосцилляторный синтезатор, способный генерировать старомодное звучание 1970-х. Дизайн его похож на знаменитый Minimoog, и все еще широко используется в наше время. Имеется три основных компонента. Первый - осциллятор (VCO): он генерирует начальный звук, используя предопределенную форму сигнала (как правило, синус, импульс или пилообразный). Затем этот звук проходит через вторую компоненту - фильтр (VCF), который убирает часть частотного диапазона исходной формы сигнала, добавляя глубину и тембр. Последний компонент называется модулятором и имеет множество разновидностей. Модуляторы изменяют уровень сигнала, добавляя огонька. Чаще всего в синтезаторах используются модуляторы амплитуды - Envelope (ENV) и низкочастотный - LFO (low frequency oscillators). Envelope меняет уровень со временем, к примеру, позволяя звуку начинаться громко и постепенно затихать. LFO постоянно добавляет модуляцию и обычно используется при добавлении к звуку эффектов вибрато или тремоло.

Классический модуляр

Для создания этого синтезатора, сначала запустите AMS. Также понадобится установить программу виртуальной клавиатуры ALSA, чтобы проигрывать ваши звуки. Внутри AMS вы увидите пустой коричневый экран. Правым щелчком мыши или через меню Module можно добавлять необходимые модули - нам потребуются 3xVCO, 2xENV, 1xVCF, 1xMCV, 1xVCA, 1xPCM Out и какой-нибудь микшер. Теперь настает более сложный этап. Перетащите модуль MCV налево и, щелкнув по разу на квадратиках рядом с каждым входом и выходом, прикрепите выход Gate ко входу Gate на обоих ENV-модулях. MCV - управляющий модуль, он сигнализирует о нажатии клавиши, используемой для запуска Envelope. Затем присоедините частотный выход модуля MCV к частотным входам трех модулей VCO. Это сообщит осцилляторам, какую частоту им генерировать, то есть задаст высоту звука. Подключите пилообразные выходы всех VCO к отдельным входам микшера, чтобы суммировать звуки от всех осцилляторов, и присоедините выход микшера ко входу VCF. Выход из одного ENV направьте на вход Gain 0 на VCA (усилитель), а выход другого ENV - на вход Exp. FM на VCF, и соедините выход VCF со входом VCA. Все понятно?

Наконец, соедините выход VCA со входом модуля PCM Out - аудио отправится на звуковую карту. Вы только что собрали свой первый синтезатор, и нажатие клавиши должно издать звук. Последний шаг - установка таких параметров каждого модуля, чтобы звук получался хороший. Панель параметров возникает при щелчке по модулю правой кнопкой, а наш синтезатор так похож на Minimoog, что вы можете использовать параметры патчей, доступных для этой старой классической версии, в нашей новой программной. Взгляните на экранный снимок, там патч для простого мягкого соло.

Мягкое соло

Проект 7: Перекраиваем маршрутизатор

Что нужно:

  • Ненужный маршрутизатор, с которым вы готовы распрощаться.

Время: 2 часа

Если вы готовы рискнуть, перепрошивка маршрутизатора даст вам полный контроль над вашим оборудованием и установит на устройство ваши собственные утилиты, превратив его из пассивного кирпича в маленький компьютер с Linux. Получив над ним контроль, можете установить почти любой сервер Linux, какой пожелаете, включая платформу телефонии Asterisk, DHCP, DNS, VPN и многое другое. В некоторых маршрутизаторах вы даже получите доступ к заблокированному оборудованию или сможете разогнать устройство и выжать из машины дополнительную скорость.

Открытая прошивка

Зачем ломать идеально работающий маршрутизатор на гарантийном сроке, рисковать стабильностью и поддержкой? Да, собственно, незачем! Дождитесь, пока ваш старый маршрутизатор пойдет на выброс. Нужен также солидный опыт работы с Linux: если что-то пойдет не так, подсоединить клавиатуру и мышь и найти неисправность с экрана не удастся. Недокументированные действия с маршрутизатором ведут к риску потери гарантии, а также есть вероятность полного выхода вашего оборудования из строя.

Все это возможно благодаря OpenWRT, проекту, который стартовал как замена для Linksys WRT54G, но с тех пор дорос до охвата десятков других маршрутизаторов. И вот первый шаг: убедитесь, что ваш маршрутизатор поддерживается. Просмотрите длинный список поддерживаемых устройств на http://toh.openwrt.org. Поддерживаются многие устройства от Asus, Belkin, Buffalo, D-Link и Netgear, хотя львиную долю устройств все еще занимает Linksys. Ссылка в таблице приводит к инструкциям для вашего устройства, а также к специальным программным прошивкам, которые заменят те, что стоят у маршрутизатора по умолчанию. Если вашего устройства нет в списке <поддерживаемых>, то использовать его нельзя, хотя там имеется несколько, помеченных <в разработке>, с которыми может все получиться. Как правило, трюк с заменой ваших программных прошивок состоит в перехвате процесса загрузки маршрутизатора, но для разных маршрутизаторов он разный, и вам следует свериться с таблицей совместимости и следовать инструкциям именно для вашего оборудования. Но недавно были созданы двоичные пакеты, имитирующие официальные обновления прошивок для всех распространенных маршрутизаторов - то есть можно установить OpenWRT, не пользуясь ничем, кроме кнопки Обновить web-интерфейса вашего маршрутизатора. Несколькими мгновениями спустя, после перезагрузки маршрутизатора, у вас будет установлен OpenWRT, малой кровью. Только вы не сможете разговаривать: по умолчанию OpenWRT пока не включает пользовательский интерфейс, и единственный интерфейс к вашей новообретенной свободе - почтенный telnet. Первым делом подсоединитесь к маршрутизатору и смените пароль администратора. Просто введите telnet, затем - IP-адрес маршрутизатора (он зависит от конфигурации сети, однако если вы совершенно не в курсе, попробуйте 192.168.0.1). Вы автоматически подсоединитесь, так как защиты паролем пока нет. Переделайте это, введя passwd, а потом - новый пароль администратора. Теперь после перезагрузки маршрутизатора доступа по telnet уже не будет. Вместо него можно использовать заданный пароль для доступа через SSH - куда более безопасный вариант. Это Linux, и ваши обычные навыки будут творить чудеса и здесь. Введите help, чтобы увидеть список распространенных команд, но без ipkg вы далеко не уйдете: эта команда устанавливает на маршрутизатор дополнительные пакеты. Введите ipkg update, чтобы скачать последний список доступных пакетов, затем выведите этот список по ipkg list. Первое, что вы, наверное, захотите установить - это X-Wrt, управляющую web-консоль. К вящей путанице, доступны и другие прошивки, по умолчанию включающие X-Wrt, но web-интерфейс можно установить вручную, набрав

ipkg install http://ftp.berlios.de/pub/xwrt/webif_latest.ipk -forcereinstall 

Ваш маршрутизатор перезагрузится, и вы сможете управлять высвобожденным оборудованием, открыв web-браузер и указав IP-адрес маршрутизатора. Если вы ранее пользовались утилитой Webmin, то будете чувствовать себя, как дома.

Проект 8: Создайте свою Fedorа

Что нужно:

  • Дистрибутив Fedora 7, Linux с привилегиями root'а.

Время: 2 часа

Существует много причин стремления создать свою версию дистрибутива Fedora, и это намного проще, чем вы думаете. Много лет назад спецы Red Hat и сообщество Fedora создали поразительное компактное скриптовое приложение Revisor. Идея его состояла в том, чтобы запросто пересобирать Fedorа, добавлять собственное содержание или даже заранее выбирать приложения для включения. На заре юности Revisor имел причуды, но сейчас он гораздо лучше!

Начало

Во-первых, скачайте Revisor с http://revisor.fedoraunity.org. Правда, имеется несколько зависимостей, которые тоже потребуется установить, но не особо сложных. Скорее всего, нужны будут только livecdtools и, быть может, дополнительные пакеты Python`а. В идеале хорошо бы у вас уже работала Fedora 7, и не обойтись без привилегий суперпользователя.

 yum install revisor

Объем загрузки не превышает 15 МБ. Теперь можно запустить Revisor, просто введя команду в окне терминала. Вас попросят ввести пароль root`а, и после этого все заработает.

Заглавная страница предложит вам варианты отображения продвинутых опций, которые следует учесть, если вы хотите делать что-то кроме CD/DVD. Щелчок по Next приведет вас в настройку Media Type (типа носителя). Здесь важно решить, хотим ли мы устанавливать систему с нашего дистрибутива или просто загружаться с него. Вы также можете сделать виртуальный установочный набор, но, возможно, это уже слишком круто. Для нашего проекта мы просто сделаем Live CD с PDF-браузером и кое-какими старыми номерами журнала, то есть нам надо выбрать Live media.

Следующая страница попросит указать тип носителя. Мы выберем Optical.

Repo man

Хотите добавить свои файлы? Установите пакет createrepo и просто запустите его в каталоге, содержащем эти файлы, для генерирования заголовков. Затем вам нужно запустить FTP- или HTTP-сервер, чтобы позволить Revisor выбрать пакеты.

Следующий раздел - настройка ваших репозиториев. Выпадающий список Section предлагает выбрать базовый код для вашего дистрибутива. Версия разработчиков - это Rawhide, а fc7 в настоящее время - релиз [к тому моменту, когда вы будете читать эти строки, релизом будет fc8, - прим. ред.]. Выбрав конфигурацию, вы увидите список репозиториев. При желании его можно пополнить (например, добавить livna). Если вы хотите добавить в дистрибутив собственные файлы, следует создать для них пакет и настроить локальный репозиторий для их обслуживания. Смотрите на желтую подсказку вверху!

Затем выберите себе пакеты, почти тем же способом, как при первой установке Fedora. Все организовано по группам, и зависимости разрешаются автоматически. Чтобы вы могли прикинуть, во что это выльется, скажем, что минимально возможный размер - 480 МБ, но учтите: сюда не включено даже окружение рабочего стола!

Следующая стадия - самая длинная: этап сборки, когда Revisor получает необходимые пакеты. Затем проходит процесс завершения установки (он может тянуться еще дольше, так что наберитесь терпения). Если вы предпочли Live-дистрибутив, то вдобавок понадобится "установить" пакеты на сжатую файловую систему, откуда они будут запускаться, а также настроить загрузчик. Конечным результатом будет ISO-образ, который можно прожечь на диск и наслаждаться, наслаждаться!

Конечно, если вы хотите чего-то посолиднее, потребуется повозиться с пакетами и файлами kickstart. Файл kickstart - это просто файл, который сохраняется в конце установки Fedora, с журналом всех сделанных вами выборов. Его можно использовать для автоматизации будущих установок или для определения набора пакетов, предназначенных для создания новой личной версии Fedorа. С виду кажется, что потребуются большие усилия, но вы всегда можете загрузиться на виртуальной машине, которую вы так и так используете для тестирования!

Проект 9: Создаем комиксы в Inkscape и Gimp

Что нужно:

  • Дар художника, способности рассказчика.

Время: долго

Мир требует все больше комиксов. Правда-правда. Можете включиться в этот процесс - это проще, чем вы думаете. Перед стартом следует уяснить несколько моментов:

  • Есть масса способов создания рисунков и окончательного документа; показан только один. Хотите делать по-другому? Вперед!
  • Прочтя этот проект, вы не станете лучше рисовать. Улучшить рисование можно только рисуя.
  • Вообще-то схема применима и без рисунков - визуализируйте 3D-сцены или пользуйтесь фотографиями, подобно любовным фотоисториям Jackie или долгожданному 1985 Марка Миллара [Mark Millar].

Положим, что вы все-таки собираетесь рисовать комикс. Вариантов ввести рисунки в компьютер существует несколько. Можно, конечно, прямо там их и нарисовать - наличие графического планшета здорово упростит задачу. А если вы сделали рисунки на бумаге, отсканируйте или сфотографируйте их. В зависимости от стиля рисунка, даже дешевая цифровая камера может дать приличное качество. И сканированные, и сфотографированные рисунки, скорее всего, сперва потребуют небольшой чистки, что, возможно, лучше всего делает GIMP. Но мы забегаем вперед.

Размер имеет значение

Определитесь с размером комикса и создайте документ в Inkscape того же размера. Стандартный размер комикса в США - 6 5/8" x 10 1/4". В Британии стандарта нет (знаменитый "2000 н.э." выходил во всех размерах); если хотите, используйте A4. Помните про поля страниц; прикиньте, сколько места потеряется в зависимости от переплета - скрепками или клеем.

Далее следует сделать набросок вашей страницы и примерно представить ее раскладку. Размер и форму кадров полезно знать заранее, чтобы сразу рисовать правильно. Кадры рисуйте по отдельности. Для лучшего результата, рисуйте как профи - сначала наметьте мягким карандашом, затем обведите линии толстой кистью или пером. Большинство художников делает рисунки в 120 % от окончательного размера, а то и больше, а вы можете работать при 150 % и использовать реально толстое перо для контуров и более тонкое для деталей. Не забудьте оставить место для пузырей изо рта, которые с текстом!

Загоните рисунки в компьютер через сканер или камеру и обработайте их GIMP`ом. Повысьте контрастность и яркость: серые пятна исчезнут, останутся только темные контуры. Переключитесь в режим индексированных цветов, потом в монохромный, затем обратно в градации серого, и сохраните продукт. Теперь рисунки можно импортировать в Inkscape и разместить по кадрам. Если вы в основном рисовали жирными линиями, можно получить изящный эффект очистки, трассировав растр и создав из него контуры. Это сгладит некоторые области рисунка и приведет к более гладкому результату, но может исказить ваш стиль.

Чаво сказал?

Думаете, в Inkscape создавать пузыри с текстом просто? Может, вы и правы, но они не будут выглядеть как полагается. В зависимости от стиля вашего комикса, может быть лучше нарисовать несколько вариантов, отсканировать их и преобразовать в SVG-объекты Inkscape. Хороший совет - нарисовать сначала диалог: легче оформить пузырь вокруг нормального, хорошо выглядящего куска текста, чем пытаться втиснуть слова в нарисованную фигуру. Сами буквы, конечно, можно выполнять от руки, но в наши дни профессионалы используют шрифты (обычно собственные, выполненные своим почерком). К счастью, множество шрифтов для комиксов доступно как Freeware или вообще Public Domain. Подберите шрифты комиксов на http://www.1001fonts.com или http://www.blambot.com/fonts.shtml, скопируйте их (под root) в вашу папку /usr/share/fonts и перезапустите Inkscape, чтобы их можно было выбирать. Для надписей больше подходят шрифты, имеющие несколько размеров, они дают возможность выделения увеличением. Нужно ли говорить, что легче создавать их на отдельном слое, заблокировав остальные, чтобы предотвратить смешение с расположенным ниже рисунком.

Добавление цвета

Вам хочется цвета - прелестно! Существует чудный способ его добавить. Экспортируйте все страницы из Inkscape как растровые рисунки. Потом загрузите их в Gimp и раскрасьте по велению вашего сердца. Контуры можно использовать для плоской заливки, градиентов или чего-нибудь еще, а можно раскрашивать области. Главное, что не нужно беспокоиться о выходе за линии, как вы сейчас увидите. Снова сохранитесь в виде растра и переключитесь в Inkscape. Прежде чем делать что-то дальше, выберите Layers > Add New Layer и создайте новый слой. Теперь импортируйте раскрашенный растр. Подгоните его так, чтобы он идеально совпал со страницей, чего легко добиться, введя 0 в поля смещения по x и y в панели инструментов. Теперь нажмите Shift+PgDown, чтобы поместить этот слой ниже всех, и рисованный слой закроет все участки, где вы заехали на линии. Ура!

Проект 10: Широковещание web-камерой

Что нужно:

  • Web-камера, совместимая с Linux
  • Постоянное интернет-соединение
  • Asterisk необязателен.

Время: 15 минут

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

Web-камера

Это покажется очевидным, но самое главное в этом проекте - убедиться, что ваша web-камера должным образом поддерживается. Linux проявляет разборчивость в этом вопросе. Старая Phillips PCVC675K не создала нам проблем, но мы знаем более новые устройства, которые не работают. Простейший способ протестировать вашу камеру - подключить ее к машине и запустить приложение, показывающее видео, например, Ekiga. Если это не работает, ищите в базе данных поддержки вашего дистрибутива любые намеки на то, как приставить устройство к делу. Если работает, то следующим шагом будет установка программы, делающей снимки и отсылающей их на сайт. Лучшей небольшой утилитой, которую мы нашли, оказалась webcamd. Это - простой демон, выполняющийся в фоновом режиме: он захватывает рисунок с web-камеры через заданные промежутки времени и копирует полученный файл на локальную web-страницу или FTP-сервер (два наиболее распространенных способа хостинга потока с web-камеры). Webcamd надо установить через менеджер пакетов вашего дистрибутива, а если вы хотите запустить еще и локальный web-сервер, потребуется установить еще и Apache.

Дни демона

После установки, выберите пользователя, под которым вы хотите запускать демона webcamd. Если вы используете Apache, убедитесь, что этот пользователь имеет право на запись в каталог web-содержимого (обычно /var/www). Переключитесь на этого пользователя и введите webcamd в командной строке. Создастся файл конфигурации ~/.webcamd/webcamd.conf. Если вы хотите загружать изображения на FTP-сервер, откройте этот файл вашим любимым текстовым редактором, измените enable_ftp = no на enable_ftp = yes и убедитесь, что настройки сервера соответствуют IP-адресу, имени пользователя и паролю, требуемым вашим FTP-сервером. Может быть, вы захотите изменить в этом файле и другие параметры, например, скорость обновления и разрешение изображения. Наконец, закончив все исправления, просто введите webcamd start для запуска демона в фоновом режиме. Если у вас запущен Apache, вы сможете указать web-браузеру ваш IP-адрес, и тогда вы увидите страницу с внедренным в нее изображением с web-камеры. Если вы используете FTP-сервер, то изображение загрузится на сервер. Все, что вам останется сделать - это изменить встроенную web-страницу на ваше собственное усмотрение.

Почувствовать движение

Если вам удастся получить работающую web-камеру, примените ее практически, употребив как сенсор движения. Такой используется в ZoneMinder, домашней системе безопасности, которая опрашивает web-камеры на предмет засеченного движения. Что-нибудь обнаружив, она может либо подать тревогу, либо послать электронное письмо, либо даже позвонить, если у вас используется Asterisk. ZoneMinder также увязан с LinuxMCE, домашним медиацентром (мы писали про него в LXF98), так что вы можете превратить ваш ТВ в Linux-эквивалент HAL9000. Но если ZoneMinder слишком роскошен для нужд вашей безопасности, обратите внимание на небольшое приложение командной строки под названием motion. Оно включено в большинство дистрибутивов, а зависимостей у него нет. Motion великолепно своей простотой: просто наберите motion в командной строке. При обнаружении какого-либо движения в ваш компьютер записывается снимок (по умолчанию, в /var/lib/motion/snapshots/). Очень просто. LXF

Личные инструменты
  • Купить электронную версию
  • Подписаться на бумажную версию