EXIF теги в Linux: зачем нужен EXIF



7 коммент.
В различных форматах графических файлов возможность хранить дополнительные сведения, например, время выдержки, значение диафрагмы, время или ещё что-нибудь. Это обеспечивает формат EXIF (Exchangeable Image File Format). В Linux для работы с EXIF данными есть такой мощный пакет утилит, как exiftools, всю полезность которого автор этих строк испытал на себе. Вот, например, потребовалось вам сохранить какие-то пометки о том, где сделан этот снимок - тут-то вам exiftools и пригодится.


Например, выдираем теги из RAW-файла на примере цифровой камеры Canon EOS 400D
exiftool IMG_0383.CR2 :
beast@notebeast:~$ exiftool IMG_0383.CR2
ExifTool Version Number : 6.57
File Name : IMG_0383.CR2
File Size : 8 MB
File Modification Date/Time : 2008:10:22 12:48:10
File Type : CR2
MIME Type : image/x-raw
Image Width : 1936
Image Height : 1288
Bits Per Sample : 8 8 8
Compression : JPEG (old-style)
Make : Canon
Camera Model Name : Canon EOS 400D DIGITAL
Preview Image Start : 79450
Orientation : Horizontal (normal)
Preview Image Length : 68724
X Resolution : 72
Y Resolution : 72
Resolution Unit : inches
Modify Date : 2008:10:15 15:44:26
Exposure Time : 1
F Number : 6.3
Exposure Program : Manual
ISO : 100
Exif Version : 0221
Date/Time Original : 2008:10:15 15:44:26
Create Date : 2008:10:15 15:44:26
Components Configuration :
Shutter Speed Value : 1
Aperture Value : 6.3
Flash : Off
Focal Length : 55.0mm
Macro Mode : Normal
Self-timer : 0
Quality : RAW
Canon Flash Mode : Off
Continuous Drive : Single
Focus Mode : Manual Focus
Canon Image Size : Unknown (-1)
Easy Mode : Manual
Digital Zoom : None
Contrast : Normal
Saturation : Normal
Sharpness : +3
Metering Mode : Center-weighted averaging
Focus Range : Not Known
Canon Exposure Mode : Manual
Long Focal : 55
Short Focal : 18
Focal Units : 1
Max Aperture : 5.6
Min Aperture : 32
Flash Activity : 0
Flash Bits : (none)
Focus Continuous : Unknown (8)
Zoom Source Width : 0
Zoom Target Width : 0
Photo Effect : Off
Color Tone : Normal
Focal Type : Zoom
Focal Plane X Size : 23.04mm
Focal Plane Y Size : 15.37mm
Auto ISO : 100
Base ISO : 100
Measured EV : -6.12
Target Aperture : 6.3
Exposure Compensation : 0
White Balance : Auto
Slow Shutter : None
Shot Number In Continuous Burst : 0
Flash Guide Number : 0
Flash Exposure Compensation : 0
Auto Exposure Bracketing : Off
AEB Bracket Value : 0
Focus Distance Upper : 0.77
Focus Distance Lower : 1
Bulb Duration : 0
Camera Type : EOS Mid-range
Auto Rotate : None
ND Filter : Unknown (-1)
Self-timer 2 : 0
Canon Image Type : Canon EOS 400D DIGITAL
Canon Firmware Version : Firmware 1.0.4
Owner's Name : unknown
Camera Body No. : 0730325266
Set Button Cross Keys Func : Set: Picture Style
Long Exposure Noise Reduction : Off
Flash Sync Speed Av : Auto
Shutter-AE Lock : AF/AE lock
AF Assist Beam : Emits
Exposure Level Increments : 1/3 Stop
Mirror Lockup : Disable
E-TTL II : Evaluative
Shutter Curtain Sync : 1st-curtain sync
Magnified View : Image review and playback
LCD Display At Power On : Display
Canon Model ID : EOS Digital Rebel XTi / 400D / Kiss Digital X
Num AF Points : 9
Canon Image Width : 3888
Canon Image Height : 2592
Canon Image Width As Shot : 3504
Canon Image Height As Shot : 2336
AF Points Used : (none)
Serial Number Format : Format 2
Original Decision Data : 0
File Number : 128-0000
Bracket Mode : Off
Bracket Value : 0
Bracket Shot Number : 0
Noise Reduction : Off
WB Bracket Mode : Off
WB Bracket Value AB : 0
WB Bracket Value GM : 0
Filter Effect : None
Toning Effect : None
Lens Type : EF-S18-55mm f/3.5-5.6
Internal Serial Number : H0885505
Dust Removal Data : (Binary data 1024 bytes, use -b option to extract)
Tone Curve : Standard
Sharpness Frequency : n/a
Sensor Red Level : 0
Sensor Blue Level : 0
White Balance Red : 0
White Balance Blue : 0
Color Temperature : 5200
Picture Style : Standard
Digital Gain : 0
WB Shift AB : 0
WB Shift GM : 0
Sensor Width : 3948
Sensor Height : 2622
Sensor Left Border : 52
Sensor Top Border : 23
Sensor Right Border : 3939
Sensor Bottom Border : 2614
WB RGGB Levels As Shot : 2236 1024 1024 1507
Color Temp As Shot : 5211
WB RGGB Levels Auto : 2236 1024 1024 1507
Color Temp Auto : 5211
WB RGGB Levels Measured : 2236 1024 1024 1507
Color Temp Measured : 5211
WB RGGB Levels Daylight : 2236 1024 1024 1507
Color Temp Daylight : 5200
WB RGGB Levels Shade : 2615 1024 1024 1253
Color Temp Shade : 7000
WB RGGB Levels Cloudy : 2427 1024 1024 1367
Color Temp Cloudy : 6000
WB RGGB Levels Tungsten : 1589 1086 1086 2509
Color Temp Tungsten : 3200
WB RGGB Levels Fluorescent : 1889 1034 1034 2126
Color Temp Fluorescent : 3769
WB RGGB Levels Kelvin : 2236 1024 1024 1507
Color Temp Kelvin : 5211
WB RGGB Levels Flash : 2479 1024 1024 1339
Color Temp Flash : 6262
WB RGGB Levels PC1 : 512 1024 1024 512
Color Temp PC1 : 4255
WB RGGB Levels PC2 : 512 1024 1024 512
Color Temp PC2 : 4255
WB RGGB Levels PC3 : 512 1024 1024 512
Color Temp PC3 : 4255
WB RGGB Levels Custom : 1201 1133 1133 5999
Color Temp Custom : 2400
User Comment :
Flashpix Version : 0100
Color Space : sRGB
Exif Image Width : 3888
Exif Image Length : 2592
Interoperability Index : R98 - DCF basic file (sRGB)
Interoperability Version : 0100
Focal Plane X Resolution : 4433.295
Focal Plane Y Resolution : 4453.608
Focal Plane Resolution Unit : inches
Custom Rendered : Normal
Exposure Mode : Manual
Scene Capture Type : Standard
Thumbnail Offset : 78336
Thumbnail Length : 1114
Photometric Interpretation : RGB
Samples Per Pixel : 3
Rows Per Strip : 256
Planar Configuration : Chunky
Strip Offsets : 443086
Strip Byte Counts : 7543495
Aperture : 6.3
Drive Mode : Single-frame shooting
Flash : Off
Image Size : 1936x1288
Lens : 18.0 - 55.0mm
Preview Image : (Binary data 68724 bytes, use -b option to extract)
Scale Factor To 35mm Equivalent : 1.6
Shooting Mode : Manual
Shutter Speed : 1
Thumbnail Image : (Binary data 1114 bytes, use -b option to extract)
WB RGGB Levels : 2236 1024 1024 1507
Blue Balance : 1.47168
Circle Of Confusion : 0.019 mm
Focal Length : 55.0mm (35mm equivalent: 85.9mm)
Hyperfocal Distance : 24.97 m
Lens : 18.0 - 55.0mm (35mm equivalent: 28.1 - 85.9mm)
Light Value : 5.3
Red Balance : 2.183594

