Настройка веб-камеры Logitech QuickCam Messenger в Linux



42 коммент.
Давно хотел приобрести подобное устройство (webcam), но было лень и не доходили руки. Пока мой давний друг не подарил мне сие чудо на день рожденья. О том, как с полпинка настроить веб камеру в Linux, будет говориться здесь.

Подготовка
Несколько предварительных замечаний - если вы не собирали сами, можно пропустить эту часть.
Нужно учесть, что видеокамера в Linux - такое же точно видеоустройство, как и TV-Tuner. Поэтому все замечания о настройке TV-Tuner в силе. Если у вас дистрибутивное ядро - там всё уже включено, а для любителей самосборных ядер нужно включить:
  • v4l и все его протоколы (само v4l монолитом, протоколы - модулями)
  • i2c и его протоколы (так же, фактически как при установке ТВ-тюнеров)
Если это в ядре есть, дальнейшее не составит проблем.


Установка
На коробке пишут: установка проста, как раз-два-три. В общем, у меня так и получилось:

1. Устанавливаем программное обеспечение.
Запускаем с балкона два прилагающихся диска и вместо этого ставим из репозитория:
sudo aptitude install gspca-source camorama
В каталоге /usr/src появится архив с исходниками gspca-source.tar.bz2 - распаковываем его прямо там. После этого переходим в каталог /usr/src/modules/gspca и там выполняем команду:
make
Модуль должен собраться без ошибок. Далее пишем:
sudo make install
Это установит наш модуль в каталог к другим модулям ядра. На всякий случай, можно после этого написать:
sudo depmod -a
Всё, время загрузить модуль ядра для вебкамеры:
sudo modprobe gspca
Теперь всё готово. Врубаем камеру и запускаем софт.


2. Подключаем камеру
Подключаем USBшный штекер камеры, она мигнёт зелёным светодиодом. На всякий случай смотрим выводы dmesg, появится что-то вроде:

usb 4-1: new full speed USB device using uhci_hcd and address 6
usb 4-1: configuration #1 chosen from 1 choice
/usr/src/modules/gspca/gspca_core.c: USB SPCA5XX camera found.(ZC3XX)
/usr/src/modules/gspca/gspca_core.c: [spca5xx_probe:3887] Camera type JPEG
/usr/src/modules/gspca/Vimicro/zc3xx.h: [zc3xx_config:515] Sensor ID:7
/usr/src/modules/gspca/Vimicro/zc3xx.h: [zc3xx_config:597] Find Sensor HV7131R(c)
/usr/src/modules/gspca/gspca_core.c: [spca5xx_getcapability:1165] maxw 640 maxh 480 minw 176 minh 144
usbcore: registered new interface driver gspca
/usr/src/modules/gspca/gspca_core.c: gspca driver 01.00.04 registered

Диагностические выводы показывают, что чип опознан. Теперь должен появиться файл устройства /dev/video0 - это и есть наша вебкамера. После этого запускаем программу по работе с камерами (её мы устанановили на предыдущем шаге):
$ camorama
Если всё было сделано верно, вы увидите видеоизображение в окошке программы и простой интерфейс управления изображением (яркость\контраст, насыщенность, фильтры и прочее). Вот что увидел я:


3. Общаемся
Свежеподключённое устройство теперь можно использовать в Wengophone для видеоконференций с друзьями и коллегами. Надо сказать, что процессор грузит обработка изображений с видеокамеры очень слабо, не более 4-5% (во всяком случае у меня на ноутбуке).

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


Итоги
Несмотря на то, что на коробке говорится только об Единственой На Планете Земля Операционной Системе, Logitech QuickCam Messenger отлично работает и в Линукс - и настраивается за те же три шага. Минус сотни мегабайт бесполезного проприетарного мусора.

В процессе настройки я пользовался вот этим замечательным и кратким руководством, так как у меня самосборное ядро. У тех, кто пользуется дистрибутивным, может быть полезно вот это руководство. Это руководство проверялось в следующих условиях: ядро 2.6.22, компилятор gcc 3.4, Debian GNU/Linux Etch v4.0, gspca-source 01.00.04-2.
Читать далее

Живой Линукс своими руками, Эпизод 2: Варианты загрузки



1 коммент.
Сделанный вами живой дистрибутив LiveUSB, о котором говорилось тут, может многое - можно указывать опции при загрузке и получить много интересного.

Возможность загрузчика Linux запускать ядро с определёнными параметрами - это, конечно, очень приятный плюс. Живой дистрибутив, созданный live-scripts, может получать опции при загрузке, для чего нужно нажать TAB в самом начале (когда видна таблица загрузчика). После этого через пробел вписывать параметры. Ниже о некоторых наиболее интересных я напишу.


Монтирование разделов
Есть случаи, когда монтировать разделы не надо и вообще не нужно иметь дела с дисками. Например, при проверке железа. По умолчанию созданный дистрибутив монтирует все файловые системы, до которых только доберётся. Поэтому при загрузке стоит указать соответствующие параметры:
  • nocd --- не загружать поддержку CDROM-устройств,
  • nohd --- не загружать поддержку винчестеров,
  • noauto --- не монтировать найденные файловые системы автоматически.

