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

1 нояб. 2010 г.

Простое видеонаблюдение

Для Linux существует множество решений для видеонаблюдения, тот же Zoneminder, однако, большая их часть непригодня для использования среднестатистическим параноиком ввиду чрезмерной навороченности.

Совсем простое наблюдение можно организовать связкой fswebcam+cron+dropbox - это вполне очевидно и доступно каждому. Поэтому я решил сделать это при помощи связки motion+lighttpd±vloopback.

В чем, собственно, плюсы:
  • Возможность состряпать любой удобный веб-интерфейс
  • Можно смотреть mjpeg поток прямо в браузере
  • motion самостоятельно умеет делать скриншоты и/или видео при обнаружении движения
В качестве аппаратной части была взята веб-камера от A4Tech и допилена до инфракрасной в надежде, что потом будет сделана светодиодная ИК-подсветка.


Теперь о конфигах.
В конфиге Motion были изменены следующие опции:

#запуск motion демоном
daemon on
#мне не нужны автоматические снимки при обнаружении движения
output_normal off
#видеоролики тоже не нужны
ffmpeg_cap_new off
#время и дата перенесены в левую часть картинки
text_right
text_left %Y-%m-%d/n%T
#так текст лучше видно на маленьком экране мобильного телефона
text_double on


Конфиг Lighttpd совсем немного отличается от минимального:

#подключено несколько необходимых модулей
server.modules = ( "mod_auth", "mod_cgi", "mod_expire" )
#определены cgi которые нам нужны
cgi.assign = ( "nph-mjgrab" => "", "nph-mjprox" => "" )
#определено время устаревания для файлов
expire.url = ("index.htm" => "access plus 60 seconds", "index.2.htm" => "access plus 60 seconds" )
#настройки аутентификации
auth.debug = 0
auth.backend = "htdigest"
auth.backend.htdigest.userfile = "/etc/lighttpd/.lighttpd-passwd"
auth.require = ( "/" => ( "method"=>"digest", "realm"=>"auth req", "require"=>"valid-user" ) )


Для генерации файла htdigest используется одноименная утилита из пакета apache-tools
# /usr/sbin/htdigest -c /etc/lighttpd/.lighttpd-passwd "auth req" username

Упомянутые выше cgi нужно скомпилять из пакета MjpegProxyGrab. При этом нужно руками поправить путь к директории cgi-bin в Makefile
bindir = /srv/http/www/cgi-bin
По необходимости поправить #define'ы в исходниках - указать адрес, порт и лимит камер.
Еще можно поменять размер буфера, особенно если используется картинка больше чем 320х240 - в файле nph-proxygrab.c найти
char chbuffer[40000] = "";
и заменить 40000 на, например, 100000.

make && make install

Осталось только сделать пригодный вывод этого счастья.
Я сделал две html'ки в одной из них есть строка:
<img src="/cgi-bin/nph-mjgrab?1" width=320 height=240>
с помощью которой отображается один текущий кадр с камеры;
В другом
<img src="/cgi-bin/nph-mjprox?1" width=320 height=240>
для вывода mjpeg потока, который можно смотреть в любом нормальном браузере, вроде Firefox'а.

Авторефреш по вкусу.

16 мая 2010 г.

Монохромный трей

Монохромный в смысле черно/белый, а не в смысле имени меня :)

Задумка была в том, чтобы сделать значки всех приложений в трее более/менее одинаковыми по стилю.
Здесь мы видим: Exaile, Kupfer, Pidgin и Dropbox. Наибольшую сложность, представляет именно последний, ибо его разработчики запрятали значки где-то в бинарных файлах.
Однако, в последней экспериментальной версии 0.8.55(x86 | x86_64) была реализована поддержка изменяемых значков, но только при использовании Indicator Applet.
Установить его можно из AUR'а, но следует иметь ввиду, что версии некоторых пакетов там устарели. И не прописаны некоторые зависимости, например vala.
После установки и добавления апплета нужно будет перезапустить dbus.

Для обеспечения одинакового расстояния между значками в notification-area и indicator applet'е можно воспользоваться способом, описанным на Хабре. Или скачать модифицированный PKGBUILD для gnome-panel 2.30.0 и пересобрать её.

Теперь можно заняться сменой значков.
Прежде всего стоит установить темой значков Elementary-monochrome. Именно на основе неё сделаны некоторые значки для Pidgin'а и Exaile.

Для Dropbox'a
Заменить значки в /opt/dropbox/icons или в ~/.dropbox-dist/icons значками из архива. 
Сделаны на основе вот этого.


