6 ноября 2009 г.

Конвертирование файловой системы ext3 в ext4

Теперь в Убунту есть поддержка ext4, если не ошибаюсь с 9.04 в 9.10 уж точно есть, начиная с ядра  2.6.28. Так как вся система была в ext3, а все говорят что файловая система ext4 более продвинутая и работает быстрее и т.д. не вдаваясь в подробности, захотелось и мне с этим поэкспериментировать... Но не было жгучего желания переустанавливать всю систему только ради этого. На форуме убунту многие считаю, что после каждого чиха нужно систему переустанавливать да еще и форматнуть диск - мелочные пережитки виндузятников, которые пытаются внедрить, в данном случае, в Убунту... ;-) Но мы же знаем, что это не нужно.

Монтрование ext3 как ext4 без конвертации
Монтировать ext2, ext3 и ext4 файловые системы как ext4, что дает использовать оптимизированные полезности фс. При этом физически на диске ничего не изменится, давая возможность вернутся обратно на ext3. В /etc/fstab ext3 меняем на ext4...

Конвертирование в ext4
Но если мы хотим использовать новые возможности фс ext4, такие как extents, которые меняют физический формат хранения данных, но и дают большой выигрыш в производительности. Необходимо включить новые возможности на вашей ext3 файловой системе:
ВНИМАНИЕ! Как только вы запустите следующую команду, файловая система больше не будет монтироваться как ext3.
sudo tune2fs -O extents,uninit_bg,dir_index /dev/<раздел>

Стартуем с dvd\cd-live и выполняем команду для корневого sda2 и домашнего раздела sda3 (в моем случае). После этого нас попросят выполнить проверку фс  с помощью fsck:

sudo e2fsck -pDf /dev/<раздел>  # мне пришлось выполнять без -р или -а

Далее правим /etc/fstab и перезагружаемся.

Монтирование раздела ext4: mount -t ext4 /dev/<раздел> /<путь>

Примечание: есть некоторые новые возможности, которые можно получить, только заново отформатировав раздел, например, flex_bg и поддержка разделов размером больше 16 терабайт. Но для меня это не критично, ведь и винта такого никогда не будет ;-)
После включения экстентов, новые файлы будут создаваться с их использованием, но со старыми ничего не случится и они продолжат лежать на диске в старом формате. В разных статьях встречал упоминание об утилите defrag2fs, которая все старые файлы тоже переводит в новый формат, но ее пока страшно использовать...

Отдельного раздела /boot у мене никогда не было и с ext4 все нормально загружается у меня и у друга, которому я поставил 9.10 (пусть пробует, пока есть желание изучать линукс). Единственное, с чем еще не до конца разобрался, так это необходимо ли добавить к загрузчику опцию rootfstype=ext4. Необходимо посмотреть в свежеустановленной убунте.


12 октября 2009 г.

Распознование текста (OCR) в линукс

Cuneiform for Linux - Cистема оптического распознавания (OCR), портированная для использования в POSIX-совместимых операционных системах, с открытыми исходными текстами.

Возможно многие из вас сталкивались с необходимостью/желанием отсканировать текст и для этого необходимо было держать форточки с FineReader или же с ним но под wine'ом. В линуксе с OCR було просто ужасно! Проектов много, но понимающих кириллицу не встречал (gocr и т.д.). Давно читал ибо следил за этой темой об  Cuneiform (даже как-то видел под форточками)...

Из истории: Система оптического распознавания OCR CuneiForm создана российским разработчиком программного обеспечения Cognitive Technologies, что был организован в 1993 году на базе лаборатории искусственного интеллекта Института Системного Анализа РАН.

Первоначально система CuneiForm была разработана компанией Cognitive Technologies как коммерческий продукт. CuneiForm поставлялся с некоторыми моделями сканеров. Однако после нескольких лет перерыва разработки, 12 декабря 2007 года анонсировано открытие исходных текстов программы, которое состоялось 2 апреля 2008 года Для распространения программы выбрана лицензия BSD (Berkeley Software Distribution). Подробнее на WIKI

Версия для "Линукс" этой программы на текущий момент представляет собой исключительно движок распознавания без каких-либо дополнительных сервисов и функций. Работа осуществляется через командную строку. Это, в свою очередь, даёт возможность оценить уровень именно алгоритмов распознавания. В настоящее время идет активное портирование Cuneiform на Linux и другие Unix-платформы.

