Работа с изображениями в Линукс: морфологический анализ в быту



14 коммент.
Задача: улучшить фотографию, сделать более чёткими края и убрать, по возможности, шум с изображения.
Решение: в этом деле нам может помочь морфологический анализ[1] изображений, Линукс и графический редактор GiMP.

Даже люди, очень далёкие от фотографии и профессиональной работы с графикой знают, что если в Фотошопе или Гимпе ткнуть в пункт меню "Unsharp Mask" или "Sharpen", то картинка станет более чёткой, хотя вокруг контуров появляется "нимб" и усиливаются шумы. Кто-нибудь слыхал про такие методы оконтуривания, как Sobel или Laplas - при некоторых навыках работы со слоями так тоже можно знатно улучшать фотографии.
Конечно, работая с математическими системами MATLAB или GNU/Octave можно добиться существенно лучших результатов, но это уже профессиональное поле - а хотелось бы получить приемлемый результат без чрезмерных интеллектуальных усилий. И тут мы обращаем внимание на пункт "Общие" в меню "Фильтры" замечательного графического редактора GiMP...


Документ с тонкими линиями
Иногда нужно распечатать сканированные документы, которые распечатывал кто-то очень жадный: например, на струйном принтере в экономном режиме. В итоге буквы и линии прерываются, так что распечатать это со сканированного оригинала очень трудно. Например, вот такой чек:

Здесь, конечно, можно обойтись и Unsharp Mask, но мы попробуем обойтись: в случае с реальной проблемой этот фильтр не поможет. Нам поможет морфологическая дилатация [2].

Морфологическая дилатация
Немного теории
Не вдаваясь в тонкости: есть две основные операции морфологического анализа - дилатация (dilate) и эрозия (erode). Дилатация приводит к расширению, "разрастанию" пикселей изображения, эрозия - к истончению, "выветриванию" пикселей. Комбинируя эти две операции по очерёдности применения к изображению и пользуясь слоями, можно добиться очень интересных эффектов.

Идём в меню "Фильтры", выбираем "Общие", потом "Dilate" - видим результат: пиксели изображения "разрослись", что нам и требовалось.

После этого можно уже применять и другие фильтры повышения чёткости.


Подчёркивание контуров
Ситуация сложнее: нужно подчеркнуть контуры изображения, и желательно не слишком усиливать шумы, особенно на цветном изображении. Можно воспользоваться имеющимися в GiMP методами Собеля, Превита, Лапласа и ЛОГ, но они склонны усиливать шумы (особенно два последних). Нам нужен морфологический градиент (о чём, кстати, уже говорилось тут[3]).

Морфологический градиент
Немного теории

Выше говорилось о эрозии и дилатации - сейчас объединим их для нахождения градиента на изображении, то есть контуров рисунка. Морфологический градиент = (Изображение + Дилатация) - ( Изображение + Эрозия). Из интуитивных соображений понятно: если из разросшегося изображения вычесть истончённое, то сухой остаток и есть контуры.

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

После чего слой с дилатацией размещаем над эродированным изображением, и дилатированному слою ставим режим "Вычитание":

Видим, что остались одни контуры. Теперь отключаем слой с исходным изображением и сводим видимые слои ("Изображение" - "Объединить видимые слои"). Для таких орлов, как мы, дальше - дело техники: можно, например, поставить получившемуся слою режим "Различие", поставить ему непрозрачность 40-50% и включить обратно слой с исходным изображением. Видим, что фотографии полегчало: контуры более явственные и шумы не очень выросли.

Следует отметить, что данный метод, при своей простоте, очень и очень мощный: контуры, выделенные морфологическим градиентом, менее чувствительны к шумам и содержат больше информативных деталей. Этому, кстати, посвящена вполне серьёзная работа[4].
Ощутив свою неимоверную крутость и не забыв при этом про себя похвалить авторов Гимпа, двигаемся дальше, к новым вершинам.


Очистка изображения от шумов и мелких неоднородностей

Всё здорово, но на изображении присутствует цветной шум и мелкие пакостные цветовые артефакты - хотелось бы от них по возможности избавиться, не затронув при этом контуры. В принципе, можно размыть изображение ("Фильтры" - "Размывание"), а потом пройтись Unsharp Mask, но мы поступим иначе и на волне предыдущих успехов немного углубимся в теорию.

Морфологическое размыкание

И снова чуток теории
Дальнейшее усложнение морфологических техник "на пальцах" будет сложнее пояснить. Но можно воспользоваться аналогией: представьте себе, что по контурам вашей картинки катится шарик некоторого радиуса. Точки соприкосновения этого шарика с контурами изображения станут новыми контурами. Размыкание
сглаживает контуры объекта, обрывает узкие перешейки и устраняет выступы небольшой ширины. Замыкание так же сглаживает участки контуров, но заполняет узкие разрывы и длинные углубления малой ширины, устраняет небольшие острова и заполняет промежутки контура.
Размыкание = Дилатация (Эрозии (Изображения) )
Замыкание = Эрозия (Дилатации (Изображения) )


В принципе, для того, чтобы уменьшить цветовой шум на фотографии, нужно применить морфологическое размыкание изображения. Для этого, как и прежде, копируем слой с исходным изображением. Далее применяем к скопированному слою сначала эрозию, а потом дилатацию. Теперь включаем слой с исходным изображением и ставим непрозрачность для разомкнутого слоя процентов 30-40% - далее, что называется, по вкусу.

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

*Морфологический алгоритм OCCO
Это уже весьма продвинутая техника[5] для тех, кто ещё не уснул от предыдущих экзерсисов (OCCO = Opening-Closening-Closening-Opening, то есть Размыкание-Замыкание-Замыкание-Размыкание). Состоит она из сложения результатов размыкания и замыкания. Не буду утомлять теорией - идея довольно проста: сделать две копии слоя изображения, к первому слою применить сначала дилатацию, а потом эрозию, ко второму - сначала эрозию, потом дилатацию. После этого слоям с размыканием и замыканием поставить непрозрачность для начала по 50% и потом подогнать под свой случай по вкусу.

Результат на снимке: и шумов меньше, и контуры не пострадали.

Надеюсь, что это небольшое введение в практическое использование возможностей GiMP будет полезно.