Для Exaile
Распаковать в /usr/share/exaile/data/images . Да, это значки ритмбокса, лучше ничего не придумал :)

Для Pidgin'а
Положить файлы в /usr/share/pixmaps/pidgin/tray/hicolor/22x22/status

И, пожалуй, стоит сделать вот так:

echo /usr/share/applications/pidgin.desktop > ~/.config/indicators/messages/applications/pidgin

Дабы меню сообщений в indicator applet не пустовало.

Upd:
Я забыл про Transmission.
Надо скачать этот значок, и положить его в /usr/share/icons/elementary-monochrome/status/24

9 февр. 2010 г.

Intel C++ Compiler в Archlinux

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

Поставить его можно из AUR'a, однако на архитектуре x86_64 пакет не собрался из-за ошибки(?) в скрипте инсталлятора - неправильного определения архитектуры для бинарика распаковывающего rpm файлы.
Так что проще будет скачать модифицированный PKGBUILD.

Также в логе инсталлятора встречается ругань на слишком длинный серийный номер. Не знаю насколько это плохо, но файл лицензии я переименовал из NCOM_L_CMP__XXX-XXXXXXXX.lic просто в XXX-XXXXXXXX.lic.

Дальше сборка должна пройти без каких либо происшествий.
Кстати, скачать придется 767 мегабайт.


Следующим шагом предстоит настроить использование ICC в makepkg. Можно скачать патчи отсюда, а можно взять уже пропатченный скрипт и заменить им имеющийся в /usr/bin.

Пакеты собираемые с помощью ICC должны быть указаны в файле /etc/packages.icc просто как:
tar
python
mplayer-vdpau-nogui
gnome-mplayer-svn


Особые флаги компилятора сборки для пакетов указываются в /etc/packages.icc-cflags:
tar -O2 -xP -ip
python -O3 -xP -ip
mplayer-vdpau-nogui -O2 -xT -ip
gnome-mplayer-svn -O3 -xT -ip


Всё, можно качать pkgbuild'ы с aur'а и компилять.

Пока у меня собраны и нормально работают только указанные выше пакеты. Bzip2 и gzip не собираются, libarchive и sqlite3 собираются и работают, но рушат некоторые важные службы и программы вроде pacman'a и sshd.

Вообще лучше собирать те программы которые не потребуется пускать от рута.

Конкретных данных о приросте производительности привести не могу, но точно могу сказать, что видео в mplayer'е при снятии с паузы стало подтормаживать значительно меньше.

PS: будьте готовы к тому, что двухдневная щетина на лице после выполнения вышеописанных действий внезапно превратится в шестидневную буквально за пару часов :)

PPS: однако надо еще попробовать флаг -march=native для gcc, утверждается что будет не хуже чем icc.

UPD от 11.02.2010:
Так и знал, что что-то забуду..
Нужно ведь еще добавить icc к списку BUILDENV в /etc/makepkg.conf
Например:
BUILDENV=(icc fakeroot !distcc color !ccache)

8 июл. 2009 г.

Настройка Gmail для Sony Ericsson W880i

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

Для начала нужно включить использование IMAP в настройках gmail:
Gmail -> Настройки -> Пересылка POP/IMAP -> Включить IMAP.

Всё остальное делается уже в самом телефоне.
Я привожу настройки для своего W880i, но думаю в остальных эриксонах всё тоже самое.

Сначала идём в Меню -> Сообщения -> Эл. Почта -> Параметры э/п -> Новая учетная запись.

Имя учётной записи: что угодно, gmail например
Сигнал: тоже что угодно
Подключение через: учетная запись GPRS-интернета для текущего оператора
Адрес эл. почты: vasya.pupkin@gmai.com
Тип подключения: IMAP4
Сервер входящих: imap.google.com
Имя пользователя: vasya.pupkin
Пароль: восемь звёздочек
Сервер исходящих: smtp.gmail.com

Далее идём в дополнительные параметры:

Моё имя: Vasya
Подпись: Best regards, Vasya
Загружать: Только заголовки, если не хотим оказаться в глубоком минусе при количестве сообщений на сервере более 9000.
Период проверки: любое желаемое значение
Автоподключние: отключено
Разрешить подключения: домашняя сеть
Копии исходящих: отключено
Шифрование: сервер входящих - SSL, сервер исходящих - TLS
Имя пользователя и пароль: оставить пустыми
Порт входящих: 993
Порт исходящих: 465

Вот пожалуй и всё.

2 июл. 2009 г.

Logitech V470 в Ubuntu 9.04

Сегодня стал счастливым обладателем этой беспроводной мыши. И не просто беспроводной, а Bluetooth, что в условиях крайнего дефицита usb-портов очень даже хорошо.