Released:  2009-09-02   cuneiform-linux-0.8.0.tar.bz2
Можно скачать *.deb на http://www.mediafire.com/alexp там же и  yagf (GUI - qt-морда).

Сначала скачал пакет для ubuntu_jaunty, но он на нарушение зависимости libMagick++1 так как он есть в репозитории 9.04, но нет в 9.10 (осмелюсь напомнить, что давно тестирую Ubuntu 9.10 Karmic, официальный релиз будет через дней 18).

sudo ln -s /usr/lib/libMagick++.so.2 /usr/lib/libMagick++.so.1

решает эту проблему и все работает до первого updete/upgrade/install пакет при котором автоматически удаляется cuneiform+yagf. Пришлось пойти на ленивые хитрости, что человек не сделает, чтобы только трафик сэкономить?! ;-) Возникло желание пересобрать, чем баловался впервые, пакет с изменением зависимости без исходных кодов или как-то так... ;-)

paulul@ubuntolog:~$ mkdir ~/temp/someprog
paul@ubuntolog:~$ dpkg -x /home/paul/temp/cuneiform_0.8.0~bzr412-1_jaunty_i386.deb ~/temp//someprog
paul@ubuntolog:~$ mkdir ~/temp/someprog/DEBIAN
paul@ubuntolog:~$ dpkg -e /home/paul/temp/cuneiform_0.8.0~bzr412-1_jaunty_i386.deb ~/temp/someprog/DEBIAN

vim ~/temp/DBIAN/control  --> libmagick++1 заменил на libmagick++2

paul@ubuntolog:~$ dpkg -b ~/temp/someprog ~/temp/cuneiform_0.8.0~bzr412-1karmic_i386.deb
dpkg-deb: сборка пакета cuneiform в файл /home/paul/temp/cuneiform_0.8.0~bzr412-1karmic_i386.deb.

После установки этого пакета таки ошибка о нарушении зависимости и последующем удалении файла таки пропала, но все таки приходилось делать симлинк:

sudo ln -s /usr/lib/libMagick++.so.2 /usr/lib/libMagick++.so.1

Конечно можно было поступить проще и доустановить на karmic три пакета c dvd_jaunty (libmagick++1, libmagickwand1, libmagickcore1), проверив что так таки тоже работает все режил еще пострадать, благо время и желание было. снес...

И любопытсво и желание не иметь, по возможности, таки лишних/дублирующих пакетов скачал таки сборку для debian_sid (cuneiform_0.8.0~bzr412-1_sid_i386.deb) - установка и использование под KARMIC не требует телодвижений, просто установите...

CuneiForm работает из командной строки. Приложению нужно указать графический файл, язык перевода и формат вывода:

$ cuneiform[-l languagename -f format -o result_file imagefile

Список поддерживаемых языков можно вывести командой cuneiform -l
paul@ubuntolog:~$ cuneiform -l
Cuneiform for Linux 0.8.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 -f
paul@ubuntolog:~$ cuneiform -f
Cuneiform for Linux 0.8.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

Изображения документов перед распознаванием должны быть подготовлены по всем типовым правилам, этим у меня занят Gimp+Xsane: разрешение при сканировании должно быть 300 dpi, файлы по одной странице (иначе у меня не получалось). Хотя Yagf может обрабатывать и разворот книги, если выделять по одной странице (таже морока, но другим боком)

В итоге, можно сказать, что линуксоидов, понимающих язык Пушкина и Шевченко, вполне можно поздравить с появлением, отличного свободного инструмента для распознавания текста. Особенно если сравнить с gocr, hocr и т.д. Подождем пока они его доведут до уровня приложения существующего под виндовс, ну а потом и лучше! :-) Одним словом ждем ещё большего усовершенствования самого движка распознавания CuneiForm. С надеждой жду, когда он станет лучше wine FineReader 8.0. Но уже начал с ним работать, ибо что после FineReader'a, что после CuneiForm'a нужно править/форматировать текст руками о ОпенОфисе, но так как-то: Free software for free people!

Конечно рядовым пользователям и для десктопа важен графический интерфей GUI (хотелось бы gtk или уж qt, но без привязки с КДЕ!, что очень часто потом начинают делать) с автоматизацией подготовки изображений к распознаванию, хорошего встроенного редактора и поддерживающего все функции имеющиеся в самом движке (например форматы).