Копирование в оперативную память
Очень нужная функция, особенно если вы хотите создавать живой дистрибутив для спасательно-восстановительных целей. Например, после того, как образ будет скопирован в память, можно вынимать компакт-диск из привода - это позволит записывать данные на CD\DVD-R\RW, если такие утилиты включены в состав дистрибутива.
Для этого следует передать параметр при загрузке:
  • toram или copy2ram --- это скопирует дистрибутив полностью в оперативную память и выдвинет лоток с диском.
Естественно, объём оперативной памяти должен позволять это сделать. Далее работа с дистрибутивом ничем не отличается от обычной - только происходит быстрее, так как чтение с компакт-диска для этого не требуется.

Загрузочная флешка со Slax
Однажды мне потребовалось по-быстрому сделать флешку загрузочной и поставить туда LiveUSB дистрибутив SLAX. Кратко приведу здесь основные шаги.

Сначала скачиваем SLAX отсюда. Размечаем пространство на флешке и форматируем раздел под файловую систему FAT. Скачанные tar-архив распаковываем и копируем на флешку каталоги boot и slax.
Теперь делаем флешку загружаемой (у меня с загрузчиком lilo получилось только с FAT):

When Slax is unpacked to your device, it will create '/boot/' and '/slax/' directories there. Only one more step is needed to make Slax boot from your USB device or disk: you have to manually navigate to the newly created /boot/ directory and run bootinst.sh script (if you are in Linux) or bootinst.bat script (if you are in Windows).

The method mentioned above will simply install syslinux bootloader to your device's MBR (master boot record). Syslinux works only on FAT filesystem (which is widely used on most USB
flash keys, Cameras and MP3 players). If your device or disk is formated using a different filesystem (it is strongly recommended to use a native Linux filesystem like XFS), you will have to use 'liloinst.sh' script instead.
Currently, liloinst doesn't provide the same nice boot menu like syslinux, but this will be implemented soon.

После этого флешка становится загружаемой.
Читать далее

Обзор средств эмуляции: эмулятор Linux в Windows и наоборот



38 коммент.
Проблема: Как известно, не все программы под windows имеют свои аналоги в Linux, и часто эти программы бывают очень нужны. Требуется запуск прог Windows в Linux.
Решение: Есть класс программ, позволяющих запускать программы других операционных систем (не обязательно Windows) в Linux и других UNIX-системах. Это эмуляторы - такие программы, которые позволяют, грубо говоря, эмулировать Linux в Windows или наоборот. Среди них следует выделить наиболее часто применяемые.


1. WINE

opensource, GPL.
Wine Is Not a (CPU) Emulator
это прослойка, которая транслирует Win32API в POSIX API, то есть свободная реализация Windows API, которая позволяет запускать программы Windows, переводя вызовы программы под Windows в вызовы Linux. Это позволяет выполнять программы почти на полной скорости. Однако из-за того, что продукты Microsoft являются закрытыми, невозможно точно воспроизвести структуру их API, что приводит к разного рода сбоям и странностям при выполнении Windows-программ в WINE. Положительным моментом является то, что вам не нужно ставить Windows - только WINE и программу.
Плюсы: достаточно быстрая работа на реальных ресурсах машины, работа с реальными каталогами и файлами, нет необходимости в установке Windows.
Минусы: не все приложения поддерживаются и работают не всегда стабильно.
Ссылки:
http://www.winehq.org
http://gazette.linux.ru.net/team/a_kuprin.html
http://linuxshop.ru/linuxbegin/print633.html

1.1 CodeWavers CrossOver Office
closedsource.
Основанный на WINE коммерческий продукт, отличающийся лучшим исполнением особенно важных Windows приложений, таких как Adobe Photoshop, Microsoft Office, Autodesk AutoCAD и некоторых других. В общем, более стабильная, хотя и не самая свежая версия WINE, с графическим установщиком, который предоставит вам удобный и простой интерфейс для настройки.
Ссылки: http://www.codeweavers.com

1.2 TransGaming Technologies WineX / Cedega
proprietary, но есть возможность скачать исходники.
Так же основанный на WINE, но имеющий одно очень существенное, особенно для геймеров, усовершенствование - он содержит в себе улучшенную, вдобавок, полную (в плане совместимости) поддержку интерфейса Direct3D.
Ссылки: http://www.transgaming.com



2. DOSEMU
opensource, GPL.
dosemu - эмулятор DOS для запуска старых приложений, часто используется для бухгалтерских и прочих весьма специфичных нужд. Многие программы под DOS использовали его "особенности" и баги для работы, которых в dosemu может не оказаться.
Плюсы: быстрый запуск и работа устаревших, но нужных программ DOS (бухгалтерских, например), не требователен к ресурсам.
Минусы: нетривиальная установка, не все программы будут работать.
Ссылки: www.dosemu.org