Весьма порадовала легкая настройка и подключение. Но для работы боковой прокрутки колёсиком потребовалось всё же немного напрячься:
Очень скоро был найден мануал, но если слепо ему следовать можно прибить конфиг иксов и получить небольшой гемор с его восстановлением. В этой версии Ubuntu достаточно поставить пакеты xbindkeys и xvkbd, а затем прописать в файл ~/.xbindkeysrc следующее:

"/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Left]""
b:6
"/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Right]""
b:7


И конечно добавить xbindkeys в автостарт.

ЗЫ: да, это не совсем боковая прокрутка, это сочетания "вперёд" и "назад", but who cares :)

22 июн. 2009 г.

Улучшение охлаждения HP 2133

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





Думаю удалить её можно и менее варварским способом, но для этого потребуется почти полностью разобрать ноут.
Да кстати, после подобной операции гарантия тоже волшебным образом исчезает)

Ну и наконец что это нам даст.
Воздушный поток слегка возрос, но не на 60% как заверяли зарубежные пользователи, а где-то на 20%-30%.
Средняя температура снизилась примерно на 3-4 градуса(с 57-58 до 53-54)
Температура корпуса в левой части тоже слегка снизилась.
Вообщем то это больше плацебо нежели действенное средство, но если не жаль гарантии на ноут, можно попробовать.

ЗЫ: У меня используется Ubuntu 9.04 со стандартным ядром и последними обновлениями. Laptop Mode включен при любом состоянии электропитания.

26 мар. 2009 г.

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

Близится лето. И это чувствуется даже у нас, и даже в марте - температура в нашей комнатушке 7х5, где стоят и работают два сервака и 6 обычных компов приближается к критически-некомфортной, несмотря на работающий кондиционер..
А тут еще и мой алюминиевый ноут с чуть-ли не нулевым охлаждением :)

Немного помозговав, я решил сделать для него внешнее охлаждение.
Собственно, вот что получилось:







Пока это всего лишь рабочая модель, не более. Если эффективность будет подтверждена то займусь более серьёзно.

В создании использовались материалы:
  • Кулер типолразмера 92мм
  • 2 листа А4
  • Обрезок неэкранированной витой пары длинной 1.5 метра
  • Молекс типа "папа"
Питание берется от стационарного компа за соседним столом, именно поэтому используется витуха - по 2 пары скручены на +12 и GND.

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

Недостатки конструкции:
  • Хрупкость - бумага далеко не самый надежный материал.
  • Возможность засасывания посторонних предметов - "паутинки" на 92мм у меня не оказалось и мой волшебный пылесос чуть было не высосал пакетик чая из моей кружки :)
  • Отсутствие функции "вкл/выкл" - исключительно мой косяк ><
  • Блокируется доступ к портам на правой стороне корпуса.
  • Незначительный шум.
  • Малая совместимость с другими ноутбуками, по крайней мере с ASUS F5R точно. Возможно придется изобретать сменные насадки.
ЗЫ: Если кому интересно - нарисую в гимпе развертку.

26 янв. 2009 г.

Настройка интернета от Infoservice в linux

Сей мануал был написан на основе нескольких других мануалов по настройке pptp соединений в linux'е, но уже учитывая особенности нашего местного провайдера.
Но, вдруг кому нибудь пригодится..

Главное условие успеха - наличие статичного IP адреса. Без него или придётся заниматься лишним
велосипедостроительством или использовать TrafficInspector Agent через
wine, что на мой взгляд крайне неудобно.

Далее нужно убедиться что установлен пакет pptpclient.
Пользователи Ubuntu могут воспользоваться стандартным менеджером приложений и поискать по ключевому слову pptp или vpn.

Следующие инструкции приведены для Archlinux'а, ибо например в Ubuntu всё можно делать через GUI:

Ставим pptpclient, попутно на всякий случай обновляем ppp
# pacman -Sy ppp pptpclient

Подгружаем модуль ядра ответственный за шифрование:
# modprobe ppp_mppe
Этот же модуль следует добавить в секцию modules в /etc/rc.conf для автоматической подгрузки.

Теперь необходимо установить правильные настройки сетевых интерфейсов. Предположим что это будет eth0.

Смотрим текущие настройки:
$ ifconfig eth0

Устанавливаем IP и маску
# ifconfig eth0 172.17.x.x netmask 255.255.0.0

Добавляем маршрут от квартального гейта до сервера авторизации в таблицу маршрутизации:
# route add -host 172.17.0.1 gw 172.17.x.1

Проверяем:
$ netstat -n -r

