суббота, 30 июля 2011 г.

Видеозвонки в pidgin

Ну-у, вот тут полезный мануал:
http://michael.stapelberg.de/Artikel/video_chat_with_pidgin

Вкратце:

тестируем, что камера работает:
mplayer -v tv:// -tv device=/dev/video0:driver=v4l2

устанавливаем gstreamer-tools, тестируем
gst-launch v4l2src ! xvimagesink

В pidgin в меню "Средства" → "Модули" находим "голосовые/видеонастройки" и настраиваем модуль так:
Аудио → Ввод → PulseAudio → Webcam C270 Analog Mono
Видео → Вывод → Plugin → X Window System (XV) → Intel Textured Video
Видео → Ввод → Plugin → Video4Linux2 → UVC Camera

Перезапускаем pidgin. После этого в окне чата с собеседником в пункте меню "Беседа" появляется пункт "Медиа", а там подпункты "видеозвонок" и т.п.

На ubuntu всё нормально (кажется, на ком бы проверить? 8-)), а вот как будет на slackware?

Правда, есть инструкция по прививке дебиановского пакета на другие сборки ^_^:

1. http://packages.debian.org
2. в поле «слово для поиска» вписываете «pidgin»
3. в списке «дистрибутив» выбираете нужный (например, «стабильный»)
4. отмечаете галочкой «искать только точные совпадения»
5. нажимаете «искать»
6. щёлкаете по найденной ссылке
7. в блоке справа находите надпись «исходный код pidgin»
8. щёлкаете по ссылке pidgin_<версия>.orig.tar.bz2 и получаете исходный код pidgin нужной версии (ровно то же самое можно получить и с сайта разработчиков и из репозитории вашего дистрибутива)
9. щёлкаете по ссылке pidgin_<версия>.debian.tar.gz и получаете патч для этой версии исходников
10. ...
11. profit

Надо будет попробовать...

среда, 27 июля 2011 г.

python: Переименовать файлы *.fb2

Возникла задача: переименовать файлы *.fb2 в формат "<Автор> <Название>.FB2"

Так как *.fb2 - это на самом деле xml, то решение простое:
1. Получить список файлов в каталоге
2. Загрузить в парсер каждый файл
3. Найти там имя автора и название книги
4. Переименовать файл

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os

import xml.dom.minidom
from xml.dom.minidom import Node

path = os.path.expanduser(u"~/Загрузки/fb2/")

dirList = (file for file in os.listdir(path) if os.path.isfile(os.path.join(path, file)) and file.endswith("fb2"))

for fname in dirList:

    print fname

    doc = xml.dom.minidom.parse(path + fname)

    last_name = ""
    book_title = ""

    for title_node in doc.getElementsByTagName("title-info"):

        for author_node in title_node.getElementsByTagName("author"):
            for node2 in author_node.getElementsByTagName("last-name"):
                for node3 in node2.childNodes:
                    if node3.nodeType == Node.TEXT_NODE:
                        last_name = node3.data

        for book_node in title_node.getElementsByTagName("book-title"):
            for node2 in book_node.childNodes:
                if node2.nodeType == Node.TEXT_NODE:
                    book_title = node2.data

    if last_name != "" and book_title != "":
        new_fname = u'%s %s.fb2' % (last_name, book_title)
        os.rename(path + fname, path + new_fname)
        print "%s = %s" % (fname, new_fname)

пятница, 8 июля 2011 г.

Настройка принтера под Slackware

Ссылка 1 - debian, но тоже хорошо
Ссылка 2
HP Linux imaging and printing

вкратце как расшарить принтер:

1. заводим юзера smbprint с правами на запись в папку /home/smbprint

2. в /etc/samba/smb.conf пишем:
[global]
printcap name = cups
printing = cups
security = share
[printers]
browseable = yes
printable = yes
public = yes
create mode = 0700
guest only = yes
use client driver = yes
guest account = smbprint
path = /home/smbprint

3. в /etc/cups/mime.convs раскомментируем строчку:
application/octet-stream application/vnd.cups-raw 0 -

4. в /etc/cups/mime.types раскомментируем строчку:
application/octet-stream

5. в /etc/cups/cupsd.conf пишем:
<Location /printers>
AuthType None
Order Deny,Allow
Deny From None
Allow From All
</Location>

6. перезапускаем службы:
/etc/rc.d/rc.samba restart
/etc/rc.d/rc.cups restart

UPD 2012-11-07:
А вот с принтером Xerox Phaser 3130 получилась небольшая проблема. Вроде бы с generic драйвером он работает, однако с завидной периодичностью начинает печатать мусор (кракозябры, псевдографику). Попробовал установить splix-2.0.0, может, поможет.

Спликс этот тоже не без проблем, кстати, собрался. Во-первых, собирать пришлось командой make DISABLE_JBIG=1, и, во-вторых, поправить файл /src/ppdfile.cpp в соответствии с http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=565097