3. Win4Lin
closedsource.
В файл, который для
Windows будет диском, ставится полноценная копия Windows и потом туда ставятся нужные приложения. Старая версия Win4Lin позволяла запускать Windows 95 с очень приличной скоростью и работать с приложениями для этих систем в виндовс, однако для этого требуются патчи на ядро. Патчи есть далеко не для всех версий ядер, и для определённых версий Win4Lin патчи были свои - нужно было угадывать.
Win4lin PRO не требует патча, позволяет запускать
Windows 2000/XP, но работает медленно и при этом подгружает служебные программы для "ускорения". Есть подозрения, что в этом эмуляторе используются наработки автора QEMU и особенно его ускоряющего модуля. Особенностью этого эмулятора является то, что есть возможность работать с реальными каталогами Linux.
Плюсы: возможность запуска
Windows.
Минусы: проблемы с накладыванием патчей на ядро (закрытых и возможно небезопасных), либо очень низкая скорость запуска
Windows, необходимость устанавливать Windows, невозможность эмуляции других ОС.
Ссылки:
http://www.win4lin.com/
http://www.netraverse.com/
http://sys.net.ru/docs/win4lin/Win4Lin6/
http://sys.net.ru/docs/win4lin/win4lin2debian



4. Виртуальные машины
Имитируют весь компьютер целиком вместе с жёстким диском (в виде файла), CD-ROM и USB (всё это связано с железом настоящего компьютера). Установленная туда ОС будет работать с реальным железом только через эмулированное. Виртуальные машины это как раз то, что обычно называют "эмулятор Linux" или "Эмулятор Windows" - с помощью виртуальных машин вы действительно сможете эмулировать Linux или Windows.

4.1 QEMU
opensource, GPL.
QEMU - виртуальная машина. В QEMU можно поставить почти любую ОС - любой
Windows (начиная с Windows95 до WindowsXP включительно), любой дистрибутив Linux или FreeBSD, BeOS/Haiku, ReactOS, Syllable и проч. Для быстрой работы нужен kqemu - ускоряющий модуль (так же под GPL), который имеется на сайте автора. Для этого потребуются заголовки ядра - в основном, чтобы собрать ускоряющий модуль kqemu, с которым замедление работы гостевой ОС составит до 1.5 раза (вместо 5-10 раз без модуля). Этот эмулятор использует наработки другого проекта, BOCHS. Так же позволяет создавать виртуальные машины собственной утилитой qemu-img. Работа с эмулятором (вызов, задание параметров) происходят в консольном режиме, но есть и графические оболочки.
Плюсы: хорошая скорость работы (с kqemu) гостевой ОС, стабильность, широкие возможности (эмуляция нескольких платформ, одновременный запуск множества систем, точность эмуляции), защищённая среда.
Минусы: несколько меньшая скорость эмуляции, чем VMware, консольный интерфейс (хотя есть графические оболочки типа Qemulator).
Ссылки:
форум о QEMU
www.qemu.org
Установка в Дебиан (на английском)


4.2 BOCHS
opensource, GPL.
BOCHS - виртуальная машина, точный эмулятор x86 платформы. Имеет свой BIOS, VGABIOS и прочее, что и используется QEMU. Очень точный, но очень медленный, применяется в основном разработчиками, где нужна уверенность, что это сбой в программе, а не эмулятора.
Плюсы: полная точная эмуляция x86, возможность установки в него практически любой ОС, лёгкая и простая установка в Debian.
Минусы: очень низкая скорость работы гостевой ОС.
Ссылки:
www.bochs.org


4.3 VMWare
closedsource.
VMWare - как и QEMU, виртуальная машина. Обладает более высокой скоростью эмуляции, поддерживает большее число ОС. Кроме того, установка VMWare на Дебиан нетривиальна, хотя имеются deb-пакеты в неофициальных репозиториях; требуется компиляция закрытых ускоряющих модулей с заголовками ядра. Есть сообщения, что у VMWare имеются проблемы с полноэкранным режимом. По требовательности к ресурсам мало отличается от QEMU, потребляя много оперативной памяти и процессорного времени. Возможности те же: безопасная среда для эмуляции гостевых ОС. Плюс графический интерфейс для создания виртуальных машин.
Плюсы: более быстрая эмуляция гостевых ОС, есть графический интерфейс для создания виртуальных машин.
Минусы: закрытые проприетарные модули потенциально могут вывести хост-ОС из стабильного состояния.
Ссылки:
http://www.vmware.com/
http://www.nixp.ru/news/6914
http://software.newsforge.com/print.pl?sid=05/04/27/186203
VmWare in Ubuntu


4.4 VirtualBox
opensource, GPL.
VirtualBox - так же виртуальная машина x86, основана на наработках QEMU. Отличается простым графическим интерфейсом и весьма высокой скоростью эмуляции (часто быстрее QEMU) и поддержкой периферии (USB, сеть, FireWire). Точность эмуляции ниже, чем у QEMU (невозможно запускать многие ОС, например BeOS/Haiku, MenuetOS, Syllable).
Есть guest additions, которые позволяют очень нужные вещи, а именно копи-паст с хост-системы в гостевую (clipboard sharing) и незаметный захват мыши.
Плюсы: простая установка и настройка, возможно расширение функционала плагинами, широкая поддержка периферии, в ряде случаев быстрее QEMU.
Минусы: при интенсивном использовании графический интерфейс мешает, точность эмуляции менее распространённых ОС не высока.
Ссылки:
http://www.virtualbox.org/
Работа и впечатления