Теперь следует настроить само VPN соединение.
открываем любимым редактором, например nano, файл /etc/ppp/peers/isp и прописываем следующее:

pty "172.17.0.1 --nolaunchpppd"
name LOGIN
password PASSWORD
usepeerdns
refuse-eap
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
debug
noauth
nobsdcomp
nodeflate
noproxyarp

Соответственно LOGIN и PASSWORD заменяем своими.

Подключаемся:
# pon vpn

И проверяем
# cat /var/log/daemon.log | tail -n 10
# ifconfig ppp0

Проверяем работу dns:
$ ping google.ru

Если резолв домена не проходит, смотрим что находится в файле /etc/resolv.conf:
$ cat /etc/resolv.conf

Если там пусто, правим:
nameserver 62.33.70.2
nameserver 217.150.34.129

Всё.

ЗЫ: Квартальный гейт - гейт выделеный на некую группу домов, обычно квартал. Например 172.17.65.1
Сервер авторизации имеет ip 172.17.0.1

ЗЗЫ: да, для тех кто не в курсе(сомневаюсь правда, что среди читателей таковые есть, хехе), "#" означает запуск команды с правами суперпользователя, а "$" - с правами обычного пользователя

19 окт. 2008 г.

Завиваем SATA кабель пылесосом.

В процессе очистки от пыли своего системного блока я решил немного уменьшить пространство, занимаемое SATA кабелем.
Для этого был использован пылесос Scarlett Christopher 1600W в качестве источника горячего воздуха.
Кабель был скручен спиралью и обмотан скотчем, после чего помещён под выхлоп пылесоса.
На нагрев ушло примерно 4-5 минут, и 6-7 на остывание. В результате кабель приобрел вот такой скрученный вид:


----------------
Now playing: KYPCK - Рождество в Мурманске

5 окт. 2008 г.

Делаем домашнюю сеть. Часть II.

После того, как мы разобрались с физическим воплощением нашей сети стоит поговорить и о настройках.

При покупке в Вебстриме роутер по умолчанию настроен на использования в режиме bridge, что немного упрощает его установку в ОС Windows(правда не всех), а также позволяет устанавливать и разрывать подключение по требованию пользователя. Меня это перестало устраивать сразу после осознания того факта, что придется деражть включенными компьютер на котором установлено соединение и настроен прокси и собственно свой. Поэтому настраивать мы будем полноценный PPPoE.

Прежде всего уточняем какие VPI/VCI[щито?] используются провайдером. У Webstream это 0/35 и 0/100. Далее выясняем какие интерфейсы для конфигурирования имеются у нашего роутера. Обычно это Web-интерфейс и telnet-интерфейс.
Для простоты будем использовать первый.
Заходим туда, набрав в браузере ip-адрес роутера, это обычно 192.168.0.1 или 192.168.1.1. Скорее всего он спросит логин/пароль, которые у разных роутеров немного отличаются - у моего Admin/12345, у модемов Интеркросс Admin/Admin, ЕМНИП.

А сейчас будут слайды :)

Список соединений.

Установка значений VPI/VCI.

Тип соединения.

Настройки выбранного типа соединения.

Обзываем наше соединение.

Настройка ip-адреса роутера и DHCP-сервера.


Теперь остается лишь настроить компьютеры в сети на автоматическое получение ip-адресов любым удобным способом - через dhcpcd[щито?] или кнопочку "Пузг" :)

В случае если DHCP в сети нам не нужен, ip-адреса назначаются вручную, шлюзом по умолчанию будет ip-адрес роутера, адреса DNS серверов узнаются у провайдера.

Собственно всё, разве что MTU в параметрах соединения стоит оставить по умолчанию - 1492.

эдит:
Только что наткнулся на статью как настроить bridge подключение в linux'е.

----------------
Now playing: Isis - So Did We

3 окт. 2008 г.

Делаем домашнюю сеть. Часть I.

Вчера Demon37 попросил меня написать толковый мануал по настройке PPPoE[щито?] на примере Webstream. Но, так как я вчера был уставший, а сегодня на работе, начну с основ - структуры самой сети.

Для иллюстрации я слепил вот такую картинку:
Извините уж, что использовал значки устройств из темы nuoveXT.2.2 :)

Не очень сложно. Единственный важный момент - если подключить телефон после сплиттера[щито?], или не использовать сплиттер вообще мы получим сильную высокочастотную помеху на линии при передаче данных.

У меня используется 5и портовый свитч D-Link, ADSL-модем TP-Link TP-8810(немного глючный кстати, модемы Интеркросс, которые выдают сейчас вроде получше) и три разных сетевых карты.