20090629

Как исправить дату EXIF в фото

Иногда, отфотографировав день-два-три можно обнаружить, что всё это время в камере стояла неправильная дата. Я тут как раз ошибся: на один год (вперёд), 12 часов (a.m./p.m, эх) и один часовой пояс.

Дело поправимое. Поможет exiftool. Чтобы откатить дату на один год и 12+1 (13) часов, поступаем так:
$ exiftool "-DateTimeOriginal-=1:0:0 13:00:00" *.jpg

Смотрим, что получилось, и если что-то не так, то возвращаемся к оригиналам (exiftool их услужливо сохранит):
$ for f in *_original ; do mv $f ${f%_original} ; done

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

Чтобы изменить сразу три временны́х тега (DateTimeOriginal, CreateDate и ModifyDate), можно использовать опцию -AllDates. Например, чтобы сдвинуть время на один час вперёд для всех фоток в папке:
$ exiftool "-AllDates+=1:00" имя_папки

А чтобы сдвинуть на час назад — -AllDates-=1:00.

20090625

Metacity: сочетания клавиш, чтобы прижимать окна к краю

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

Первый экран — терминал во всю стену. Второй экран — браузер на 80% ширины, IM на 20% ширины. Остальные экраны — для остальных приложений (отдельный для Gimp, отдельный для полноэкранного плеера, и т.д.).

Итак, я на практике понял, что в основных рабочих приложениях удобно работать или в полноэкранном режиме, или поместив рядом два приложения. В двух этих случаях, кстати, мозаичность удобна. В остальных случаях, мозаичность иногда даже мешает. Однако для терминала во весь экран никакой мозаичности не нужно. Достаточно нажать F11 в Гноме (аналогичное сочетание клавиши где угодно). Остаётся случай «два окна рядом», одно справа, другое слева. Раз в день разложить так окна руками, конечно, можно.

Однако удобнее, когда есть клавиатурные сочетания. Во-первых, нужна максимизация по горизонтали и особенно по вертикали. Тогда окно сразу займёт всю ширину (или высоту) экрана, а для другого окна рядом останется место. Во-вторых, очень полезны сочетания, позволяющие подвинуть окно к краю экрана. С парой окон на экране и такими сочетаниями можно наслаждаться мозаичностью в любом оконном менеджере. В Openbox такие сочетания легко настраиваются, а вот в конфигураторе для Metacity (Gnome) — команд, чтобы прижать окно к краю, нет.

Так я думал и продолжал передвигать окна ручками. Одно влево, другое вправо. А сегодня узнал, что команды такие в Metacity есть. И сочетания клавиш к ним привязать можно в gconf-editor. Запускаем, идём в /apps/metacity/window_keybinding и там для команд move_to_side_x (где x — n, e, s, w) прописываем сочетания клавиш (строковое значение вида <Shift><Control>Up). Всё сразу работает.

сочетания клавиш для того, чтобы прижимать окна Metacity к краю экрана

С моим настройками я нажимаю Ctrl+Shift+F11, и окно вытягивается на всю высоту экрана. Нажимаю Ctrl+Shift+, и окно прижимается к правому краю. Другое окно вытягиваю и прижимаю к левому краю. На другом экране я запускаю терминал и нажимаю F11 (полный экран). Всё остальное, что собираюсь держать открытым дольше минуты (читалку PDF, плеер, и т.п.) запускаю на других экранах.

Примечание: при более внимательно рассмотрении оказалось, что прижимание окон к краю не только недокументированная, но и весьма глючная возможность в Metacity. Вот такой замечательный WM. В минималистичном Openbox, однако, всё ОК.

Кстати, полноэкранный терминал (без заголовков окон, без полосы прокрутки) — по-моему, ещё и идеальный полноэкранный редактор, то есть такая среда для работы с текстом, в которой ничего не отвлекает. То, что людям такая среда нужна — доказывает обилие специальных полноэкранных редакторов. А ничего специального не нужно: достаточно полноэкранного терминала и vi (или emacs). Вообще, полноэкранный режим чрезвычайно удобен, не только для терминала, но и для некоторых других приложений.

20090611

Debian Lenny на Samsung X22

Мой новый рабочий ноутбук — Samsung X22. Черновой отчёт об установке и настройке Debian здесь (по-английски).

Когда разрешу оставшиеся вопросы, перепишу по-русски и помещу здесь. Пока очень кратко.

WiFi нормально работает после установки firmware-iwlwifi.

Комбинации клавиш Fn+... работают не все. Из коробки работают «кнопка сна» и регулировка громкости. Оказалось, не страшно. Простейший патч к hal-info, починяющий кнопки, разработчикам отправлен.

Видео-драйвер radeon работает, но не летает. Версия в Lenny недостаточно свежая и XVideo не поддерживает. Буду разбираться. fglrx вроде работает.
Дополнение 2009-07-01: fglrx который в Lenny, работает без нареканий, а вот с Xorg из unstable мне завести fglrx не удалось. Зато в Xorg из unstable драйвер radeon — уже 6.12.2. А именно в 6.12 появилась поддержка ускорения EXA и XVideo для чипов серии R6xx. Чтобы заработало, нужно также либо ядро 2.6.30 или новее, либо пересобрать модули radeon.ko и drm.ko для старых ядер. Как это сделать — написано в X.org вики (это минутное дело). Да, если ядро Debian — нужно ещё доустановить пакет firmware-linux (то, что выкинули из дебиановского ядра). И действительно — после этого новый свободный драйвер radeon работает. Видео высокого разрешения играется, по-моему, даже лучше и ровнее, чем с fglrx. 3D, правда, пока в свободном драйвере нет, только в fglrx. В общем, сейчас есть выбор: жить с Xorg из stable и проприетарным fglrx, или с Xorg из unstable и со свободным radeon (видео лучше, нет 3D).


Звук играет и с драйвером из Lenny, но, чтобы заработал микрофон, нужна свежая ALSA и в /etc/modprobe.d/alsa-base пришлось добавить
options snd-hda-intel model=ultra
По нажатию на Fn+Esc машина и с самого начала засыпала хорошо, но после просыпания экран не включался. Установил, что работают:
s2ram -f -a 2
и
pm-suspend --quirk-s3-mode
Соответственно в /usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-samsung.fdi переделал так:
     <!-- this does not work for my SX22S! -->
<match key="system.hardware.product" string_outof="R40/R41;CoronaR">
<merge key="power_management.quirk.vbestate_restore" type="bool">true</merge>
</match>
<!-- I use this one: -->
<match key="system.hardware.product" string="SX22S">
<merge key="power_management.quirk.s3_mode" type="bool">true</merge>
</match>
После этого и спим хорошо, и просыпаемся.

Вебкамера, кардридер (xD/SD/MS) работают отлично. Оптический привод, вроде, тоже. Bluetooth пока не пробовал, а вот ExpressCard и HDMI проверять просто не на чем.