4.4 KVM - Kernel-based Virtual Machine
opensource, GPL.
KVM - это решение полной виртуализации, хотя сам по себе это модуль ядра Linux. Для работы требуется модифицированная версия QEMU. Для работы требуется поддержка виртуализации процессором.
Плюсы: модуль ускорителя в ядре, простая установка.
Минусы: требуется поддержка виртуализации процессором.
Ссылки:
http://kvm.qumranet.com/kvmwiki
http://inf.by/linux/211/


5. Гипервизоры
opensource, GPL.
XEN - гипервизор, позволяет запускать гостевую ОС как процесс ядра в хост-системе. Отличается очень низкими накладными расходами (от 2 до 8% потери производительности гостевой ОС), защитой хост-ОС, а так же использованием технологий виртуализации современных процессоров. Однако для того, чтобы использовать его возможности, требуется патч на ядро не только хост-ОС, но и гостевой ОС, что делает запуск проприетарных систем внутри очень непростым делом.
Плюсы: потенциально наибольшая достижимая скорость работы гостевой ОС, ниже требования к ресурсам хост-ОС.
Минусы: весьма нетривиальная установка - требуется патч на ядро гостевой ОС.
Ссылки:
http://www.cl.cam.ac.uk/Research/SRG/netos/xen/
http://wiki.xensource.com/xenwiki/XenFaq
http://www.howtoforge.com/book/print/1169
http://xgu.ru/xen/manual/


6. Виртуализация на уровне операционной системы
opensource, GPL.
Open VZ это технология «лёгкой» виртуализации, позволяющая на одной аппаратной системе держать несколько различных версий Linux с одним ядром (поддерживающим ovz и содержащимся, как правило, на небольшом корне с ограниченным доступом по ssh и без других сервисов). В отличие от «тяжёлых» вариантов вроде Xen, Qemu или VMware, накладные расходы обычно составляют единицы процентов.
Ссылки:
Краткий доклад одного из авторов OpenVZ.
Читать далее

Русские буквы в EPS из gnuplot и LaTeX



23 коммент.
При использовании gnuplot и LaTeX под Linux могут возникнуть проблемы с переносом документов в альтернативные операционные системы. Но это всё решаемо.

Постановка проблемы
Первое: при построении графиков в gnuplot на экране и в dvi-файле они выглядят нормально, а при конвертации в PDF русские буквы на gnuplot-графике исчезают. Возникает вопрос: "как правильно в гнуплоте использовать кириллические шрифты?"

Второе: в документе LaTeX русские буквы отображаются нормально, однако при выделении и копировании текста из PDF-документа вставляется какой-то мусор. А нужно, чтобы из PDF, созданного LaTeX, можно было бы скопировать и вставить текст на русском.


Решение проблемы с русскими шрифтами в gnuplot
Возникает проблема, в частности, потому, что в PostScript файле часто пишется нечто вроде:

   /Helvetica findfont

что говорит принтеру (или просмотрщику) искать такой шрифт (Helvetica) в системе. Его может не оказаться, и поэтому вместо русских букв можно увидеть пустые места.

Решение сводится к тому, что gnuplot нужно заставить использовать Type1 шрифт, который гарантированно и корректно отображается и конвертируется в PostScript-файл. Это, например, может быть NimbusSanL, который ставится с OpenOffice.org. Этот шрифт имеет все варианты начертаний, так что хорошо будет смотреться в любых графиках.

Можно поэкспериментировать, поискав в системе все файлы с расширениями *.pfa и *.pfb и попробовать их в работе.

Теперь как подключить правильный кириллический шрифт к gnuplot. Для этого нужно все упоминания о шрифтах заменить на имя шрифта Type1. Например, пусть это будет шрифт NimbusSanL-Regu, который мы будем использовать везде в графике.

Для этого в заголовке следует добавить:
set terminal postscript 'NimbusSanL-Regu' eps enhanced solid
Если вы в подписях к осям используете шрифт другого размера, не забудьте добавить упоминание о новом шрифте и туда:
set xlabel "Величина экспозиции, отн.ед." font "NimbusSanL-Regu,18"
Всё, после этого ваши графики, созданные в гнуплоте, будут правильно переводиться в PDF и читаться на любых, даже самых альтернативных, системах.

Ссылки
На правильную идею натолкнула эта ссылка, хотя и на английском, а так же Анонимный комментарий здесь и вот этот текст.



Решение проблемы с копированием русского текста из LaTeX-документа
Это результат наших совместных поисков с уважаемым товарищем . Его вариант, прекрасно описанный тут, я на всякий случай продублирую сюда:
Подготовленные по шаблонам TeX документы выглядят очень красиво и профессионально с минимумом усилий на вёрстку за счёт разделения стиля и содержимого. Используется масса шрифтов и PDF-файл получается большим. Вопрос на $100. Единственный способ делать правильные PDF в TeX, который мне удалось освоить, заключается в использовании пакета cmap. А это автоматически означает что для создания PDF можно использовать только PDFLaTeX, но не dvitopdf. Это, в свою очередь, означает невозможность использования векторных рисунков в формате eps напрямую. Я нашел следующее решение...