Литература:
[1] Jean Serra,Image Analysis and Mathematical Morphology.Academic Press, London, 1982.
[2] Р. Вудс Р.Гонсалес, Цифровая обработка изображений, Москва, Техносфера, 1072 с., 2006
[3] М.В. Конник, Жизнь и борьба с GiMP, Записки дебианщика, ссылка, 2006.
[4] Н.Н. Евтихиев, М.В. Конник, Р.С. Стариков, Разработка алгоритмов выделения контуров для оптико-электронного корреляционного различения изображений, Научная сессия МИФИ-2007, том 15, с.137-138.
[5] Richard Alan Peters, A new algorithm for image noise reduction using mathematical morphology,IEEE Transactions on Image Processing, Volume 4, Number 3:554-568, 1995.
Читать далее

Глубокий анализ данных, Эпизод 2: The Sleuth Kit



6 коммент.
Продолжая тему о программах анализа данных, в этом посте пойдёт речь о семействе утилит судебного анализа (forensic analys) The Sleuth Kit. В дистрибутив Debian оно пока не входит (в Sarge v3.1r1 во всяком случае), но это не мешает скачать сырцы с сайта проекта и собрать самостоятельно.

Установка
Для того, чтобы начать использовать The Sleuth Kit, требуется распаковать тарбол в любую директорию и просто набрать в ней make. Для сборки программы нужны библиотеки SSL, которые нужно предварительно поставить, как и говорилось в файле README. В дистрибутив они входят:
# apt-cache search libssl
libssl-dev - SSL development libraries, header files and documentation
libssl0.9.6 - SSL shared libraries (old version)
libssl0.9.7 - SSL shared libraries
dcmtk - The OFFIS DICOM toolkit command line utilities
libdcmtk0 - The OFFIS DICOM toolkit runtime libraries
libdcmtk0-dev - The OFFIS DICOM toolkit development libraries and headers
Так что это потребует около 7Мб дискового пространства. Если нам его не жалко, ставим:
# apt-get install libssl0.9.7 libssl-dev
После того, как всё настроится и установится, можно приступать к сборке:
# make
В результате должно всё собраться, а утилиты появятся в подкаталоге ../bin, который до сборки был пуст. После сборки там появится много утилит, часть которых будет описываться далее.

Если у вас библиотки ssl не установлены, при компиляции вы получите ошибку такого вида:
checking for initscr in -lncurses... yes
checking for uncompress in -lz... yes
checking for ssl3_new in -lssl... no
configure: error: OpenSSL developer library 'libssl' not installed; cannot continue.
make[1]: Entering directory `/home/penta4/temp/1/src/afflib/lib'
make[1]: *** Не заданы цели и не найден make-файл. Останов.
make[1]: Leaving directory `/home/penta4/temp/1/src/afflib/lib'
Error: Missing lib/libafflib.a file
make: *** [no-perl] Ошибка 1

Это значит, что упомянутые выше библиотеки у вас не установлены и вам их нужно поставить.

Ищем и находим данные

После установки в вашем распоряжении окажется почти три десятка утилит, способных дать исчерпывающую информацию и том, что и как записано на носителе. Разумеется, утилиты прекрасно работают с raw-данными, полученными dd или recoverdm, о которой уже было написано.
Следует отметить, что если программа foremost предназначена скорее для экспресс-анализа и представляет собой утилиту вида "всё в одном флаконе", то The Sleuth Kit это набор утилит для более глубокого исследования данных. Но это лучше показать на примере, в котором используется версия 2.07.

Пример
Пусть имеется образ флешки в файле 1.img, и на ней есть данные, которые нужно извлечь без монтирования. Для этого сначала смотрим, какие структуры данных вообше присутствуют на диске - это делает утилита mmls - media management lister. Она показывает разметку диски, в том числе пустые области (unallocated spaces), а так же адреса начала и окончания партиций.
Поддерживаются следующие типы партиций:
dos (DOS-based partitions [Windows, Linux, etc.])
mac (MAC partitions)
bsd (BSD Disklabels [FreeBSD, OpenBSD, NetBSD])
sun (Sun Volume Table of Contents (Solaris))
gpt (GUID Partition Table (EFI))
Так, применяем mmls для того, чтобы узнать, какое расположение и тип партиций:
$ mmls 1.img
DOS Partition Table
Offset Sector: 0
Units are in 512-byte sectors