Оболочка YAGF (читайте больше по ссылке!) предоставляет графический интерфейс для консольной программы распознавания тектов cuneiform на платформе Linux. Кроме того, YAGF позволяет управлять сканированием изображений, их предварительной обработкой и собственно распознаванием из единого центра. Программа YAGF также упрощает последовательное распознавание большого числа отсканированных страниц.



Новейшая версия YAGF - 0.8.1, обновлена 14 августа 2009 года. Еще есть Cuneiform-Qt, но YAGF более продвинутый.

Распознавание простого текста (жирный, курсив) практически без ошибок, но таблицы и сложное оформление не понимает вообще (будем надеяться, пока...). Не пытайтесь подсовывать не подготовленные изображения cuneiform'y, а потом писать, на форумах и сайтах, что он вообще не работает. Я никуда не писал, но сначала тоже был озадачен когда пытался перевернутые страницы распознать... Не повторяйте чужих ошибок :-)

--
P.S. в процессе поисков и вопросов, pehser собрал и сделал нормальные пакеты (работает как 8.04 так и 9.04) и выложил в свой репозитарий, а так же для  любителей всего самого свежего, то в репе лежит пакет cuneiform-svn это cuneiform bzr420 собраный в debian sid
так что по зависимостям без проблем становится и должен работать в karmic (YAGF 0.8.1 и cuneiform 0.8.0)
deb http://debway.org.ua/repository/ unstable main

Спасибо alexp за его сборки, которые я использовал и pehser за сборки, которые буду использовать из репа, ведь так удобнее.

--
N.B. Всего этого можно было бы избежать (хотя бы лишних телодвижений), если сам бы учился собирать deb-пакеты (возможно, когда-нибудь...), но все же было интересно и познавательно... Вот за что и люблю линукс! :-)

--
P.P.S. пока мучался с это статейкой, alexp, собрал пакеты и для karmic :-) cuneiform_0.8.0+bzr420-1_karmic_i386.deb

14 августа 2009 г.

Включаем framebuffer в Ubuntu

Насколько я понял, в Karmic - framebuffer выключен по умолчанию и его нужно сначала включить, потому что простой ввод параметра vga=792 при загрузке ядра как было раньше не помогает...

1. Открываем файл /etc/modprobe.d/blacklist-framebuffer

sudo vim /etc/modprobe.d/blacklist-framebuffer.conf

закомментируем строку:

#blacklist vesafb

и сохраняем файл.

2. sudo vim /etc/initramfs-tools/modules

добавляем строчки:

fbcon

vesafb

и сохраняем файл.

3. Пересобираем initramfs image: sudo update-initramfs -u

4. Правим меню загрузки grub2: sudo vim /boot/grub/grub.cfg

добавляем vga=792, примерно будет так:

linux /boot/vmlinuz-2.6.31-5-generic root=UUID=c2aad69d-ee87-455d-b39f-807b168a4381 ro quiet vga=792 #splash

5. Не обязательно, но при обновлениях ядра не нужно будет делать пункт 4 (действительно для grub2)

sudo vim /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet vga=792 #splash"

GRUB_GFXMODE=1024x768

6. Наслаждаемся решением одной проблемы!!! ;-) А с vga=normal (как многие советуют на форуме убунты) пусть сидят unnormal-user...

13 августа 2009 г.

HowTo: НАДЕЖНЫЙ и простой способ поднять VPN (pptp) в ЛИНУКСЕ!!!

У меня Ubuntu Linux настроенной сетью и pptp (сначала нужно установить пакет pptp-linux и если нужно, то network-manager-pptp). Поднимал VPN в два способа: А. скриптами (еще на 7.04, до этого локалки не было) и В. через network-manager с версии 0.7.1 на u_9.10, который очень удобен если вы работаете в Гноме.

A. Консольный способ

1. Запускаешь в консоли 'sudo network-admin' (это Система-Администрирование-Сеть) и настраиваешь Статический IP, можно и DHCP.
2. В /etc/ppp/peers/ создаем файлик trion в котором записано:
mtu 1416
mru 1500
persist
usepeerdns
maxfail 0
lcp-echo-interval 60
lcp-echo-failure 4
defaultroute
#pty "pptp vpn.trion --nolaunchpppd"
pty "pptp 10.1.9.254 --nolaunchpppd" #(сервер VPN)
name <твое имя для VPN>
remotename PPTP
#require-mppe-128
file /etc/ppp/options.pptp
ipparam trion
replacedefaultroute
noipdefault 50
    2.а В /etc/ppp/options.pptp прописать:
lock
noauth
refuse-pap
refuse-chap
nobsdcomp
nodeflate
3. в /etc/ppp/pap-secrets и в /etc/ppp.chap-secrets вписываешь логин и пароль для VPN
<логин> PPTP <пароль> *

4. создаем скрипт ip-up.local и ip-down.local

paul@ubuntu:/etc/ppp$ cat ip-up.local

#!/bin/sh
# pppd ip-up script for all-to-tunnel routing

# name of primary network interface (before tunnel)
PRIMARY=eth0

# address of tunnel server
SERVER=vpn.trion

# provided by pppd: string to identify connection aka ipparam option
CONNECTION=$6
if [ "${CONNECTION}" = "" ]; then CONNECTION=${PPP_IPPARAM}; fi

# provided by pppd: interface name
TUNNEL=$1
if [ "${TUNNEL}" = "" ]; then TUNNEL=${PPP_IFACE}; fi

# if we are being called as part of the tunnel startup
if [ "${CONNECTION}" = "trion" ] ; then

# direct tunnelled packets to the tunnel server
route add -host ${SERVER} dev ${PRIMARY}

# direct all other packets into the tunnel
route del default ${PRIMARY}
route add default dev ${TUNNEL}

fi


paul@ubuntu:/etc/ppp$ cat ip-down.local
#!/bin/sh
# pppd ip-down script for all-to-tunnel routing

# name of primary network interface (before tunnel)
PRIMARY=eth0

# provided by pppd: string to identify connection aka ipparam option
CONNECTION=$6
if [ "${CONNECTION}" = "" ]; then CONNECTION=${PPP_IPPARAM}; fi

# provided by pppd: interface name
TUNNEL=$1
if [ "${TUNNEL}" = "" ]; then TUNNEL=${PPP_IFACE}; fi

# if we are being called as part of the tunnel shutdown
if [ "${CONNECTION}" = "trion" ] ; then

# direct packets back to the original interface
route del default ${TUNNEL}
route add default dev ${PRIMARY}

fi

5. в консоли пишем sudo pon trion, а для выключения sudo poff trion

P.S. Можно и графическими утилитами настраивать, например VPN Connection Manager или pptpconfig, но мне нравиться так больше...

N.B. Для последних изменений в Трионе нужно закоментировать в п. 2 строки: #defaultroute и #replacedefaultroute и прописать nodefaultroute. А также не создавать или сделать неисполняемыми скрипты: ip-up.local ip-down.local


B. Способ настройки VPN соединения через Network Manager для Триона

Все настраиваем через DHCP. Создаем соединение VPN нажав правой кн.мыши и войдя в пункт "Изменить соединения..." Далее во вкладке VPN добавляем свою уч.запись с данными шлюза, логина и пароля. Во вкладке "Параметры IPv4" -> "Маршруты..." устанавливаем галочку на "Использовать это соединение только для ресурсов этой сети". Если включено, это соединение никогда не будет использоваться как сетевое соединение по умолчанию. На значке NM левой кнопкой мыши ... тык..тык..тык и вы в сети...

Устанавливаем deb пакет (на данный момент - linuxdcpp 1.0.3+bzr333 для lenny, squeeze, sid, jaunty, karmic. Aрхитектуры: amd64, i386)  c блога "Записки Alex_P" и в локальный "бой", если оно вам конечно нужно... ;-)

16 июля 2009 г.

Подключение веб-камеры в Ubuntu linux.

Подключение веб-камеры в Ubuntu linux.

Мой друг детсва сейчас живет в Литве и он увлек меня общением с вебкамерой и микрофоном, а то ему писать лень... :-) Правда при этом затянул меня в skype, но это не беда, ведь плавно перейдем на gtalk\empathy или ekiga.

Хоть многие и заявляют, что множество вебкамер прекрасно работают на линуксе, но сами же производители камер ни за что не напишут на коробке будет ли работать их камера в linux, хотя уже в последствии проб и ошибок нашел маркированные для "яблочных Маков", но об этом позже...