Забавно, да, а что ещё можно с EXIF делать? Например, чтобы выцедить из RAW-файла время выдержки, сделать надо вот что:
exiftool -shutterspeed IMG_0383.CR2
Shutter Speed : 1
Для того, чтобы использовать exif-теги, надо запросить список тегов в которые возможна запись. Пишем:
exiftool -listw IMG_0383.CR2

Так, например из кучи тегов мы хотим писать в тег City. Для этого:

$ exiftool -City=Moscow IMG_0383.CR2
1 image files updated
И теперь:

$ exiftool -City IMG_0383.CR2
City : Moscow

Ура, теперь мы в тег City записали, что хотели. Утилита exiftools может не только читать, но и записывать информацию в EXIF-теги. Это может быть полезно и нужно для хранения в RAW-файлах информации о съёмке.


И зачем всё это надо!?
Причины, по которым есть необходимость модифицировать EXIF-данные в RAW-файлах могут быть разные. Вот, например, ув. тов. jetxee хочет в фотографиях хранить геотеги, то есть где фотография была снята.

Мне это потребовалось вот для чего. Результатами моих научных экспериемнтов являются куча RAW-файлов, и в каталоге лежит небольшой файл с условиями эксперимента (что снималось и для чего). Разные не очень технически продвинутые коллеги любят эти файлы копировать и использовать их где-то ещё (типа проверить и посмотреть), а потом говорят: "слушай, вот я тут картинку обработал, и результаты такие и такие - не помнишь, откуда этот файл!?". Хуже дело, если взяли по одному файлу из нескольких разных экспериментов и вот теперь надо разобраться, что откуда взято.

