2009-02-26

Программа для изучения Библии в Linux

Наверняка каждый верующий человек, имеющий в хозяйстве компьютер, так или иначе пользовался различными приложениями христианской тематики. Для работающих в Windows существует даже некоторый выбор. Я использовал долгое время BibleQuote ("Цитата из Библии") Тимофея Ха.
Для русскоязычных линуксоидов же дело обстоит несколько хуже. Тут, насколько я знаю, всего пару вариантов: или запускать что-то из-под wine (ту же BibleQuote например, вроде работает нормально), или устанавливать GnomeSword(Gnome)/BibleTime(KDE). В GS есть модули с русскими текстами, но они с ошибками, некоторые слова сливаются в одно... Нехорошо. В BT - не знаю, не видел, т.к. gnomeшник.
Итак, принято решение: объединить нормальный перевод текстов из Цитаты и GTK+ и создать еще одно приложение для изучения Библии с возможностями, которые посчитаю полезными. Тексты будут храниться в SQLite, программа пишется на Python, интерфейс рисуется в Glade.
Пока примитивно, но основные функции уже есть: выбор, чтение, поиск, отделение ВЗ и НЗ, отключение Апокрифов.
Кому надо - пишите в комменты или в личку.

2009-02-16

Монтирование папки Windows удаленного компьютера

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

Шаг 1. Создаем папку, куда будем монтировать удаленный каталог, пусть это будет /media/nfs:
sudo mkdir /media/nfs

Шаг 2. Устанавливаем поддержку samba-файловых систем
sudo apt-get install smbfs

Шаг 3. Пишем вот такую команду (или делаем алиас в файле ~/.bashrc):
sudo mount -t smbfs //192.168.0.2/ShereFolder /media/nfs -o username=UserName/DomenName%Password,iocharset=utf8,rw,file_mode=0777,dir_mode=0777
где меняем 192.168.0.2, ShereFolder, UserName, DomenName, Password на свои.

И всё. На рабочем столе появится ярлык нового диска. Если вы администратор на удаленной машине с Windows, то можно подключить и не расшаренные папки, а сразу диск, например //192.168.0.2/d$. Очень удобно!

2009-02-12

Виртуальный компьютер: Легко! Быстро! QEMU!

Расскажу немного об этом замечательном эмуляторе. При желании в интернете и man qemu можно найти намного более полную информацию, но мне хочется поделиться "быстрым стартом". Вычитал в LinuxFormat 2006 года и сделал некоторые добавления.

Установка QEMU и его ускорителей:
sudo apt-get install qemu kqemu-common kqemu-source

Создание образа для жесткого диска размером 5 гигабайт (пусть это будет ~/newos):
qemu-img create -f qcow2 newos 5G
ВНИМАНИЕ!
В разных источниках предлагают также вариант создания через dd:
dd if=/dev/zero of=~/newos count=5G
Я пробовал использовать дважды, и оба раза он поглощал все свободное место на /home.
Кто не знает, в чем дело, лучше не рисковать, и использовать qemu-img.

Запуск и установка ОС с CD:
Вставляем диск с операционной системой. Далее
sudo qemu -cdrom /dev/cdrom -hda ~/newos -boot d
(-boot d - для того, чтобы загрузочным диском 1 очереди стал cdrom. Возможны варианты - "c" - жесткий диск, "a" - с флоппи, "n" с сетевого устройства)
Устанавливаем систему как обычно, вы это не раз уже делали.

Запускаем виртуальную машину, от сердца отрываем ей аж 256 мб оперативной памяти, и указываем брать время из нашей реальной машины:
qemu -m 256 -hda ~/newos -localtime
По умолчанию будет дано 128 мегабайт оперативки - что маловато. Также так просто драйверы kqemu не будут работать, и вы получите вот такое сообщение:
"Could not open '/dev/kqemu' - QEMU acceleration layer not activated: No such file or directory"
Избежать ошибки можно либо запуская qemu от имени root, либо дав файлу /dev/kqemu права на чтение для всех.

Сохраняем состояние загруженной ОС:
Переходим в консоль QEMU сочетанием клавиш Ctrl+Alt+2 и пишем
savevm /newos.state

Загрузка сохраненного состояния также из qemu-консоли
loadvm /newos.state
Выход из консоли - Ctrl+Alt+1

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

2009-02-04

Кодирование видео: mencoder и поиск совершенства