Но вот как попасть в яблочко я не знал, потому полез во всемирную паутину собирать разные советы и информацию. Хотел даже взять для теста камеру, у кого-нибудь, но встроенные в ноутбуки не заберешь домой ;-) Главное, что я извлек из этой кучи информации, это то, что web-камеры, работающие в Linux, делятся на 2 группы: во-первых, камеры, которые работают под управлением драйвера GSPCA и во-вторых, камеры с интерфейсом UVC (USB Video Class).

Первые камеры должны иметь чип, соответствующий определенным и довольно распространенным спецификациям, именно поэтому многие даже дешевые камеры начинают работать из коробки, хотя иногда и требуется определенная подстройка.
Вторые относятся к классу так называемых UVC-камер (USB Video Class). Универсальный интерфейс поддержки камер означает, что камера будет работать с операционной системой без драйвера! Однако не совсем конечно без драйвера. Просто этот стандарт описывает универсальные спецификации поддержки USB-видео устройств и встраивается в операционные системы. Поддержка UVC в ядре Linux существует только начиная с версии ядра 2.6.26
Определить какой чип используется в вашем случае, можно на сайте производителя или опытным путем, используя (lsusb):

$: lsusb: Bus 004 Device 003: ID 093a:2628 Pixart Imaging, Inc.

В связи с мировым кризисом, хотелось бы прикупить камеру подешевле, ведь пикселей от этого у нее меньше не станет :-) Хоть много почитывал, но информации так много, что все в голове не уложилось да и выбор камер не так велик в наших магазинах, что пришлось сначала искать камеру по подходящей цене, а потом узнавать работает ли такая в линуксе... Но так как огнетушитель с собой не ношу, а так "загорелось" в случайный момент, что дернуло меня в магазине купить Genius iLook 300 и вот начались приключения ибо она под лином вообще не должна работать, но...

Пробовал на gspca из репозиторя Убунту: 'sudo apt-get install gspca-source' при этом были установлены зависимости, но это не помогло...

N.B. Так как пакет module-assistan бул устновлен ранее, то загрузить модуль можно, если ваша вебкамера поддерживается так:
m-a prepare
m-a a-i gspca
modprobe gspca


По советам ЛОР-а http://www.linux.org.ru/view-message.jsp?msgid=3290795#3403746
, другим способом таки заставил кое-как работать мою вебкамеру Genius ilook 300 на чипсете PixArt pac7302 в Ubuntu 8.10.

$: lsusb: Bus 004 Device 003: ID 093a:2628 Pixart Imaging, Inc.

1. # apt-get install libv4l-0

2. Берем модули gspca2 отсюда: http://linuxtv.org/hg/~jfrancois/gspca/ , распаковываем.

3. В файл linux/drivers/media/video/gspca/pac7311.c добавляем строчку (в правильное место):
{USB_DEVICE(0x093a, 0x2628), .driver_info = SENSOR_PAC7302},

4. Собираем и устанавливаем модули
# make
# make install

5. Втыкаем камеру, контролируем загрузку модуля в логе
# dmesg

[12196.544006] usb 1-1: New USB device found, idVendor=093a, idProduct=2628
[12196.544128] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[12196.805878] Linux video capture interface: v2.00
[12196.813966] gspca: main v2.4.0 registered
[12196.816876] gspca: probing 093a:2628
[12196.856369] gspca: probe ok
[12196.858577] usbcore: registered new interface driver pac7311
[12196.859559] pac7311: registered

6. export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so

7. skype

N.B. или прописываем в ваш .bashrc строку export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so, чтобы каждый раз не вводить ее снова или в консоли запускаем: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so . Я просто в меню fluxbox записал: [exec] (skype) {LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so skype}, на быстрые клавиши не вешал так как редко использую.

#########

И что же в итоге я получил? Изображение черное и с жутким торможением.
Что же дальше?
1. LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so camorama -M -d /dev/video1
настрой цвета + вкл. "Effects" -> "Color corection" = видео без сепии :-)
Вот бы еще и параметры эти запомнились бы, а то каждый раз исправлять нужно, а потом запускать skype, для ekiga не нужно (там есть возмоность настроить изображение).