Slot Start End Length Description
00: ----- 0000000000 0000000000 0000000001 Primary Table (#0)
01: ----- 0000000001 0000000031 0000000031 Unallocated
02: 00:00 0000000032 0000031359 0000031328 DOS FAT12 (0x01)
03: ----- 0000031360 0000031487 0000000128 Unallocated
Всё верно, досовская файловая система на флешке (выделение полужирным - моё). Теперь известно, откуда она начинается и где заканчивается - эта информация нужна для работы других утилит.

Отлично, теперь мы знаем тип файловой системы и где она располагается. Посмотрим, как много данных на ней есть и что мы может оттуда выдрать - в этом деле нам поможет другая утилита, fsstat. Вызываем её, сообщая сведения, полученные от mmls:

penta4@penta4rce:~/temp$ fsstat -f fat -o 0000000032 1.img
FILE SYSTEM INFORMATION
--------------------------------------------
File System Type: FAT12

OEM Name: +/J8LIHC
Volume ID: 0x913
Volume Label (Boot Sector): SANVOL
Volume Label (Root Directory):
File System Type Label: FAT12

Sectors before file system: 32

File System Layout (in sectors)
Total Range: 0 - 31327
* Reserved: 0 - 0
** Boot Sector: 0
* FAT 0: 1 - 12
* FAT 1: 13 - 24
* Data Area: 25 - 31327
** Root Directory: 25 - 56
** Cluster Area: 57 - 31320
** Non-clustered: 31321 - 31327

METADATA INFORMATION
--------------------------------------------
Range: 2 - 500226
Root Directory: 2

CONTENT INFORMATION
--------------------------------------------
Sector Size: 512
Cluster Size: 4096
Total Cluster Range: 2 - 3909

FAT CONTENTS (in sectors)
--------------------------------------------
57-64 (8) -> EOF
65-80 (16) -> EOF
81-88 (8) -> EOF
89-96 (8) -> EOF
97-408 (312) -> EOF
409-688 (280) -> EOF
689-696 (8) -> EOF
697-1000 (304) -> EOF

Отлично, теперь мы знаем, сколько файлов записано и где они расположены. Самое время посмотреть на структуру каталогов и файлов, начиная с корневого каталога. Для этого воспользуемся утилитой fls, которая показывает не только записанные, но и удалённые файлы. Посмотрим, что есть в корневом каталоге:
$ fls -f fat -o 0000000032 1.img
d/d 3: DCIM
d/d 4: SCENE
r/r * 6: raw1.bz2
r/r 8: cdpocket.pdf
r/r 10: raw1
Чудесно, знаем не только имена файлов, но и их смещения, которые нам потребуются, чтобы прочесть файлы. Звёздочка означает, что файл удалён: но его можно попробовать восстановить, если после удаления не проводилось интенсивного перезаписывания файлов.
Если файлов много, или они в каталогах, и требуется найти смещение файла, имя которого известно, следует воспользоваться утилитой ifind.
$ ifind -a -n cdpocket.pdf -f fat -i raw -o 0000000032 1.img
8
Результатом является смещение файла, которое требуется для его извлечения.
Всё, в наших руках вся информация о файлах - осталось их извлечь. Посмотрим, например, на файл cdpocket.pdf, для извлечения которого используем утилиту icat:
$ icat -f fat -i raw -o 0000000032 1.img 8 > cdpocket.pdf
В текущем каталоге после выполнения этой команды появляется файл cdpocket.pdf - читается и просматривается соответствующей программой.

Заключение
Комплект утилит The Sleuth Kit даёт пользователям *nix-систем огромные возможности по восстановлению повреждённых или скрытых данных, и в приведённом выше примере освещается лишь некоторые программы. Больше информации о судебном анализе данных можно найти в прекрасных мануалах, идущих с утилитами, и на сайте авторов.
Читать далее

Глубокий анализ данных, Эпизод 1: foremost



13 коммент.
Есть ситуации: ваша флешка начинает помирать, диск плохо читается и на нём важные данные, или вы пришли к какому-нибудь недругу и подозреваете, что у него на винчестере есть данные, которые вам нужны, а он их показывать не хочет. В общем, вопрос: как выдрать файлы из труднодоступных носителей?
Решение: имеется класс программ "судебного анализа данных" (forensic analisys), позволяющих без шума и пыли (и ректальной имплантации горячих паяльников) выудить данные, даже если они хитро записаны.

Лирическое отступление
Всё началось с того, что ко мне пришёл один пользователь виндовс, и, гордо размахивая флешкой, сказал, что у него есть вордовский файл с паролями, но на этой флешке его никто никогда не отыщет. Мне стало интересно, и я, отвлекая его внимание запущенным на ноутбуке Kororaa с XGL, по-тихому перегнал всю гиговую флешку к себе с помощью dd... На следующий день он очень удивился, увидев в своём почтовом ящике все свои пароли. Ниже рассказывается, как мне это удалось сделать, используя Дебиан и программы, имеющиеся в нём.


Что есть для этого в Дебиан?
Чего только не найдёшь в Дебиановском репозитории! Например, очень и очень интересная программа foremost. Она позволяет искать файлы на сменных носителях / внутри образов дисков по hex-данным, характерным заголовкам и окончаниям. В Sarge версия довольно старая, но с сайта можно скачать тарболл и скомпилировать его. После чего foremost можно запустить и прочитать мануал, который, надо сказать, весьма примечателен:
Foremost was written by Special Agent Kris Kendall and Special Agent Jesse
Kornblum of the United States Air Force Office of Special Investigations
starting in March 2001. This program would not be what it is today without
help from (in no particular order): Rob Meekins, Dan Kalil, and Chet
Maciag. This project was inspired by CarvThis, written by the Defense
Computer Forensic Lab
in 1999.
Выделенные курсивом строки, надеюсь, в переводе не нуждаются?

Как это работает?
Программа прочёсывает файлы на предмет совпадения заранее определённых hex-кодов, соответствующих наиболее распространённым форматам файлов. После чего экстрагирует их из диска / образа и складывает в каталог, вместе с подробным отчётом о том, чего, сколько и откуда было выдрано.
Мануал к программе написан очень подробный, с возможностью добавлять свои форматы, о которых программа не знает. Заголовки и окончания декодируются перед использованием из шестнадцатеричного формата:
Headers and footers are decoded before use. To specify a value in
hexadecimal use \x[0-f][0-f], and for octal use \[1-9][1-9][1-9]. Spaces
can be represented by \s. Example: "\x4F\123\I\sCCI" decodes to "OSI CCI".
А вот и пример того, как выглядят для foremost файлы:
# extension case-sens max-size header footer (option)
#
# GIF and JPG files (very common)
gif y 155000 \x47\x49\x46\x38\x37\x61 \x00\x3b
gif y 155000 \x47\x49\x46\x38\x39\x61 \x00\x00\x3b
jpg y 200000 \xff\xd8\xff \xff\xd9

Так что если есть желание и необходимость, можно добавить информацию для поиска шифрованный файлов и прочих наводящих на размышления данных.

Foremost в действии
Отлично, программа собрана и установлена, с требуемого носителя содран образ при помощи dd, теперь осталось поискать там файлы.

Попробуем поискать файлы, замаскированные под другой формат.
Берём флешку, втыкаем и не монтируем - пробуем выдрать оттуда файлы типа doc, один из которых переименован в jpg (наивный юноша...):
./foremost -t doc -o /opt/foremost-1.3/output/ -i /dev/sdf
После чего идём в подкаталог ../output и наблюдаем радостную картину - файлик обнаружился. А вот и отчёт программы:

Foremost version 1.3 by Jesse Kornblum, Kris Kendall, and Nick Mikus
Audit File

Foremost started at Sat Dec 16 21:48:07 2006
Invocation: ./foremost -t doc -o /opt/foremost-1.3/output/ -i /dev/sdf
Output directory: /opt/foremost-1.3/output
Configuration file: /opt/foremost-1.3/foremost.conf
------------------------------------------------------------------
File: /dev/sdf
Start: Sat Dec 16 21:48:07 2006
Length: 15 MB (16121856 bytes)

Num (bs=512) Size Offset

0: 129.jpg 155 KB 66048
Finish: Sat Dec 16 21:48:12 2006

1 FILES EXTRACTED

doc:= 1
------------------------------------------------------------------

Имя не сохранено, но содержимое в порядке. Нагретый паяльник и утюг можно отложить в сторону. :-)

Другой пример. Пусть хакер Нео хочет скрытно передать товарищу Морфею диск с изображением кодов к Матрице (фотографией голой Тринити). Для этого можно схитрить: приказывать писать программе cdrecord не iso-образ, а просто файл:
cdrecord -v speed=0 dev=ATAPI:0,0,0 matrixcodes
На другом конце Морфей делает