В общем случае экспериментатор при таком вопросе бледнеет и начинает громко говорить плохими словами. Но этого можно не делать: внедрить информацию в сам RAW-файл в какой-нибудь хитрый тэг. Потом так проще отследить файлы.

И теперь, чтобы избавить себя от нервотрёпки, делаем так: находим любой записываемый тег, и пишем туда то, что относится к эксперименту. После этого записываем нужные данные во ВСЕ файлы RAW скопом:
exiftool -City='Moscow Engineering Physics Institute' *.CR2

10 image files updated

С удовлетворением видим:
exiftool -City *.CR2
======== IMG_0383.CR2
City : Moscow Engineering Physics Institute
======== IMG_0384.CR2
City : Moscow Engineering Physics Institute
======== IMG_0385.CR2
City : Moscow Engineering Physics Institute
======== IMG_0386.CR2
City : Moscow Engineering Physics Institute
======== IMG_0387.CR2
City : Moscow Engineering Physics Institute
======== IMG_0388.CR2
City : Moscow Engineering Physics Institute
======== IMG_0389.CR2
City : Moscow Engineering Physics Institute
======== IMG_0390.CR2
City : Moscow Engineering Physics Institute
======== IMG_0391.CR2
City : Moscow Engineering Physics Institute
======== IMG_0392.CR2
City : Moscow Engineering Physics Institute
10 image files read

И всё дела. И уж теперь ваши нерадивые коллеги не введут вас в ступор вопросом: а отуда этот файлик!?

Здесь же, кстати, следует отметить, что EXIF данные можно записывать не только в RAW-файлы, но и в TIFF например. Однако полей для записи в TIFF меньше, хотя их тоже можно использовать.
Читать далее

Luminance HDR: создание HDR в Linux из нескольких кадров



12 коммент.
В этой заметке приводится краткое описание и впечатления по созданию изображений с высоким динамическим диапазоном HDR (High Dynamic Range). Изображения HDR в Linux можно с помощью программы Qtpfsgui, которая теперь называется Luminance HDR.

Небольшой исторический экскурс
Как справедливо отмечают авторы ресурса HDRmania, первое сообщение о процессе компрессии динамического диапазона обычных цифровых изображений, снятых с экспокоррекцией, появилось в 1993 г. А в 1995 году последовало появление соответствующей математической теории.
В 1997 году на конференции SIGGRAPH (Special Interest Group on GRAPHics and Interactive Techniques) Пол Дебевек (Paul Debevec), исследователь из Института Южной Калифорнии, представил метод соединения нескольких изображений, сделанных с разной экспозицией, для формирования единого HDR изображения. С ростом популярности цифровых фотоаппаратов и удобного для использования программного обеспечения термин HDR начал широко применяться для обозначения этого процесса. Более подробный обзор, с указанием на научные статьи, есть у меня на английском.