2. Опции в /etc/modprobe.d/options не помогают для настроек цвета, а хотелось бы :-(

options gspca autoexpo=0
options gspca gamma=5
options gspca GBlue=270
options gspca GGreen=270
options gspca GRed=330
options gspca force_gamma_id=3
options gspca force_rgb=1
options gspca compress=1

3. Жуткие тормоза остались, хотя камера заработала. Это было интересно, но для жизни мучительно больно вот и пришлось остановится на Genius (другими камерами в тот момент не торговали) и недомучав торможение остановить выбор таки на камерах с UVC: Genius Eye 320 и iSlim 320 -> и выбор пал таки на более дешевый вариант, но с такими же параметрами и это была вебкамера iSlim 320

Проверку на поддержку UVC можно сделать командой:
~$ modinfo uvcvideo
filename: /lib/modules/2.6.27-11-generic/kernel/drivers/media/video/uvc/uvcvideo.ko
version: v0.1.0
license: GPL
description: USB Video Class driver
...

Поменял взятую ранее камеру с доплатой, принес домой подключил в usb:

~$ lsusb
Bus 005 Device 006: ID 0458:605e KYE Systems Corp. (Mouse Systems)
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Проверим распознана ли наша камера:
~$ dmesg |grep -i "uvc"
[12697.894368] uvcvideo: Found UVC 1.00 device iSlim 320 (0458:605e)
[12697.905368] usbcore: registered new interface driver uvcvideo
[27397.901940] uvcvideo: Found UVC 1.00 device iSlim 320 (0458:605e)

~$ gstreamer-properties # для настройки устройств ввода/вывода....

и запускаем skype, ekiga, empathy и получаем работу камеры и встроенного микрофона (правда использую от наушников чтобы дальше от моцных колонок) и никакой мороки, даже gspca ну нужно устанавливать! Просто наслаждаемся общением! Правда empathy мне совсем не нравится, ведь там совсем нет настроек устройство (может руки, но никах микрофон не могу ей скормить), но для видео gtalk'a другой проги не знаю... Нужен gtalk-linux, что бы отказаться от skype ;-)

Установим пакет luvcview: sudo apt-get install luvcview

Этим увлекательные "мучения" снова подтверждают истину, что скупой платит дважды, от дурной головы нет покоя ногам, 7 раз прочитай и один раз купи :-)


---

spca - это драйвер для более, чем 240 моделей камер. Полный список поддерживаемых моделей можно найти здесь: http://mxhaard.free.fr/spca5xx.html

если для вашей камеры нет поддержки gspca - возможно, она есть в разрабатываемом в данный момент USB Video Class для Linux. Для начала - можно просмотреть список известных устройств, однако и другие камеры, соответствующие спецификации UVC должны работать. http://linux-uvc.berlios.de/#devices, ведь и моей iSlim 320 в списке нет, но работает отлично! :-)

N.B. покупайте камеры UVC они сразу и без проблем работают и на коробках этих камер конечно же не пишут про работу в линуксе, но пишут: "Support Mac" и "Поддержка UVC (USB Video Class), не требует драйвера"! Спрашивайте, а то продавцы сами не знают чем тогруют и что такое UVC...

31 марта 2009 г.

Поддержка кириллицы в консоли Linux

Для настройки фреймбуфера и кириллицы в терминале пришлось сделать несколько телодвижений и отказаться от загрузки, такого симпатичного, splash-а...
В /boot/grub/menu.lst необходимо дописать vga=792 (фреймбуфер в режиме 1024х768 24м.цвет или 791) и комментируем splash из-за загрузки которого кириллица и пропадает... Должно получиться что-то подобное:

kernel /boot/vmlinuz-2.6.27-11-generic root=/dev/sda2 ro quiet vga=792 #splash

Для наших целей используем console-setup, который у нас уже установлен.Этот пакет предоставляет поддержку кириллицы в консоли Linux и предлагает множество настроек.
Необходимо запустить 'sudo dpkg-reconfigure console-setup' и настроить на шрифт terminus-bold (или с VGA), при локале UTF-8 c codeset KOI8... Так как мне это нужно, то в /etc/default/console-setup добавляем украинскую раскладку "ua"... 'winkeys' можно и не использовать - это дело предпочтений и привычки (Можно писать и ",ua(winkeys)").
Получаем cat /etc/default/console-setup:

# A configuration file for setupcon

# Change to "yes" and setupcon will explain what is being doing
VERBOSE_OUTPUT=no

# Setup these consoles. Most people do not need to change this.
ACTIVE_CONSOLES="/dev/tty[1-6]"