Продолжая исследовать вопрос кодирования видео никак не могу найти универсальный вариант, чтобы написать скрипт конвертирования для Nokia N810 раз и навсегда. AVI - одним методом, MP4 другим, MKV - вообще третьим. То изображение жужжит как ненастроенный телевизор, то звук не совпадает с видео, то картинка бешено мчится вперед... Хотел все сделать одной командой для mencoder с набором параметров, но в итоге отказался от этого по ряду причин. И вот что решил: кодировать надо с несколько этапов. Для начала раздель видео и звук, и работать с ними отдельно. Потом получившиеся дорожки, а при необходимости и субтитры собирать в один MKV-файл.
Вот что получилось: [файл "~/bin/video2nokia"]

#!/bin/bash

# Получение аудиодорожки. Используется mplayer с опциями
mplayer "$1" -vo null -vc null -ao pcm:fast:file=audio.wav

# Кодирование аудиодорожки в mp3.
lame -V0 -h -b 160 --vbr-new audio.wav audio.mp3

# Кодирование видеодорожки без звука, в два прохода
mencoder -o /dev/null \
-nosound \
-ovc xvid
-xvidencopts vhq=1:bitrate=700:autoaspect:pass=1 -vf pullup,softskip,hqdn3d,scale=-2:240 "$1"
mencoder -o video.avi \
-nosound \
-ovc xvid -xvidencopts vhq=1:bitrate=700:autoaspect:pass=2 -vf pullup,softskip,hqdn3d,scale=-2:240 "$1"

# Слияние в файл MKV-файл
mkvmerge -o $1.mkv --language 0:und --default-track 0:yes -d 0 -A -S video.avi --default-track 0:yes -a 0 -D -S audio.mp3 --track-order 0:0,1:0

# Удаление отработанных файлов
rm audio.wav audio.mp3 video.avi


Итог: работет как надо. Все конвертирую одним скриптом, паример:
video2nokia file.avi

2009-02-03

Установка планшета Genius WizardPen в Ubuntu

Жена порадовала. Решила перейти на линукс, причем сама. В связи с этим приходится искать ответы на вопросы, которые меня раньше не волновали. Например, как работать со сканером, или вот - как установить графический планшет, чтобы рисовать в GIMP (классная кстати книжка попалась в книжном магазине про него - автор известный, Денис Колесниченко). Ну так вот, собственно о теме.
Планшет у нас - Genius WizardPen, модель точно не помню, вроде бы что-то связанное с 5x4. При подключении автоматом не подключается. Ходят слухи, что с Wacoom такой проблемы нет, но такой планшет не всем по карману. Ну мир не без добрых людей, и решение есть. Я нашел пути для 8.04 и 8.10, меня интересовал второй. Кто свободно читает английский - прямая дорога по ссылкам, я же приведу мой перевод, чтобы русскоязычным было легче.

1) Копируем файл http://specificcrap.arbitrarycrap.com/wizardpen_drv.so в /usr/lib/xorg/modules/input/
2) Подключаем устройство если оно все еще отключено.
3) Находим имя устройства в системе: grep -i name /proc/bus/input/devices
4) Создаем файл /etc/hal/fdi/policy/99-x11-wizardpen.fdi и записываем в него такое содержимое:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<deviceinfo version="0.2">
<device>
<match key="info.product" contains="ИМЯ ВАШЕГО УСТРОЙСТВА, ПОЛУЧЕННОЕ В ШАГЕ 3">
<merge key="input.x11_driver" type="string">wizardpen</merge>
<merge key="input.x11_options.SendCoreEvents" type="string">true</merge>
<merge key="input.x11_options.TopX" type="string">5619</merge>
<merge key="input.x11_options.TopY" type="string">6554</merge>
<merge key="input.x11_options.BottomX" type="string">29405</merge>
<merge key="input.x11_options.BottomY" type="string">29671</merge>
<merge key="input.x11_options.MaxX" type="string">29405</merge>
<merge key="input.x11_options.MaxY" type="string">29671</merge>
</match>
</device>
</deviceinfo>
5) Перезагрузка

У меня все прошло на ура, без эксцессов. Если у вас возникли проблемы - в оригинальных статьях есть еще пути разрешения всяких нестыковок, но мне они не понадобились, надеюсь, вам тоже не пригодятся.
Ну а дальше уже надо настроить GIMP для использования планшета. Правка - Параметры - Устройства ввода - Настроить дополнительные устройства ввода. Выбираем устройство, справа от него в выпадающем списке выбираем "Экран", сохраняем. В настройках инструмента "Динамика кисти" для кистей ставим галку "Размер", для карандаша и резинки галку "Непрозрачность". Пожалуй, всё.

P.S. После выхода Ubuntu 9.04 в оригинале появилась пометка:
"The tutorial currently still works with Ubuntu 9.04 (Jaunty Jackalope)". Ну и прекрасно.

Update от 15 июля 2010 года
Отлично работает на Ubuntu 10.04 метод 1 со статьи
https://help.ubuntu.com/community/TabletSetupWizardpen