Cъёмка HDR-изображений
Для того, чтобы получить HDR-изображение, потребуется снять несколько кадров с разным значением экспозиции (или экспокоррекции). Напомню, что экпокорреция это поправка в экспозицию снимка относительно той, которая определена при помощи экспонометра. Для регистрации HDR-изображения:
  1. Устанавливаем камеру на штативе.
  2. Переводим камеру в ручной режим установки экспозиции. Выберите нужное значение диафрагмы для вашего кадра (например, f/8 или меньше, если вам нужна большая глубина резкости) и установите минимальное значение ISO.
  3. Изменяем освещённость в самой яркой части кадра (точечным замером или в режиме Av, чтобы учесть только её) и отмечаем время экспозиции. Сделайте то же самое с самой глубокой тенью в кадре.
  4. Определяем число и величину нужных экспозиций. Для этого возьмите за основу выдержку, измеренную для светлой части. Умножьте это число на 4, чтобы получить следующее значение экспозиции, отличающееся на 2 EV. Умножайте на 4 для получения следующих значений, пока не превысите экспозицию, измеренную для тени. Для большинства кадров вне помещения, не включающих солнце, 3 экспозиций с шагом 2 EV часто достаточно, чтобы покрыть весь динамический диапазон.
Напомню, что сдвиг экспозиции на 1 EV означает изменение количества света, попавшего на фотоматериал, в 2 раза. Для создания HDR-снимка часто достаточно сфотографировать три кадра: с экспокоррекцией -1 EV, 0 EV и +1 EV.


Работа с Luminance HDR в Linux

Трудновыговариваемое название программы Qtpfsgui объясняется самими авторами так: Qt это библиотека Qt4 для отображения графических элементов, pfs - главная внутренняя библиотека, а gui - Graphical User Interface, графический интерфейс пользователя. На такие названия, конечно, хочется попенять авторам - и они таки услышали! Теперь программа называется Luminance HDR. Сайт программы
Luminance HDR всё там же. Новые версии становятся всё удобнее и гламурнее:
From forBlogs


Итак, фотографии сняты и теперь можно приступить к созданию HDR-снимка. Запускаем Luminance HDR в Linux и выбираем все файлы изображений для HDR-фотографии сразу. После этого нас спросят об алгоритме построения HDR снимка. Это показано на рисунке ниже:


После этого будет рассчитано HDR-изображение из указанных снимков. Созданное изображение появится в главном окне программы:


Созданное изображение можно сохранить в один из форматов, поддерживающих HDR:
  1. OpenEXR (расширение: exr )
  2. Radiance RGBE (расширение: hdr)
  3. Tiff: 16bit, 32bit (float) и LogLuv (расширение: tiff)
  4. Raw (различные расширения)
  5. PFS native format (расширение: pfs)
Если же требуется просматривать созданное изображение обычными графическими просмотрщиками, имеет смысл прибегнуть к тональной компрессии снимка и сохранить его в JPEG/TIFF. Тональная компрессия это преобразования тональных значений изображения из более широкого диапазона в более узкий. Например, HDR изображение с динамическим диапазоном 100 000:1 будет преобразовано в изображение с тональными значениями в диапазоне от 0 до 255. Для этого нажимаем на кнопку Tonemap the HDR и выбираем один из методов тональной компрессии. Qtpfsgui содержит 8 алгоритмов тонального отображения, среди которых можно отметить следующие алгоритм Drago и Fattal.

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

Для примера приведу HDR-изображение, которое я снял своей древней как мамонт камерой Casio QV-4000: три фотографии со значениями экпокоррекции -2EV, 0EV и +2EV пересчитаны в изображение с высоким динамическим диапазоном:

После применения тональной компрессии полученное HDR-изображение можно сохранить в форматах JPG или TIFF.

Ссылки
Ответы на часто задаваемые вопросы по HDR можно найти тут (на английском) и здесь, а так же можно посмотреть на образцы фотографий. Скачать Qtpfsgui можно на сайте авторов.
Читать далее

Toshiba Netbook NB-100: маленькое японское чудо