# Put here your encoding. Valid charmaps are: UTF-8 ARMSCII-8 CP1251
# CP1255 CP1256 GEORGIAN-ACADEMY GEORGIAN-PS IBM1133 ISIRI-3342
# ISO-8859-1 ISO-8859-2 ISO-8859-3 ISO-8859-4 ISO-8859-5 ISO-8859-6
# ISO-8859-7 ISO-8859-8 ISO-8859-9 ISO-8859-10 ISO-8859-11 ISO-8859-13
# ISO-8859-14 ISO-8859-15 ISO-8859-16 KOI8-R KOI8-U TIS-620 VISCII
CHARMAP="UTF-8"

# The codeset determines which symbols are supported by the font.
# Valid codesets are: Arabic Armenian CyrAsia CyrKoi CyrSlav Ethiopian
# Georgian Greek Hebrew Lao Lat15 Lat2 Lat38 Lat7 Thai Uni1 Uni2 Uni3
# Vietnamese. Read README.fonts for explanation.
CODESET="CyrKoi"

# Valid font faces are: VGA (sizes 8, 14 and 16), Terminus (sizes
# 12x6, 14, 16, 20x10, 24x12, 28x14 and 32x16), TerminusBold (sizes
# 14, 16, 20x10, 24x12, 28x14 and 32x16), TerminusBoldVGA (sizes 14
# and 16), Fixed (sizes 13, 14, 15, 16 and 18), Goha (sizes 12, 14 and
# 16), GohaClassic (sizes 12, 14 and 16).
FONTFACE="TerminusBoldVGA"
FONTSIZE="16"

# You can also directly specify nonstandard font and ACM to load:
# FONT=/usr/local/share/funnyfonts/sarge16.psf
# ACM=/usr/local/share/consoletrans/my_special_encoding.acm

# The following variables describe your keyboard and can have the same
# values as the XkbModel, XkbLayout, XkbVariant and XkbOptions options
# in /etc/X11/xorg.conf.
XKBMODEL="pc105"
XKBLAYOUT="us,ru,ua"
XKBVARIANT=",winkeys,winkeys"
XKBOPTIONS="grp:menu_toggle,grp_led:scroll"


# Do not update the following md5 sum if you change
# /etc/console-setup/boottime.kmap.gz and Debconf will not overwrite
# your custom keymap. Do not update it even if you want to make
# Debconf overwrite it. Instead simply specify the empty string as
# a md5 sum.

BOOTTIME_KMAP_MD5="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

#### end ####

Для изменения размера сплаш-изображения 'sudo vim /etc/usplash.conf' пишем значения 1024x768 (можно 'sudo dpkg-reconfigure usplash', но не обязательно), потому что с такими параметрами загружается наш терминал, но это если вам не столь важно иметь кириллицу сразу... Так вот, если у вас включен splash перезапуск console-setup подключает снова русский шрифт в консолях [1-6]: sudo /etc/init.d/console-setup restart

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

P.S. Хотелось бы знать, что действительно и как правильно что-то изменить, чтобы получить и рус.консоль и загрузку системы со splash...

5 марта 2009 г.

TV-выход и NVIDIA geforce 6600

Вот что-то надоело мне смотреть фильмы и аниме на мониторе и пришлось настраивать себе "второй монитор", а точнее TV-выход на свой "Sansung HDTV 1080i/720p Ready", которым я почти не пользовался со дня его покупки - ну так получилось :-) Из локалной сети беру фильмы/мульты и все без рекламы (депутатов и продуктов), которая ужасно надоела...

Так вот, к делу... У меня NVIDIA Geforce 6600 с tvout s-video на 9pin, о чем раньше не очень задумывался, пока спонтанно не купи кабель. По простоте душевной, не мог и подумать, что видов этих штекеров и т.д. так много... Так вот в наличии у меня оказался THOMSON KTV620 (Advent S-VHS -> S-VHS 10m, 4x4 pin). И уже думал, что нужно будет найти и купить переходник, которого у меня нет или перепаивать один штекер, но порыскав по "гуглу" случайно наткнулся на высказывание о возможности использовать и без переходников. Рискнул, но не многим, отломав стерженек в паяном штекере, который после этих несложных манипуляция вошел в гнездо видео карты. Далее оставалось только экспериментировать с выводом на сам телевизор, что раньше никогда не делал и даже не имел понятия с чего начать ;-)

