25.4.10

Распознавание русского текста в Fedora.

  Итак для распознавания текста в Linux есть некоторое количество движков, но ни один из них нормально не распознает кириллицу, но с некоторых пор компания cuneiform открыла свой проект, и теперь Linux такая распознавалака имеется. Правда пока ее нет в репозитариях, поэтому нужно сделать несколько телодвижений, что бы ее установить.
  Для того чтобы корректно установить его в системе следует установить пакты для сборки приложения:
#yum install make gcc gcc-c++ ImageMagick-c++-devel rpm-build cmake

  После успешной установки создадим дерево каталогов в домашней директории пользователя для сборки пакетов командой от обычного пользователя:
#rpmdev-setuptree
  Помните что пакеты следует собирать от непривилегированного пользователя иначе, в случае ошибки в spec файле с помощью которого будет производиться сборка можно повредиться систему.
  Предыдущая команда создает дерево каталогов в котором будет производиться сборка пакета. В каталоге rpmbuild домашней директории, создаются каталоги BUILD, BUILDROOT, RPMS, SOURCES, SPECS и SRPMS.
  Для того чтобы собрать пакет нужно в каталог SOURCES поместит исходный код программы (его возьмите с отсюда), и spec файл в котором описывается процесс сборки программы. Я написал такой:
Name:        cuneiform
License:    BSD
Group:        Office/Productivity
Version:    0.9.0
Release:    1%{?dist}
Summary:    OCR system
Source0:    http://launchpad.net/cuneiform-linux/0.9/cuneiform-linux-0.9/+download/%{name}-linux-%{version}.tar.bz2
BuildRequires:    ImageMagick-c++-devel
BuildRoot:    %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
URL:        https://launchpad.net/cuneiform-linux

%description
Cuneiform is an multi-language OCR system originally developed
and open sourced by Cognitive Technologies. Cuneiform was
originally a Windows program, which was ported to Linux
by Jussi Pakkanen.

%prep
%setup -n %{name}-linux-%{version}

%build
mkdir builddir
cd builddir
%{cmake} -DCMAKE_BUILD_TYPE=release ..
make

%install
make -C builddir install DESTDIR=$RPM_BUILD_ROOT

%files -f builddir/install_manifest.txt
%defattr(-,root,root,0755)
%doc readme.txt issues.txt original\ russian\ readme.rtf

%changelog
* Sun Apr 25 2010
Version 0.9.0-1
 
  Сохраните его в файл ~/rpmbuilds/SPECS/cuneiform.spec.
  Теперь выполните команду сборки пакет (Помните! От непривилегированного пользователя!):
#rpmbuild -bb ~/rpmbuilds/SPECS/cuneiform.spec
 Процесс занимает некоторое время в зависимости от мощности компьютера. Дождитесь окончания процесса, в  итоге команда должна выдать нечто вроде этого:

Записан: /home/user/rpmbuild/RPMS/i686/cuneiform-0.9.0-1.i686.rpm
Записан: /home/user/rpmbuild/RPMS/i686/cuneiform-debuginfo-0.9.0-1.i686.rpm
Выполняется(%clean): /bin/sh -e /var/tmp/rpm-tmp.2Teexq
+ umask 022
+ cd /home/user/rpmbuild/BUILD
+ cd cuneiform-linux-0.9.0
+ /bin/rm -rf /home/user/rpmbuild/BUILDROOT/cuneiform-0.9.0-1.i386
+ exit 0
Как видите готовый пакет с программой записан в каталог /rpmbuild/RPMS/i686/. Установите его таким образом:
#rpm -ihv /home/user/rpmbuild/RPMS/i686/cuneiform-0.9.0-1.i686.rpm
  Если все успешно прошло, можно использовать программу из командной строки:
#cuneiform -l rus -o text.rtf -f rtf Отсканированный\ документ.png
Опционально доступны следующие языки распознавания:

Cuneiform for Linux 0.9.0
Supported languages: eng ger fra rus swe spa ita ruseng ukr srp hrv pol dan por dut cze rum hun bul slo lav lit est tur.
И следующие выводные форматы:

Cuneiform for Linux 0.9.0
Supported formats:
    html         HTML format
    hocr         hOCR HTML format
    native       Cuneiform 2000 format
    rtf          RTF format
    smarttext    plain text with TeX paragraphs
    text         plain text
Возможности программы Cuneiform очень широки, тем более что до недавнего времени на этом поприще было все достаточно грустно.

Программа для монтирования образов дисков

  Иногда при работе с образами нужно их  разделить, стереть или добавить часть информации, просто просмотреть образ, или запустить с него программу. Некоторую часть этих задач способен решить Arhive mounter включенный в состав Gnome в Fedora. Вызывается он правим кликом по образу диска и выбором соотвествующего пункта меню:
  Ежели нужно более продвинутое управление образами дисков, а так же когда нужно обработать образы в некоторых нераспространенных форматах то в репозитариях Fedora есть программа AcetoneISO. Эта имеет графический интерфейс как под Qt так и под GTK, определяет среду она автоматически, вам следует указать только файловый менеджер, о чем она и попросит при мервом запуске:
  Сам интерфейс программы достаточно прост, и в принципе не вызывает особых вопросов:
  При своем первом запуске программа создает небольшое дерево куда будут монтироваться ваши диски, каталог находиться в домашней директории, и называется virtual-drives, внутри которого создается несколько каталогов для непосредственно монтируемых дисков, поименованных 1, 2, 3 и т.д. После того как вы укажете образ для монтирования, он будет примонтирован к свободной папке по порядку.
  Программа так же позволяет вытаскивать содержимое дисков, шифровать/расшифровывать диски, просчитывать их проверочные суммы, конвертировать образы в различные форматы и многое другое.
  Как дополнительные фишки программы, способность конвертировать видео с дисков и youtube.com а так-же выделять аудио дорожки из видеофильмов.
  В общем данная программа полностью и нарушает один из принципов Linux: одна задача одна программа, являя собой многофункциональный инструмент для работы с образами дисков и их содержимым :).
  Установить программу можно из меню "установки и удаления программ" в разделе администрирование главного меню Gnome, а также с помошью команды в корнсоли:
#yum install AcetoneISO2
  После установки программа AcetoneISO2 доступна в разделе главного меню Приложения/Аудио и видео.

16.4.10

Помещаем папку /tmp на виртуальный диск в памяти.

  Система использует папку /tmp для того что бы хранить разный временный мусор для своей работы, так же в данную папку и реже в /var/tmp  валиться весь мусор со всех программ в системе. Если у вас много оперативной памяти то возможно сделать папку /tmp в оперативной памяти, что некоторым образом ускорит работу системы и избавит от нужды чистить данную папку от мусора (а его со временем в ней накапливается достаточно много).
Для того что бы организовать этот диск в файле /etc/fstab следует создать строчку следующего содержания:
tmpfs   /tmp            tmpfs    size=1G   0 0
  Где параметр size содержит размер диска, буквами обозначаем разрядность G - гигабайты, M - мегабайты.
  Перезагрузить компьютер. Если у вас есть еще куча памяти то можете создать подобным образом диск для /var/tmp (хотя я к примеру не стал этого делать, а поместил туда временный каталог для OpenOffice. потому как бывает что ему надо много кеша при работе с графикой и гига темпа ему не хватает)

8.4.10

Настрока OpenVPN клиента под Windows

  В дополнении к этой статье нужно дополнительно указать как настраивать клиентское ПО на Windows. Для этого следует установить пакет OpenVPN на машину клиента. Скачивать его следует отсюда. Во время установки нужно подтвердить установку драйвера виртуального сетевого устройства, что создаст дополнительное сетевое соединение в папке сетевых подключений:


   Теперь следует настроить конфиг client.ovpn для клиента. В моем случае конфиг выглядит следующим образом:
client
dev tun
proto tcp
remote IP_adress 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
comp-lzo
verb 3
 Где указанные директивы значат:
client - система используется как клиентская часть.
dev tun - для соединения следует использовать устройство tun.
proto tcp - для соединения следует использовать протокол TCP.
remote - здесь следует через пробел указать удаленный адрес и порт сервера.
resolv-retry - попытки разрешения имени сервера делаем бесконечными. Для соединений с ненадежным каналом интернет.
nobind - для клиента необязательно использовать конкретный порт для соединения. Можно использовать любой специальный.
persist-key и persist-tun - сохранять состояние при перезагрузке.
ca, cert, key - пути до корневого сертификата сервера, сертификата и ключа клиента для авторизации клиента. Если указаны просто файлы, то программа будет искать их в том же каталоге где и сам конфиг.
ns-cert-type - проверка того что сертификат сервера является таковым, важная мера безопасности системы.
comp-lzo - включение сжатия данных.
verb - подробности в логе уровня 3. Нормально для вылавливания простых ошибок в настройках.
  Данный конфиг должен лежать в папке куда указывает шорткут "OpenVPN configuration file directory" в главном меню Windows:


  Щелчок по ярлыку откроет папку для когфигов OpenVPN. В эту папку следует положить конфиг и ключи созданные на сервере. Теперь запускаем графический интерфейс OpenVPN GUI для клиента, должен появиться значок в трее. Щелкнув по нему правой кнопкой мыши, вызываем меню и жмем Connect:


  Если настройки произведены правильно вы увидите сообщение о том что соединений совершено и можно работать с сетью. Если же что то не так то в логе будет указана причина сбоя.

3.4.10

BloGTK Editor 2.0

Решил использовать для публикаций записей систему BloGTK Editor 2.0. Так же на одном из свои компьютеров использую blogilo из KDE, так что возможно скоро напишу об этих системах в блоге.

1.4.10

Freetype с subpixel rendering и bytecode interpreter.

По умолчанию в Fedora пакет freetype скомпилирован без поддержки технологий bytecode interpreter и subpixel rendering из-за патентных ограничений на данные технологии, но пользователь может перекомпилить пакет, что бы включить эти технологии (нам то пофег на патенты каких тот там пропроитарщиков! :)). Для этого скачаем свежий пакет SRPM из репозитариев с помощью утилиты yumdownloader из пакета yum-utils:
#yumdownloader --source freetype
Данную команду можно и нужно запускать от обычного пользователя. После сохранения пакета в текущем каталоге следует выполнить команду пересборки пакета с нужными опциями:
#rpmbuild --rebuild --with bytecode_interpreter --with subpixel_rendering freetype-<Ваша версия пакета>.src.rpm
Возможна ситуация когда для сборки пакета потребуется некоторые пакеты для разработки (*-devel пакеты) установите их с помощью Yum:
#yum install <отсутствующий пакет>
После успешной сборки пакета у вас в домашней директории образуется дерево каталогов для сборки пакетов и искомый пакет будет находиться в нем. Установим его командой из под root:
#rpm -ihv --replacepkgs --replacefiles /home/sergey/rpmbuild/RPMS/i386/freetype-<Ваша версия пакета>.i386.rpm
Теперь перезапускаем сессию пользователя и наслаждаемся произведенным эффектом. Да не забудьте что в Gnome и KDE в настройках внешнего вида следует включить функцию сглаживания шрифтов.

Популярные сообщения