18 коммент.
Надумал купить себе небольшой нетбук, который удобно было бы таскать с собой для разного рода выступлений, лекций и презентаций. Большие мощности там ни к чему, нужно просто крутить PDF-презентации на внешнем мониторе, работать с текстом и время от времени выходить в интернет. И вот, поискав доступные варианты, остановился на Toshiba NB-100 с предустановленной Ubuntu Netbook Remix.


Нетбук сразу из коробки
Первое впечатление - "ой, какой маленький!" И это именно так: нетбук очень мал и компактен, лёгок и изящен. Хитрые японцы сделали клавиатуру как раз такого размера, что ещё чуть-чуть меньше, и работать на ней уже просто невозможно. То есть клавиатура в целом неплоха, но набирать на ней длинные тексты, конечно, утомительно. Работа с такими маленькими кнопкам требует небольшого привыкания, но в целом не смертельно. Маленький тачпад довольно чуток к прикосновениям, отрабатывает нажатия вполне прилично. Динамик расположен внизу экрана, и довольно громкий; наверху экрана есть вебкамера, хотя её 0.3 мегапикселей едва хватает для сколько-нибудь приличной видеоконференции.

Хочется отметить, что вариант процессора Intel Atom в нетбуке от Тошибы с Hyperthreading, что вместе с SATA-винчестером положительно влияют на скорость работы машины: всё работает очень быстро и плавно, что не может не радовать. Маленький 8.9" монитор Тошибы намного ярче моего Asus M5200AE, так что на нём можно работать даже в яркий солнечный день. Глянцевый монитор, хоть мне и не нравится его гламурность и способность отражать всё и вся, очень хороший и яркий, работать за ним приятно.

По умолчанию предустановлена Ubuntu 8.04 с ядром 2.6.24-19lpia, как оно себя называет. При первом запуске в магазине настройка заняла не больше минуты, в то время как рядом сидевшие с Windows Vista ждали первый запуск аж 15 минут. После вопросов о логине\пароле, текущем часовом поясе и прочих мелочах загрузилась Ubuntu с интерфейсом вида "Netbook desktop":


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


Не думаю, что прожжённые КДЕшники будут рады такому названию, но для Убунты оно действительно Классик. Шут с ним, впрочем, с названием - перед нами обычный GNOME на нетбуке:


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

Порадовало то, что Ubuntu сама нашла мою проводную сеть и тут же к ней подключилась по DHCP:



Приятная мелочь, так что теперь можно немного побродить по Интернету с помощью Firefox, который так же имеется в комплекте предустановленного софта. Тут начинаются лёгкие минусы: в Firefox натолкали столько панелей инструментов, что хоть беги - никто не подумал, что экран нетбука всего 1024x600 пикселей, там и так ни черта не видать:


Да, это можно отключить, но зачем же это по умолчанию!?

Идём по софту, который есть прямо из коробки. Имеем OpenOffice 2.4, F-spot, Firefox, Evolution, Stardict - это то, что сразу бросилось в глаза. В общем, софта хватает. Единственное, что поразило - не установленный по умолчанию GiMP. Это для меня большая загадка. Впрочем, используя замечательные репозитории DebianUbuntu это можно быстро преодолеть. К слову сказать, процесс установки софта в Убунте меня очень порадовал: все красиво, понятно, с подсказками и большими глянцевыми кнопками, чтобы не промахнуться. :-) Мои олдскульные замашки с aptitude install от рута здесь не проходят.



И тут начались первые косяки. Задумал поставить программу Planner, которая помогает планировать своё время - однако при установке сразу запустился некий scrollkeeper и отожрал всё процессорное время, при этом отказываясь продолжать установку. Пришлось использовать грубую физическую силу в виде sudo killall и выдирать его оттуда. Мне удалось поставить GIMP, чтобы сделать пару скриншотов, и на этом я удовлетворился.

Побродив по всему этому глянцевому гламуру с весёлыми кнопками, я заскучал по своим любимым приложениям: MC, Yakuake, Kate... К тому же иногда хочется немного покрасноглазить и поработать от root для того, чтобы что-то подогнать под себя в системных настройках. А постоянно писать sudo мне непривычно. И вот я уже готовлю загрузочную флешку с установщиком Debian Lenny для водружения привычной среды обитания на нетбук.