Экспериментировал в основном с nvidia-settings, если запускать через sudo, то можно сразу внести изменения в /etc/X11/xorg.conf
В инете что-то читал и для начала выбрал в настройках режим TwinView, но мне не понравилось: монитор и все, что на не дублировалось на телевизоре причем с "неправильным" для меня разрешением на телевизоре (рабочий стол не влезает в экран), а так же запуск mplayera на мониторе был не на весь экран, а в четверть оного (вернее самого фильма) и т.д. Незнаю почему, но Xinerama мне тоже не нравится... Одним словом после разных проб пришел к решению настроить телевизор как отдельный монитор в режиме "Separate X screen". Теперь наслаждаюсь Работой на мониторе и возможностью запустить фильм на телевизоре. И к слову, таким образом Рабочий стол Гнома или флукса запускается в размер экрана телевизора, а не больше. Правда не получаю возможность использовать мыш или клавиатуру на телеке (работало только при TwinView), но для меня это не помеха, так как нужно это все только для фильмов (но хотелось бы знать, если такое возможно, как добиться такого результата). Может мои настройки и не самые лучшие, но я добился желаемого результата...

Вот еще что интересно! Использую fluxbox и он на телевизоре отображается без моих настроек (только панель), в Гноме тоже самое то с настройками по умолчанию. И где же менять для второго монитора эти настройки, вот в чем вопрос? ;-) Так же хотелось бы получить 100Hz, а не 50HZ на телевизоре и HorizSync, VertRefresh были автоматически получены от монитора LG что же родное от телевизора тут вписать не знаю и займусь этим когда-нибудь позже. Главное, что все работает так как мне было нужно.

Чуть не забыл написать, как что-нибудь запустить на телевизоре!
DISPLAY=":0.1" имя_программы, хотя использую только mplayer и запускаю фильмы так: 'mplayer -display :0.1 путь_фильм.avi', а если точнее то в tux commandere настроил меню для запуска на мониторе или телевизоре и нужной кодировкой субтитров. А вообще лучше настроить mplayer.conf что бы кучу параметров не вводить в консоли каждый раз...


Свой конфиг прилагаю: cat /etc/X11/xorg.conf

Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" 0 0
EndSection

Section "Module"
Load "glx"
EndSection

Section "ServerFlags"
Option "Xinerama" "0"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,ru(winkeys),ua(winkeys)"
Option "XkbOptions" "grp:menu_toggle,grp_led:scroll"
EndSection

Section "Monitor"
Identifier "Configured Monitor"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "LG"
ModelName "LG FLATRON 795FT Plus"
HorizSync 30.0 - 96.0
VertRefresh 50.0 - 160.0
EndSection

Section "Monitor"
Identifier "Monitor1"
VendorName "Sansung"
ModelName "Samsung HDTV 1080i/720p Ready"
HorizSync 30.0 - 96.0
VertRefresh 50.0 - 160.0
EndSection

Section "Device"
Identifier "Configured Video Device"
Driver "nvidia"
Option "NoLogo" "True"
EndSection

Section "Device"
Identifier "Device0"
Driver "nvidia"
Option "NoLogo" "True"
VendorName "NVIDIA Corporation"
BoardName "GeForce 6600"
BusID "PCI:1:0:0"
Screen 0
EndSection

Section "Device"
Identifier "Device1"
Driver "nvidia"
Option "NoLogo" "True"
VendorName "NVIDIA Corporation"
BoardName "GeForce 6600"
BusID "PCI:1:0:0"
Screen 1
EndSection

Section "Screen"
Identifier "Default Screen"
Device "Configured Video Device"
Monitor "Configured Monitor"
DefaultDepth 24
EndSection

Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "0"
Option "TwinViewXineramaInfoOrder" "CRT-0"
Option "metamodes" "CRT: 1600x1200 +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection

Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "TwinView" "0"
Option "metamodes" "TV: nvidia-auto-select +0+0"
Option "TVOutFormat" "SVIDEO"
Option "TVStandard" "PAL-B"
Option "ConnectedMonitor" "TV" #или "CRT, TV"
SubSection "Display"
Depth 24
EndSubSection
EndSection


*nvidia-auto-select у меня 1024х768, его можно указать и меньше, а также прописать вручную в конфигурационном файле.

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