dd if=/dev/cdrom bs=2048 of=~/temp/matrix.jpg
Но вот всех застукал агент Смит, приволок в отделение и ласково спрашивает, что на болванке. Хакер Нео с ясными глазами говорит почти правду - ничего, болванка пустая (ясное дело, что "в лоб" такая болванка не читается). Агент Смит знает Линукс и поэтому он набирает в консоли:
# foremost -t all -o ~/output/ -i /dev/hda
И выуживает из диска крамольные данные: в подкаталоге ..output/ появляется файл audit.txt следующего содержания:

Foremost version 1.3 by Jesse Kornblum, Kris Kendall, and Nick Mikus
Audit File

Foremost started at Sat Dec 16 22:15:26 2006
Invocation: ./foremost -t all -o /opt/foremost-1.3/output/ -i /dev/hda
Output directory: /opt/foremost-1.3/output
Configuration file: /opt/foremost-1.3/foremost.conf
------------------------------------------------------------------
File: /dev/hda
Start: Sat Dec 16 22:15:26 2006
Length: 604 KB (618496 bytes)

Num (bs=512) Size Offset

0: 0.jpg 88 KB 0
Finish: Sat Dec 16 22:15:28 2006

1 FILES EXTRACTED

jpg:= 1
------------------------------------------------------------------

Foremost finished at Sat Dec 16 22:15:28 2006
и каталог ..output/jpg/ с этим файлом...

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

Ещё немного поигравшись с программой, можно сказать следующее. Сразу, без дополнительных танцев, находит foremost графические файлы tif, jpg, png, bmp, звуковые файлы wav, виндовые exe-шники, все офисные форматы (мелкоОфиса и ОпенОфиса), архивы rar и zip и многое другое. Линуксовые архивы типа bzip2 и p7zip "в лоб" программа не берёт, но это дело не сильно облегчает, так как, задавшись целью, можно и их выдрать с диска.

Заключение
На простых примерах была показана мощь программы foremost, которая в умелых руках и при знании простых UNIX-программ типа dd или recoverdm способна выуживать из носителей информации данные, даже весьма хитро спрятанные и записанные нестандартным образом.

Аналогичные программы
Такие программы особенно не афишируются, и крайне неохотно раздаются за просто так. Или надо оставлять свои паспортные данные и доказывать, что вы работаете в полиции, в суде или в КГБ :-) Но всё-таки кое-что имеется. Это проприетарные Safeback, Encase, safecopy, dvdisaster и некоторые другие. Особые параноики полагают, что старый-добрый dd тоже является программой из этой же серии.

Ссылки
Есть очень хороший каталог с описаниями таких программ здесь. Вот тут неплохое описание доступных утилит по анализу данных, ссылки есть и здесь, а ещё лучше погуглить со словом forensic.
Читать далее

Настройка GPRS в Debian GNU/Linux с телефоном Siemens ME45



21 коммент.
Задача: выходить в Интернет через телефон с GPRS подключением, используя USB-адаптер Prolific PL2303 и делать всё это в Линуксе.
Решение: в Дебиане есть всё, что нужно для настройки GPRS в Линукс.


Исходные данные
Есть ноутбук Asus M5200AE под управлением Debian GNU/Linux, есть телефон Siemens ME45, шнурок и оператор Билайн. Приведённые ниже настройки будут чуть другими для других телефонов и / или сотовых операторов, но сюжетная канва та же самая.


Подготовительные мероприятия
Для того, чтобы всё получилось с полпинка, требуется, чтобы в ядре была поддержка PPP:
Networking options-> TCP/IP networking -> Network device -> PPP (point-to-point protocol) support
монолитно или модулем. Кроме того, в ядре должна быть собрана поддержка данного шнурка - модуль сидит тут:

USB support-> Support for USB -> USB Serial Converter support-> USB Serial Converter support
[m] USB Generic Serial Driver
[m] USB Prolific 2303 Single Port Serial Driver
Если всё это сделано, соединяем шнурок с телефоном и втыкаем в USB-порт, при этом в логах dmesg должны появиться примерно такие строчки:
usb 3-1: new full speed USB device using uhci_hcd and address 3
drivers/usb/serial/usb-serial.c: USB Serial support registered for pl2303
pl2303 3-1:1.0: pl2303 converter detected
usb 3-1: pl2303 converter now attached to ttyUSB0
usbcore: registered new driver pl2303
drivers/usb/serial/pl2303.c: Prolific PL2303 USB to serial adaptor driver

Всё, шнурок найден и опознан ядром. Более того, создан новый последовательный порт /dev/ttyUSB0, который мы укажем программе дозвона.


Настраиваем GPRS

Осталось только правильно указать программам параметры дозвона - и можно сидеть в Интернете через GPRS. Все следующие действия делаются с рутовыми привилегиями.

Заходим в каталог /etc/ppp/peers/ и создаём там файл beeline следующего содержания:
/dev/ttyUSB0
57600
noauth
defaultroute
usepeerdns
persist
noipdefault
lock
connect '/usr/sbin/chat -v -f /etc/chatscripts/beeline-connect'
novjccomp
nopcomp
noaccomp
noipdefault
nodeflate
novj
Не стоит указывать слишком большую скорость подключения, из-за этого соединение может оборваться. Как поясняется здесь, опции означают:
defaultroute - установить маршрутом "по умолчанию"
noipdefault - не использовать IP адрес, назначенный для данного hostname
persist - восстанавливать соединение при разрыве
updetach - `возвратить управление` процессу, вызвавшему pppd, при успешно установленном соединение
usepeerdns - получить DNS адреса от сервера (потребуется при настройке pdnsd)
Ещё один файл, beeline-connect, создаём в каталоге /etc/chatscripts/ такого содержания:
TIMEOUT 45
ABORT 'NO ANSWER'
ABORT 'BUSY'
ABORT 'NO CARRIER'
SAY 'Starting GPRS connection\n'
ABORT ERROR
"" 'ATZ'
"" 'ATE1'
OK AT+CGDCONT=1,"IP","internet.beeline.ru"
OK ATD*99***1#
CONNECT c
Если у вас не Билайн, заходите на сайт своего оператора и интересуетесь, как выглядит строка подключения: AT+CGDCONT=1,"IP","internet.beeline.ru" будет другой. Так же может измениться строка ATD*99***1#, которая характерна для телефонов компании Siemens.


Выходим в Интернет по GPRS
На этом настройки закончились и теперь можно использовать GPRS в Линукс. Для этого от рута даём команду:
pppd call beeline
либо
pon beeline
Несколько секунд ожидания, и в броузере можно работать так же, как и всегда. Вот, например, я ищу свой блог :-)



Для того, чтобы отсоединиться от Интернета, набираем
killall pppd
или
poff beeline
И всё.