В Debian cmap находится в пакете tetex-extra. Чтобы подключить cmap надо использовать в документе TeX заголовок следующего вида:

\RequirePackage{cmap}
\RequirePackage[cp1251]{inputenc}
\RequirePackage[TS1,T2A]{fontenc}
\RequirePackage[english,russian]{babel}

Причем именно в таком порядке: cmap первый. Иначе работать не будет!

Все. Теперь, если делать PDF с помощью PDFLaTeX, русский будет в порядке.

Это всё хорошо, но мне нужен драйвер dvipdf, который делает dvi-файл сначала - на этом работает критичный для меня способ перегона документов из LaTeX в ЗлоWord. А описанный выше способ с драйвером dvips не работает.

Мой вариант ответа на вопрос на $100 заключается в том, чтобы использовать шрифты из пакета scalable-cyrfonts-tex - Scalable Cyrillic fonts for TeX в Debian. Для этого они, естественно, были сразу же установлены. После этого в тело документа, сразу же после его начала, было вставлено вот это:
\begin{document}
\usefont{T2A}{ftm}{m}{sl}

После этого документ будет оформлен шрифтом Times New Roman, и это убивает сразу двух зайцев: русский текст можно копировать из документа в самых альтернативных системах, и документ оформлен именно Times, что имеет решающее значение в разного рода консервативных издательствах. В установленном пакете шрифтов много, о чём можно осведомиться в заботливо приложенном мейнтейнером пакета Readme-файле /usr/share/doc/scalable-cyrfonts-tex/README.Debian
This package makes the following font families available to TeX:

ftm -- Free Times
fhv -- Free Helvetian
fcr -- Free Courier
fag -- Free Avant Garde
fbk -- Free Bookman
fnc -- Free Schoollbook
fpl -- Free Paladin
fta -- Teams
fsj -- OldSlavic

For example you can change to the medium series slanted shape Teams font by the following command:

\usefont{T2A}{fta}{m}{sl}
Всё-таки порой читать мануалы к файлу весьма полезно для здоровья :-)
Кроме того, я использую dvipdfmx для перевода полученного dvi-файла в PDF. Полученный PDF отображается везде красиво и корректно, и из него можно выдрать текст. Оставшиеся aux и bbl-файлы требуется для перевода текста в ЗлоСистемы и ЗлоОфис при помощи команды:
latex2rtf -F -M12 -i russian -a file.aux -b file.bbl file.tex

Это ранее описывалось тут.
Читать далее

Настройка VPN в Linux с ZNet/Net-by-Net в Дебиан Линукс



16 коммент.
Не так давно пришлось заниматься настройкой VPN Linux в Debian GNU/Linux (хотя VPN в Ubuntu настраивается так же). Так как форум ZNet/Net-by-Net извне недоступен, выкладываю это здесь. Хотя настройка vpn под linux дело не хитрое, но был один секретный бубен, в который надо было стукнуть. Он таился в дебрях обсуждений на ixbt и был найден мной в процессе обдумывания сакраментального вопроса "что делать!?".

Поднимаем Интернет
Настройка VPN в Linux отдалённо напоминает настройку GPRS - копание в сторону ppp и связанных с ним утилит. Нужно установить пакеты pptp linux:
aptitude install pptp-linux
После этого создаём файл /etc/ppp/peers/Znet и правим его содержимое до следующего вида:
name мой_логин
remotename PPTP
pty "pptp vpn.znet --nolaunchpppd"
lock
noauth
mtu 1372
mru 1372
lcp-echo-failure 10
Заменяем мой_логин на нормальный логин и обращаем внимание на выделенные полужирным строки. Мне пришлось ради них ковыряться Аллах знает где на форумах iXBT - только после этого всё заработало (по умолчанию стоит 1378)!

Если оставить значение по умолчанию, будете получать такие матюги:

Jun 18 04:05:02 Resolventa pppd[3450]: sent [LCP ConfReq id=0x1 ]
Jun 18 04:05:02 Resolventa pptp[3456]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 7 'Outgoing-Call-Request'
Jun 18 04:05:02 Resolventa pptp[3456]: anon log[ctrlp_disp:pptp_ctrl.c:857]: Received Outgoing Call Reply.
Jun 18 04:05:02 Resolventa pptp[3456]: anon log[ctrlp_disp:pptp_ctrl.c:896]: Outgoing call established ta pppd[3450]: rcvd [LCP ConfReq id=0x1 ]
Jun 18 04:05:02 Resolventa pppd[3450]: sent [LCP ConfAck id=0x1 ]
Jun 18 04:05:02 Resolventa pppd[3450]: rcvd [LCP ConfRej id=0x1 ]
Jun 18 04:05:02 Resolventa pppd[3450]: sent [LCP ConfReq id=0x2 ]
Jun 18 04:05:02 Resolventa pppd[3450]: rcvd [LCP ConfAck id=0x2 ]
Jun 18 04:05:02 Resolventa pppd[3450]: sent [LCP EchoReq id=0x0 magic=0x93be06c8]
Jun 18 04:05:02 Resolventa pppd[3450]: rcvd [LCP EchoReq id=0x0 magic=0x2244c55a]
Jun 18 04:05:02 Resolventa pppd[3450]: sent [LCP EchoRep id=0x0 magic=0x93be06c8]
Jun 18 04:05:02 Resolventa pppd[3450]: rcvd [CHAP Challenge id=0xa4 , name = "vpn1"]
Jun 18 04:05:02 Resolventa pppd[3450]: sent [CHAP Response id=0xa4 <0a52e6cd7d20afcd0c1861afbffae990>, name = "MZR9Kexm"]
Jun 18 04:05:02 Resolventa pppd[3450]: rcvd [LCP EchoRep id=0x0 magic=0x2244c55a]
Jun 18 04:05:02 Resolventa pppd[3450]: rcvd [CHAP Success id=0xa4 ""]
Jun 18 04:05:02 Resolventa pppd[3450]: CHAP authentication succeeded
Jun 18 04:05:02 Resolventa pppd[3450]: CHAP authentication succeeded
Jun 18 04:05:02 Resolventa pppd[3450]: sent [IPCP ConfReq id=0x1 ]
Jun 18 04:05:02 Resolventa pppd[3450]: rcvd [IPCP ConfReq id=0x1 ]
Jun 18 04:05:02 Resolventa pppd[3450]: sent [IPCP ConfAck id=0x1 ]
Jun 18 04:05:02 Resolventa pppd[3450]: rcvd [IPCP ConfRej id=0x1 ]
Jun 18 04:05:02 Resolventa pppd[3450]: sent [IPCP ConfReq id=0x2 ]
Jun 18 04:05:02 Resolventa pppd[3450]: rcvd [IPCP ConfNak id=0x2 ]
Jun 18 04:05:02 Resolventa pppd[3450]: sent [IPCP ConfReq id=0x3 ]
Jun 18 04:05:02 Resolventa pppd[3450]: rcvd [IPCP ConfAck id=0x3 ]
Jun 18 04:05:02 Resolventa pppd[3450]: Cannot determine ethernet address for proxy ARP
Jun 18 04:05:02 Resolventa pppd[3450]: local IP address 10.10.252.102
Jun 18 04:05:02 Resolventa pppd[3450]: remote IP address 10.10.0.20
Jun 18 04:05:02 Resolventa pppd[3450]: Script /etc/ppp/ip-up started (pid 3457)
Jun 18 04:05:02 Resolventa pppd[3450]: Script /etc/ppp/ip-up finished (pid 3457), status = 0x0

Далее редактируете файл /etc/ppp/chap-secrets, вписав в него следущие строки:
# Secrets for authentication using CHAP
# client server secret IP addresses

мой_логин мой_пароль
Разделитель - пробел. Настройка сетевого интерфейса - присваиваем своей сетевой карте выданный провайдером IP-адрес в файле /etc/network/interfaces:
# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.ХХХ.ХХХ
netmask 255.255.255.0
gateway 192.168.ХХХ.1

Вместо ХХХ подставляем числа из договора. Теперь прописываем адреса DNS-серверов в /etc/resolv.conf (если его нет - создаём от рута touch /etc/resolv.conf):
nameserver 192.168.0.8
nameserver 192.168.0.9
Это ещё не всё: нужно прописать роутинги. Вот она, тайна Золотого Ключика:
ip r add 192.168.0.0/16 via 192.168.XX.1
ip r del default
ip r add default dev ppp0
Вместо ХХ подставить число, которое вы найдёте в договоре. После этого таблица роутинга должна выглядеть примерно так:

# route

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.0.20 * 255.255.255.255 UH 0 0 0 ppp0
192.168.157.0 * 255.255.255.0 U 0 0 0 eth0
192.168.0.0 gw-1-157.znet 255.255.0.0 UG 0 0 0 eth0
default * 0.0.0.0 U 0 0 0 ppp0
default gw-1-157.znet 0.0.0.0 UG 0 0 0 eth0

Готово - соединяемся с провайдером:
pppd call Znet
После этого всё должно работать.

Ссылки:

К сожалению, внутренний форум Znet
/Net-by-Net не доступен извне, но раздел Linux там есть и местные аксакалы отвечают быстро и очень грамотно. За что им огромное спасибо.
Читать далее

Обживая Nokia N800...



37 коммент.
Приложений по умолчанию в N800 очень мало: броузер, xpdf, установщик приложений и сильно урезанный просмотрщик видео\аудио без поддержки mp3. Конечно, этого мало - это восполняется портированными приложениями из многочисленных репозиториев. После некоторых усилий, можно выстроить весьма навороченную систему.


Набор консольного джигита
Самурай без коня и меча - не самурай вообще
(с) Хагакуре
Какой же это Дебиан, если в нём нет консоли? Естественно, сразу идём сюда и ставим xterm и gainroot. После этого нужно установить пароль для рута - он обязательно потребуется. Запускаем xterm и пишем:
sudo gainroot
После чего:
passwd
Главное этот пароль не забыть - а то потом будут проблемы с подключением по ssh.