Debian Lenny и Toshiba NB100
Загрузка с флешки имела один забавный момент в моём случае: если у вас в USB-порт воткнуто ещё что-то кроме флешки, загрузиться с флешки не удастся. После вытыкания мыши всё пошло как по маслу: знакомый инсталлятор (ссылка на Установку Дебиан) сам быстро нашёл мою проводную сеть, предложил выбрать интернет-репозиторий, разбить диск и выбрать по желанию пакеты для дальнейшей установки. Вопросов инсталлятор Lenny задаёт ощутимо меньше, чем Etch-евский.

Я разбил весь диск одним куском, файловая система ext3, свопа нет (только swap-file), на что инсталлятор мне попенял (но , предупредив о последствиях, согласился со словами "ты жираф, тебе видней"). Без разговоров был установлен загрузчик Grub и прогрессивная локаль UTF8 (мои старпёрские привычки к Lilo и koi8 не учитывались). Установка прошла быстро и без проблем: даже учитывая моё медленное соединение в 64кБ/сек базовая система развернулась за 30 минут.

Устройства нашлись ядром все - вот вывод lspci для NB-100:
00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA AHCI Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)
02:00.0 Ethernet controller: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)


Дальше было всё ещё скучнее - никаких увлекательных триллеров с погоней, стрельбой и развратными женщинами по настройке Wifi или, скажем, cardreader, не было. Стандартное ядро из Lenny за номером 2.6.26-2 подняло ВСЁ оборудование сразу же и без лишних телодвижений. Мне потребовалось только быстро доставить все нужные мне службы и поставить иксы, которые тут же завелись сразу на widescreen 1024х600. Здесь меня встретила только одна маленькая неприятность, отнявшая у меня минут 10 на гуглёж и решение: совершенно чудовищных размеров шрифты. Решилось довольно быстро:

  1. При старте иксов вручную идём править файл /etc/X11/xinit/xserverrc в котором исправляем строку exec /usr/bin/X -nolisten tcp на строку exec /usr/bin/X -nolisten tcp -dpi 96
  2. Если иксы стартуют автоматически при загрузке машины (а это так скорее всего и будет), всё немножко сложнее. Нужно иксам указать явно, что мы хотим 96dpi на мониторе. Для этого в файле /etc/X11/xorg.conf вписываем
Section "Monitor"
...
DisplaySize AA BB # 96 DPI @ 1280x960
...
EndSection

Заменяем АА и ВВ на числа, посчитанные так: АА=1024 x 25.4 / 96 и BB = 600 x 25.4 / 96 Здесь подставлено моё разрешение экрана нетбука 1024х600. После этого в разделе Device section вписываем параметр:

Option "NoDDC" "true"

Всё, это выставит нормальное разрешение и сделает шрифты на нетбуке приличных размеров. За этот трюк спасибо великолепному Arch Wiki.

После этого процесс настройки пошёл, как и прежде, без сучка и задоринки: установил IceWM и все необходимые приложения. Я был снова поражён скоростью работы системы, особенно винчестера: установка пакетов была просто молниеносной, и я не успевал набирать новые названия пакетов. В целом за полтора часа я установил всё: openoffice 3.1, gimp, cinepaint, inkscape, kate, kile, yakuake, mocp, octave, MATLAB, firefox, opera, samba, cups, alsa, imagemagick...

Немного поигрался с темами для IceWM и нашёл пару тем с маленькими размерами заголовков окон и панелью задач. Вот, например, тема Thin Black для IceWM на фоне нескольких приложений:

Практически - кроме ещё одной маленькой партизанской засады под названием Clone Mode. В переводе это значит, что я хочу гонять презентации не только на своём мониторе, но и на проекторе. Тут я вспомнил уважаемых комментаторов, намекавших на Xrandr в этом вопросе, и решил попробовать, благо xrandr у меня на нетбуке с Debian Lenny версии 1.2. Небольшой гуглёж сразу вывел на решение всех проблем: просто пишем
$ xrandr --output VGA --auto
и тут же получаем желаемый Clone Mode без всяких правок xorg.conf
Тут нам сразу наступает счастье: осталось только запустить OpenOffice Impress и крутить презентации.


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