Журнал LinuxFormat - перейти на главную

LXF99:10 проектов

Материал из Linuxformat
Перейти к: навигация, поиск

Содержание

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

7

8

9

10

Персональные инструменты
купить
подписаться
Яндекс.Метрика