Сразу скажу: чем больше репозиториев вы добавите, тем меньше проблем с зависимостями и больше софта можно поставить. Просто замечательная коллекция репозиториев есть здесь.



Работаем дальше - доводим до ума свежую таблетку нормальными консольными возможностями. Это очень полезно, если есть какая-нибудь упрямая программа, не желающая освобождать ресурсы. Команды ps и kill вам быстро помогут с ней расправиться. Ну и копировать что-то часто проще командой, а не тырканьем в не самый удобный файловый менеджер. В общем, всё как всегда - перед вами натуральный Дебиан, в чём он быстро сознаётся:
BusyBox v1.1.3 (Debian 3:1.1.3-3.osso17)
Built-in shell (ash) Enter 'help' for a list of built-in commands.
и на команды отзывается (не забываем, что нажатие на экранную TAB работает ожидаемо - автодополнение в силе):
# uname -a
Linux Nokia-N800-10 2.6.18-omap1 #2 Wed Mar 7 15:36:09 EET 2007 armv6l unknown
Отлично, но этого мало. Лично я сразу же поставил себе Midnight Commander, к которому так привык. Выглядит на мелком экране с клавиатурой немного коряво, зато работает прекрасно и душу греет:


Работать в консоли с экранной клавиатуры - дело не самое лучшее, и кроме того, хочется управлять планшеткой удалённо. Ставим SSH - да, не только клиент, но и сервер. Это пакеты openssh-client и openssh-server.

У меня был странный глюк: пакет openssh-server при установке поставился не до конца, судя по прогресс-бару. То есть он дошёл до конца и замер. Никаких изменений в течении минут 10 - и я решил перезагрузить таблетку. Всё загрузилось нормально и ssh-server работает.
Если беспроводная сеть у вас настроена и есть другая машина с WiFi - сейчас мы на планшетку зайдём. Пароль рута ещё не забыли на N800, который ставили? Тогда подключаемся:

# ssh root@10.106.146.2
root@10.106.146.2's password:
Warning: No xauth data; using fake authentication data for X11 forwarding.


BusyBox v1.1.3 (Debian 3:1.1.3-3.osso17) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

Nokia-N800-10:~#

Вот вы и рут на таблетке. Можно запустить MC (если он установлен) и прогуляться по каталогам. Их содержимое несколько отличается от десктопного варианта: сильно сокращён /proc, пустой /boot и так далее.

Кстати, обратный вариант тоже действует - можно с планшетки управлять своим десктопом. Жаль, нет FUSE в том ядре, а то подмонтировать кусок файловой системы с десктопа через SSHFS было бы неплохо.


Работа с документами
Портированных приложений хватит для работы с текстом.

Создание и редактирование текстов
Дальше можно поставить ViM в качестве основного текстового редактора. Emacs портированным пока не видел.

docreader
Можно поставить antiword отсюда и docreader из репозитория maemo. Докридер без антиворда работать не будет, но его в зависимостях почему-то не тянет. Пришлось искать и скачивать отдельно.
Интерфейс docreader минималистичен: открыть и сохранить вордовый документ. Но с задачей своей справляется - текст документа просмотреть можно.

abiword и gnumeric
Сладкая парочка из GNOME Office портирована сюда и работает хорошо. GNUmeric - лучше, abiword - хуже. Абиворд пока страдает падучей болезнью, но работает намного лучше докридера - открывает тексты с форматированием, рисунками и даже исправлениями.
С кириллицей дружит, главное, чтобы не было в документе экзотических шрифтов, чем любят развлекаться пользователи альтернативных ОС. О стабильности абиворда свидетельствует тот факт, что при попытке сделать скриншот пытается сожрать все ресурсы и в конце концов его приходится вырубать.

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

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

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


Чтение книг
Здесь всё довольно просто - есть Evince для чтения PDF и DjVu, есть FBreader для чтения книжек и SDict в качестве очень приличного словаря.

PDF и DjVu
Шатный xpdf - приложение, конечно, лаконичное, но уж больно медленное. Поэтому сразу ставим нормальный Evince. Здесь советуют сразу поставить:
Список пакетов для установки:
Evince 0.9, для DjVu: libdjvulibre,
Сначала стоит поставить библиотеку для DjVU, а потом сам Evince. После этого можно читать разные pdf-ки и djvu-шки в полноэкранном режиме.

Сначала может притормаживать и текст может быть весь в пикселях - я так понял, используется двухпроходное масштабирование. После этого текст и картинки будут чёткие и удобные для чтения. Могут сильно притормаживать при открытии PDF-документы, созданные в LaTeX. Но зато потом они будут смотреться изумительно.
Вот это то, что мне действительно нравится в N800 - можно комфортно и нормально читать PDF и DjVu документы и книги. И этого так не хватало в пальме.

SDict