Если что-то пошло не так...
Не всё и не всегда получается с первого раза, поэтому для получения информации о том, почему GPRS в Linux не работает, следует использовать данные из логов, а конкретно - /var/log/syslog. Доступ к нему имеет только рут, так что заделываемся администратором и читаем бортжурнал об ошибках. В моём (успешном) случае записи в конфиге выглядят так:

Aug 14 08:30:37 localhost chat[7715]: timeout set to 45 seconds
Aug 14 08:30:37 localhost chat[7715]: abort on (NO ANSWER)
Aug 14 08:30:37 localhost chat[7715]: abort on (BUSY)
Aug 14 08:30:37 localhost chat[7715]: abort on (NO CARRIER)
Aug 14 08:30:37 localhost chat[7715]: abort on (ERROR)
Aug 14 08:30:37 localhost chat[7715]: send (ATZ^M)
Aug 14 08:30:37 localhost chat[7715]: send (ATE1^M)
Aug 14 08:30:37 localhost chat[7715]: expect (OK)
Aug 14 08:30:37 localhost chat[7715]: g^?ATZ^MAT^M
Aug 14 08:30:37 localhost chat[7715]: OK
Aug 14 08:30:37 localhost chat[7715]: -- got it
Aug 14 08:30:37 localhost chat[7715]: send (AT+CGDCONT=1,"IP","internet.beeline.ru"^M)
Aug 14 08:30:38 localhost chat[7715]: expect (OK)
Aug 14 08:30:38 localhost chat[7715]: ^M
Aug 14 08:30:38 localhost chat[7715]: EAT+CGDCONT=1,"IP","internet.beeline.ru"^M^M
Aug 14 08:30:38 localhost chat[7715]: OK
Aug 14 08:30:38 localhost chat[7715]: -- got it
Aug 14 08:30:38 localhost chat[7715]: send (ATD*99***1#^M)
Aug 14 08:30:38 localhost chat[7715]: expect (CONNECT)
Aug 14 08:30:38 localhost chat[7715]: ^M
Aug 14 08:30:38 localhost chat[7715]: ATD*99***1#^M^M
Aug 14 08:30:38 localhost chat[7715]: CONNECT
Aug 14 08:30:38 localhost chat[7715]: -- got it
Aug 14 08:30:38 localhost chat[7715]: send (c^M)
Aug 14 08:30:38 localhost pppd[7314]: Serial connection established.
Aug 14 08:30:38 localhost pppd[7314]: Using interface ppp0
Aug 14 08:30:38 localhost pppd[7314]: Connect: ppp0 <--> /dev/ttyUSB0
Aug 14 08:30:41 localhost pppd[7314]: PAP authentication succeeded
Aug 14 08:30:44 localhost pppd[7314]: Cannot determine ethernet address for proxy ARP
Aug 14 08:30:44 localhost pppd[7314]: local IP address 10.0.103.11
Aug 14 08:30:44 localhost pppd[7314]: remote IP address 192.168.254.254
Aug 14 08:30:44 localhost pppd[7314]: primary DNS address 217.118.66.243
Aug 14 08:30:44 localhost pppd[7314]: secondary DNS address 217.118.66.244

Всё, после этого у меня появляется новый сетевой интерфейс ppp0

notebeast:/home/beast# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:84 errors:0 dropped:0 overruns:0 frame:0
TX packets:84 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5483 (5.3 KiB) TX bytes:5483 (5.3 KiB)

ppp0 Link encap:Point-to-Point Protocol
inet addr:10.1.193.83 P-t-P:192.168.254.254 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:204 errors:0 dropped:0 overruns:0 frame:0
TX packets:273 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:109516 (106.9 KiB) TX bytes:27628 (26.9 KiB)

через который льётся широкой рекой желанный интернет-трафик.

Замечания
Обычно всегда советуют использовать программу wvdial. У меня был крайне отрицательный опыт использования этой программы: дозвон шёл и соединение устанавливалось, но потом в консоль выдавался "мусор" и соединение обрывалось, хотя настройки были те же. Потом я всё-таки решил воспользоваться старым-добрым pppd - и буквально за пять минут всё настроил.

Ссылки
Пост вдохновлён статьёй "Настраиваем GPRS соединение в Дженту" Артёма Носова aka ChiP, за что ему большое человеческое спасибо. Так же стоит посмотреть на эту заметку, вот эту и ещё вот тут.
Читать далее

Перевод документов из LaTeX в Word / OpenOffice



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

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

На рисунке показан документ таким, как он выглядит в LaTeX, после перевода в формат DVI. Всё красиво и замечательно - посмотрим, во что превратится это великолепие при переводе в ЗлоВорд.

latex2html - HTML - OpenOffice
Есть утилита latex2html, которая позволяет со множеством опций переводить созданный в LaTeX документ в гипертекст. Есть несколько неприятных моментов: в HTML нет понятия "разделения на страницы", трудно переводить формулы (только графикой) и математические символы.
У latex2html очень впечатляющий man, в котором можно выцедить много интересного. Например, чтобы утилита переводила текст в одну страницу.

Реализация
Генерируем любой оболочной dvi-файл, чтобы в каталоге ещё остался файл .aux, после чего даём команду в консоли в каталоге, где лежит документ:
latex2html -split 0 -external_file 2006fullReport.aux 2006fullReport.tex
Здесь был использован внешний файл aux (содержит информацию о перекрёстных ссылках) и текст выводился в файл html без разделений на подстраницы. После этого появляется каталог 2006fullReport, в котором лежит много файлов, в том числе нужный нам 2006fullReport.html - его открываем OpenOffice. Копируем текст с рисунками в буфер обмена, вставляем в новый документ OpenOffice, и достаём крупный напильник.

Результат
Неплохо, но полученный документ требует серьёзной доводки. Рисунки вставлены в натуральную величину, все тонкие подгонки ушли на север, ссылок на рисунки нет (только гиперссылки). Формулы - рисунками, зато поставлена правильная нумерация формул. Есть ещё очень крупный минус: рисунки в текст внедрить не удаётся, это просто ссылки.

В общем, этот способ подходит скорее для веб-публикаций документов, не содержащих сложного оформления или формул.

Плюсы
+ есть оглавление;
+ хорошо передаётся оформление документа;

Минусы

- формулы в виде графики, ссылок на рисунки нет,
- рисунки в натуральную величину, группы рисунков не передаются.
- большинство рисунков не внедряются в документ и не могут быть сохранены как RTF (например, графики в PS).


latex2rtf - RTF - OpenOffice
Утилита latex2rtf не входит в дистрибутив Дебиан, но может быть поставлена из внешних репозиториев. Позволяет перевести LaTeX-документ в RTF, после чего легко открывается ОпенОфисом. Параметров у утилиты не так много, перевод сравнительно неплох, но напильник далеко откладывать не стоит.

Реализация
Генерируем любой оболочкой dvi-файл со всеми сопутствующими файлами, после чего даём команду в консоли в каталоге, где лежит документ:
latex2rtf -F -M12 -a 2006fullReport.aux -b 2006fullReport.bbl 2006fullReport.tex
Параметр -F заставляет делать изображения из всех вставленных рисунков, опции -a и -b используют файлы aux и bbl соответственно. Параметр -M12 конвертирует все математические символы в рисунки - медленно, но зато потом не возникает трудностей с формулами.
Результатом этого будет единственный файл rtf. Генерироваться это будет достаточно долго, так что наберитесь терпения. В нём все формулы и математические символы будут в виде рисунков. Полученный файл rtf открываем OpenOffice, и немного проходимся напильником по размеру изображений и сразу меняем поля страницы.

Результат
Достаточно хорошо, есть нумерация рисунков, сами рисунки несколько больше, но в в нормальном качестве и пропорционально тому, что было указано в латеховском документе. Библиографические ссылки есть, и, что особенно радует, сделаны в виде переменных. Но зато вместо слов "Глава" и "Литература" красуются "Chapter" и "Bibliography" соответственно. В целом, если исправить размеры рисунков, то выглядит совсем не дурно.

Единственный финт, который не пройдёт, это два рисунка в minipage с подписями к каждому. Это приведёт к тому, что вся вторая подпись станет рисунком, вместе с номером. Так что перед конвертацией возможно придётся сделать копию документа и поправить подписи. Кроме того, отсутствует оглавление, которое, впрочем, можно выдрать другими конверторами.

Плюсы
+ удовлетворительная вставка рисунков;
+ хорошо передаётся оформление документа;
+ есть нумерация рисунков, библиографии и таблиц.

Минусы
- есть неправильная трансляция в сложных группах изображений с подписями;
- нет оглавления в конечном тексте.


tex4ht (via htlatex) - HTML - OpenOffice
Конвертер tex4ht - вещь очень мощная, но настолько отвратительно документированная в man-страницах, что хоть в гугл беги. Собственно, именно из гугления были найдены необходимые (и весьма не очевидные) параметры для конвертации в HTML.

Реализация
Для этого нужно установить пакеты:
apt-get install tex4ht dvipng
после чего можно использовать многочисленные утилиты. Теперь для конвертации указываем в каталоге с латеховским файлом:
htlatex 2006fullReport.tex "html,word"
Как вариант, можно указать параметры для перевода с поддержкой MathML:
htlatex 2006fullReport.tex "xhtml,mathml-"
Результат визуально очень похожий.

Результат
Результирующий файл будет с тем же именем, но расширением html. Результат хорош, есть рисунки и ссылки на формулы, есть оглавление и список литературы.

Но рисунки, вставленные в ряд, появятся в вертикальном расположении, формулы будут в виде изображений.

Плюсы
+ удовлетворительная вставка рисунков;
+ хорошо передаётся структура и оформление документа;
+ есть нумерация рисунков, библиографии и таблиц;

Минусы

- трудности со статической вставкой рисунков.

tth -> HTML -> OpenOffice

На самом деле tth - это конвертор в HTML, заточенный под перевод научных документов. Переводит оглавление в ``кликабельном'' виде - но русские буквы в оглавлении не видны. Есть возможность переводить библиографические ссылки, сноски и отсылки на формулы - всё это так же будет работать. Очень удобно, когда что-то пишется в LATEXа потом кновертируется в HTML для опубликования на веб-страницах.

Реализация
Для этого нужно установить пакеты:

apt-get install tth

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

tth -u -c -f9 -i -n2 2006fullReport.tex > 2006fullReport.html

Результат хорош для веб-публикации: есть ссылки по главам, на формулы и рисунки, библиография переводится, картинки вставляются.

Результат:
Результирующий файл будет с тем же именем, но расширением html. Результат хорош, ссылки по главам, на формулы, рисунки, библиографию.

Плюсы:
+ ссылки вставлены прекрасно: на рисунки, формулы, разделы и библиографию;
+ хорошо вставляются математические символы и греческие буквы.

Минусы:
- не все математические символы могут быть переданы;
- оформление в ряде случаев не передаётся.



Что в итоге
В общем, конвертация свободными программами возможна, хотя и не полная. Есть ещё проприетарное поделие tex2word, но оно стоит 100$ плюс требует MathType, который тоже платный. Плюс платный мелкоВорд... При полностью бесплатном и свободном ЛаТеХе это даже жлобством мало назвать.
Так что применяя свободные утилиты и некоторые усилия напильником, можно подогнать ЛаТеХовский документ к вордовому состоянию - только лучше на него не смотреть, результат (по сравнению с прекрасным экземпляром в ЛаТеХ) смотрится как карикатура.
Читать далее

Перепрошивка NEC ND-3550A в Линукс



23 коммент.
Вопрос: как прошить DVD-привод NEC ND-3550A в Линукс и зачем это делать?
Ответ: прошить можно легко, а делать это требуется в ряде случаев для улучшения его работы и открытия новых возможностей.

История вопроса
Привод NEC ND-3550A в Линуксе работает прекрасно, но лично у меня был такой нюанс: система при любых операциях с приводом начинала страшно тормозить. Сначала я косо смотрел на утилиты cdrtools - они у меня неофициальной убунтовской сборки. Но и при записи DVD та же проблема: запись идёт, и пишет надёжно, но с максимальной скоростью 1.7х и при этом очень трудно где-то ещё работать.

В общем, проблема: любые операции с приводом NEC ND-3550A с прошивкой версии 1.05 вызывают существенное замедление работы Debian Linux v3.1 Sarge с ядром 2.6.15.7 с патчем squashfs. При этом другие приводы (в частности, Asus) работают нормально.

Перепрошивка NEC в Linux
Для этого идём сюда и скачиваем маленькую утилиту necflash. Распаковываем, даём права на запуск. Теперь идём за прошивками - я начинал отсюда. Прежде чем что-то прошивать, надо представлять себе, что мы хотим и что при этом изменится. Возможностей моего привода мне хватало, мне нужно было устранить его досадные огрехи. Поэтому я взял официальную прошивку 1.06, в которой версии стратегий записи были новее.

Запускаем программу, смотрим на её возможности:

# ./necflash
Binflash - NEC version - (C) by Herrie and Liggy
Visit http://binflash.cdfreaks.com - http://www.herrie.org

Usage:
necflash {-scan} [-v]
necflash {-dump} [-v] [-s] {filename} {device}
necflash {-flash} [-v] [-s] {filename} {device}
necflash {-identify} {device} {Filename}
necflash {-querybt} {device}
necflash {-setbt} {Mediatype} {Booktype} {Temp|Perm} {device}
necflash {-setbtrw} {Booktype} {Device}
necflash {-clearbt} {device}
necflash {-version}

-scan - Scan for supported devices
-dump - Dump firmware and write to file
-flash - Flash firmware and write to file
-identify - Identify unknown drives
-querybt - Query booktype information
-setbt - Change booktype settings
-setbtrw - Change booktype on current DVD+RW disc
-clearbt - Clear booktype settings and counter
-version - Display version information

-v - Verbose mode
-s - Skip disclaimer

Отлично, то, что надо. Идём далее: смотрим, что в приводе уже есть:

# ./necflash -scan
Binflash - NEC version - (C) by Herrie and Liggy
Visit http://binflash.cdfreaks.com - http://www.herrie.org

List of supported devices:

Device : /dev/hda
Vendor : _NEC
Model : DVD_RW ND-3550A
Firmware : 1.05

Прошивка версии 1.05, довольно свежая, так как привод куплен не так давно. Но это слабое утешение - прошивать будем всё равно.

Сохраняем старую прошивку
Всегда приятно иметь возможность откатиться к исходной позиции. Поэтому запускаем программу с ключом -dump и сохраняем прошивку, которая в приводе, на диск.

# ./necflash -dump nec3550Aold.flash /dev/hda
Binflash - NEC version - (C) by Herrie and Liggy
Visit http://binflash.cdfreaks.com - http://www.herrie.org

DISCLAIMER

THIS PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE.

THE ENTIRE RISK AS TO THE ABILITY OF THIS PROGRAM TO FLASH
NEC OR COMPATIBLE DVDR DRIVES IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
SERVICING, REPAIR OR CORRECTION.

THIS PROGRAM IS NOT ENDORSED BY NEC OR ANY
COMPANY RESELLING NEC EQUIPMENT AS THEIR OWN BRAND

IF YOU UNDERSTAND THE RISKS ASSOCIATED WITH THIS PROGRAM AND
DISCHARGE BOTH THE AUTHOR AND NEC FROM ANY
DAMAGE OCCURING AS THE RESULT OF ITS USE, PLEASE INDICATE SO
BY ANSWERING THE FOLLOWING QUESTION:

Do you understand and agree to the statement above (y/n)? y

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


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

# ./necflash -flash 106_orig.bin /dev/hda
Binflash - NEC version - (C) by Herrie and Liggy
Visit http://binflash.cdfreaks.com - http://www.herrie.org

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

Результат прошивания
Полное ощущение, что я в своей Ламборгини "открыл для себя" скорости выше первой на коробке передач! Пишет и читает прекрасно, и работающий по соседству tvtime в лучшем качестве тормозить даже не думает. Все md5-суммы записанных данных сходятся, система при работе привода работает прекрасно.
Читать далее

Визуальный LaTeX - бывает и такое: LyX



14 коммент.
Задача: есть желание пользоваться LaTeX, но хочется оставаться среди кнопочек, на которые можно тыкать - то есть хочется ЛаТеХовской мощи, но в WYSIWYG.
Решение: для этих целей есть LyX - визуальная латеховская оболочка.

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

Установка
Как всегда в Debian GNU/Linux, установка простая и быстрая - достаточно набрать apt-get install lyx и немножко подождать:

# apt-get install lyx
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Будут установлены следующие дополнительные пакеты:
groff latex-xft-fonts libtiff-tools lyx-common lyx-qt preview-latex-style
Настойчиво рекомендуемые пакеты:
libtiff-opengl chktex nowebm
Рекомендуемые пакеты:
psutils x-ttcidfont-conf kdeprint lpr konqueror www-browser sgmltools-lite
linuxdoc-tools wv
НОВЫЕ пакеты, которые будут установлены:
groff latex-xft-fonts libtiff-tools lyx lyx-common lyx-qt
preview-latex-style
обновлено 0, установлено 7 новых пакетов, для удаления отмечено 0 пакетов, и 153 пакетов не обновлено.
Необходимо скачать 0B/7508kB архивов.
После распаковки объем занятого дискового пространства возрастёт на 29,4MB.
Хотите продолжить? [Д/н]

Да, хотим, и через несколько секунд получаем настроенный и установленный LyX. Пришло время на него взглянуть.

Работа с LyX
После запуска lyx видим некоторое подобие обычного визуального процессора:

Чтобы начать работу с каким-нибудь ЛаТеХовским документом, его надо импортировать в lyx-формат, выбрав в меню "Файл" - "Импортировать из..." - "LaTeX".

Готово, документ импортирован и готов к работе. Представший перед вами документ будет сильно отличаться от того, к которому можно привыкнуть в Kile: тэги превращены в форматирование, их действие сразу же видно.
Впрочем, при первом запуске LyX может встретить вас жуткими шрифтами: по умолчанию он выбирает первые шрифты в списке TTF-шрифтов системы. Но это легко меняется в настройках

Ставим любимые шрифты и видим более приглядную картину. Не забудьте сохранить установки!

Отображение тэгов приводит к некоторому притормаживанию, особенно при быстрой прокрутке документа, что не удивительно: LyX приходится форматировать документ "на лету". Зато можно не изучать работы с текстом, формулами и графикой, а сразу заняться набором документов. Благо для этого есть хорошо проработанные инструменты и менюшки, в которых простым тыком мыши можно вставлять формулы, таблицы и рисунки.

Часть тэгов видна и помечена серым цветом - например, перенос с отступом \par или сноска \footnote. Текст сноски, например, виден только при двойном щелчке на ней.

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

И всё - через мгновение рисунок будет вставлен и вы его увидите.

Да, конечно, зная тонкости ЛаТеХа, можно это делать быстрее или сооружать из рисунков более изощрённые конструкции, но когда нужно "просто вставить рисунок и забыть", LyX - то, что вы ищете.
Кроме всего прочего, можно видеть структуру текста в меню "Перейти":

Так что в LyX можно получить "удобство" визуального режима и мощь ЛаТеХа. Но только тогда, когда вам нужно быстро и не думая набрать несложный документ, без большого количества формул и рисунков.
Так же можно быстро просмотреть, как документ будет выглядеть на печати: для этого служит комбинация клавиш CTRL+D или пункт меню "Просмотреть" - "DVI", в результате чего запускается просмотрщик xdvi:

Однако не следует забывать, что настоящая мощь ЛаТеХа скрывается за визуальными рюшечками и бубенцами. Набор сложных математических формул и вставка сложных структур из рисунков (например, три рисунка в ряд с подписями), лёгкая работа с библиографией и таблицами, создание титульных листов профессионального уровня. Не говоря уже о наборе химических формул и нот - и всё это может LaTeX.


Ссылки и благодарности

Этот пост написан во многом благодаря обмену мнениями между мной и Сергеем Ивановским по поводу простого создания технической документации. Во многом визуальный подход к ЛаТеХу оправдан для людей, не желающих разбираться с тонкостями для получения хороших результатов при создании документации. Хотя лично я предпочитаю пользоваться Kile, о котором написано здесь, быть может, этот пост будет полезен начинающим ЛаТеХникам, которые только познают всю прелесть этого замечательного инструмента.
Читать далее

Ulteo - революция где-то рядом, где-то за углом...



20 коммент.
В декабрьском номере LinuxFormat была довольно большая статья о новом, "революционном" дистрибутиве на базе Debian GNU/Linux - Ulteo. Этот новый восьмиколёсный велосипед с распределёнными педалями дистрибутив решил построить уволенный из Mandriva Гаэль Дюваль.
Посмотрим, что из этого получилось - на скриншотах, полученных в эмуляторе QEMU.

Запуск Live-версии
Как обычно, на CD-диске есть "живая версия", чтобы перед установкой можно было посмотреть дистрибутив в действии. Запуск и автоматическая конфигурация чего-то сверхъестественного не показали

После всего, видим довольно сильно перекорёженный KDE (трудно сказать, в лучшую ли сторону), старательно подогнанный под одну недавно вышедшую недо-полу-ОС, занимающую неизвестно чем 12Гб и стоящую при этом 399$.

Хождение по менюшкам ничего революционного опять-таки не выявило: стандартный набор приложений, причём оставленных с их оригинальными именами (но в скобках всё-таки написано, что они делают). Вот, например, в Freespire, о котором было написано ранее, догадались назвать программы по функционалу (то есть не GiMP, а Image Editor, не OpenOffice.Writer, а Word Processor и так далее).
Справедливости ради стоит отметить, что софт сгруппирован довольно грамотно и его однозначно больше, чем в той странной ОС - и стоит Ulteo на 399$ дешевле.
Но довольно сарказма - ещё стоит отметить управление настройками системы, через единый System Settings.

Хорошее, на мой взгляд, решение для новичков, но на революцию оно не тянет. Совсем.

Может быть, что-то революционное будет тогда, когда его установят на жёсткий диск? Что ж, это можно - благо я заблаговременно создал образ диска на 3Гб и указал его эмулятору при запуске в качестве первого "жёсткого диска".


Установка на диск
Выбираем в меню System пункт "Install" и ждём. Ждём. Ждём... целую вечность - минут 5, не меньше. И вот, инсталлятор запустился-таки.

Приветствие, шесть шагов... Подождите, это мы где-то уже видели, кажется? Ба, да это же один в один передранный инсталлятор из Убунты, с той лишь разницей, что вместо Ubuntu написано Ulteo.
Не буду описывать процесс установки - отличий от Убунты ни малейших (это в революционном-то дистрибутиве...)
Установка заняла 28 минут на моём P4 630 3Ghz с активированным HyperThreading и 2Гб памяти под эмулятором QEMU v0.7.2 с ускоряющим kqemu. Системе было выделено 400Мб памяти.

Правда, после нажатия на "Перезагрузка" на секунду показался в текстовом режиме предупреждение, что система будет остановлена. Для новичка это может послужить поводом приложиться к корвалолу.


Работа установленной системы
Установилось, запускаем. Нас приветствует окно логина - пишем, входим в систему. Всё то же самое, только появилось на десктопе несколько значков. И в меню System так и оставался пункт Install, хотя теперь он выглядит несколько странно.
И всё-таки, сколько я не искал, так и не нашёл, как здесь, в "революционном" дистрибутиве, ставить новые программы. Попытался найти здесь xterm, но его не оказалось. Ах да, есть konsole! А из "дружественных" (ненавижу это слово) инструментов установки нового софта есть старый-добрый

$ sudo apt-get update

Всё-таки хотелось бы, чтобы установка софта происходила как-нибудь попроще, а то новички таких выкрутасов могут не осилить - это всё-таки не Дебиан в чистом виде. Во всяком случае, Ulteo это тщательно скрывает.

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

Я, конечно, понимаю, что немного идиотизма не повредит, но кто-нибудь это воспримет не так, как задумывали разработчики.

Другой концептуальный момент был выловлен при попытке нажать ALT+TAB тогда, когда ни одного окна отрыто не было. Идеологически выдержанный ответ системы:

Да, такого я ещё не видел. Может, это не все смешные детали дистрибутива?

Ну и где там революция-то!?
Скажу сразу: я ничего не имею ни против товарища Дюваля, ни против его начинаний. Но с революциями вышла неувязочка: то ли я не углядел, то ли её тщательно замаскировали.

Давайте вернёмся к первоисточнику - LinuxFormat за декабрь 2006. Одна из целей этого велосипеда дистрибутива является, цитирую "предоставить работающий и легко устанавливаемый дистрибутив Linux людям, которые не хотят тратить много времени на установку и настройку своей системы".

Если так, г-н Дюваль, то вы чуть-чуть опоздали, и это будет заметно ещё отчётливее, если вы зайдёте на distrowatch.com и поднимете свои глаза на первую строчку популярности дистрибутивов. Ulteo вы там не увидите, как ни странно, ни сейчас, ни в обозримом будущем.

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

Веб-ориентированность дистрибутива? "Доступ к своим данным по веб из любой точки мира"? Красивые слова, мечтания - а между тем на www.ulteo.org запустение, только один скриншот, пара не шибко быстрых зеркал для загрузки и куцые описания...

В общем, мьсё Дювалю хорошо бы спуститься на землю с небес и для начала хотя бы помочь проекту Debian или Ubuntu вместо изобретения очередного велосипеда с квадратными колёсами.


Ссылки
Все подчёркнутые цитаты в тексте взяты из журнала LinuxFormat за декабрь 2006 года из статьи "Ulteo, новая надежда" Грэма Моррисона. На официальном сайте всё законспирировано, поэтому больше ориентировался на результаты установки в эмуляторе.
Читать далее