Вот здесь вышел по началу небольшой тупик. На самом деле, нужно ставить просмотрщик для словарей, а не сам StarDict. То ли я не понял, то ли ссылки вели не туда... В общем, ищем Sdict Viewer и ставим его.
После этого заходим на http://sdict.ru/ и скачиваем нужные словари. Закидываем их в один из каталогов:
/media/mmc1/stardict/dic/
/media/mmc2/stardict/dic/
~/stardict/dic/
Лучше кидать на карточку, так как словари очень большие (десятки мегабайт).
Если всё было сделано правильно, получаем очень хорошие словари в кармане:

Словарные статьи написаны очень прилично, есть транскрипция и словарные примеры.

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




Мультимедиа
Здесь всё ещё проще: приложений немного, и почти все они хорошо знакомы. В качестве видеоплеера использую свой любимый с десктопа Mplayer.

Музыку играет Kagu Media Player. У него весьма замороченный интерфейс, хотя после пятой рюмкипривычки можно понять, как в этом лабиринте, скажем, переместиться в середину трека. К попытке снять скриншот он отнёсся крайне негативно.

Изображения просматривает небольшая, но грамотно сделанная утилита Mirage. Простой интерфейс и приятное исполнение.

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

На всякий случай, для голосовых звонков поставил себе Gizmo, в котором у меня уже есть учётная запись. Skype не пользуюсь по соображениям безопасности - я не доверяю программе, которая ворует данные пользователя.


Специализированный софт - математика

Конечно, получить Линукс в кармане и не воспользоваться всей мощью его репозитория - не по мне. Чтобы иметь возможность в пути что-то поправить или посчитать, поставил среду численных расчётов GNU/Octave (аналог MATLAB). Ну что, Фурье-преобразование оно считает, матрицы обрабатывает - можно работать. Правда, обсчитывать изображения, с которыми я работаю, на планшетке слишком жестоко - 3800х2500 она может и не потянуть.


Но всё равно, иметь возможность что-то проверить в программе или запустить счёт на маленькой картинке в кармане - это очень даже привлекательно. Нужно будет прикрутить к ViM подсветку синтаксиса, и вперёд.

Кроме того, я поставил утилиту для построения графиков GNUplot, которой пользуюсь для построения графиков, а так же maemoTeX, который есть порт LaTeX под n770/n800.

Так же был поставлен калькулятор, имитирующий HP 42C. Довольно мощная вещь, осталось только с его интерфейсом разобраться. Пока роль калькулятора выполняет Octave.

Так что по части инженерных приложений в репозиториях полный порядок.

Резюме
Cофта после недолгого подбора вполне достаточно, и его возможностей хватает, чтобы перекрыть всё, что я делал раньше на Пальме. Пальм, естественно, никуда не делся и активно используется - PIM-приложения на n800 откровенно слабые. Но в остальном софта много, и самое главное - не надо рыться в гугле в поисках кряков и взломов. Всё есть в репозитории, готовое для употребления :-)
Читать далее

Простое шифрование WiFi соединения для Nokia N800



2 коммент.
Незащищённое беспроводное соедение по WiFi да ещё с выходом в Интернет допустимо только в глухой тайге. Хотя бы минимальное шифрование должно присутствовать - и N800 его поддерживает. Настраивается оно очень просто.

Да, WEP-алгоритм известен своей ненадёжностью и подверженностью взлому. И тем не менее, лучше что-то, чем совсем ничего.


На стороне десктопа с WiFi
Нужно создать ключ шифрования, лучше это сделать так, как советуют тут:
dd if=/dev/random bs=1 count=5 2>/dev/null | xxd -ps
Получаем что-то вроде
c276246d65
Теперь это наш WEP-ключ. Осталось сообщить его карте
iwconfig eth3 key c276246d65 mode Ad-Hoc channel 1 essid virens
Где essid нужно поправить под свой случай. Чтобы не набирать его каждый раз, полезно сделать скрипт типа:
#! /bin/sh
iwconfig eth3 key
c276246d65 mode Ad-Hoc channel 1 essid virens
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING --out-interface eth1 -j MASQUERADE

Остальное из поста про простую сеть в силе.

Так же можно добавить ключ в /etc/network/interfaces:

# File: /etc/network/interfaces
#

# The primary network interface
auto eth1
iface eth1 inet static
address 192.168.1.100
netmask 255.255.255.0
wireless-key c276246d65
wireless-essid virens
Перезапускаем сетевую подсистему:
# /etc/init.d/networking restart
И видим при запросе sudo iwconfig:

eth3      IEEE 802.11g  ESSID:"virens"
          Mode:Ad-Hoc  Frequency:2.412 GHz  Cell: 02:15:00:52:15:B7
          Bit Rate:54 Mb/s   Tx-Power=20 dBm   Sensitivity=8/0
          Retry limit:7   RTS thr:off   Fragment thr:off
          Encryption key:c276-246d-65   Security mode:open
          Power Management:off
          Link Quality=67/100  Signal level=-60 dBm  Noise level=-85 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0



На стороне N800
В настройка соединения указываем "Метод безопасности" WEP и вводим полученный на десктопе ключ. Всё, после этого подключение производится по защищённому и зашифрованному соединению.

Конечно, если в ваших краях разгуливают злобные граждане с ноутбуками и соответствующими утилитами, то WEP-ключ не долго продержится, но это лучше, чем просто открытая точка.
Читать далее